System Properties

Table of Contents

Properties

Start your application server with the system property"system.properties.set" set to true to load the external file calledsystem.properties. This is given as a convenient way to ensure all propertiesare set for deployment. When the server starts, the portal will loadsystem.properties and then system-ext.properties.

Start your application server with the system property"system.properties.set.override" set to true if the properties ofsystem.properties override all similar command line properties. If set tofalse, the properties of system.properties will be set if and only if thoseproperties are not currently set.

Some application servers require you to set the "file.encoding" and"user.timezone" on startup regardless of system.properties because theapplication server reads these properties before system.properties is everloaded.


Top of Page

Axis


Urls that match the specified pattern will use the SimpleHTTPSender. Urls that do not match the specified pattern will use Axis' default HTTPSender.

Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_UTIL_PERIOD_AXIS_PERIOD__UPPERCASES_IMPLE_UPPERCASEH__UPPERCASET__UPPERCASET__UPPERCASEP__UPPERCASES_ENDER_PERIOD_REGEXP_PERIOD_PATTERN

Defaults:

    com.liferay.util.axis.SimpleHTTPSender.regexp.pattern=.*mappoint\.net.*


Top of Page

CXF


Set CXF logger class.

Env: SYSTEM_LIFERAY_ORG_PERIOD_APACHE_PERIOD_CXF_PERIOD__UPPERCASEL_OGGER

Defaults:

    org.apache.cxf.Logger=com.liferay.portal.remote.jaxrs.whiteboard.internal.log.LiferayCXFLogger


Top of Page

Cookie


HTTP only cookies are not supposed to be exposed to client-side scripting code, and may therefore help mitigate certain kinds of cross-site scripting attacks. Input a list of comma delimited cookie names that are not HTTP only.

Env: SYSTEM_LIFERAY_COOKIE_PERIOD_HTTP_PERIOD_ONLY_PERIOD_NAMES_PERIOD_EXCLUDES

Defaults:

    cookie.http.only.names.excludes=


Top of Page

Ehcache


Set this to true to skip the update check.

Env: SYSTEM_LIFERAY_NET_PERIOD_SF_PERIOD_EHCACHE_PERIOD_SKIP_UPPERCASEU_PDATE_UPPERCASEC_HECK

Defaults:

    net.sf.ehcache.skipUpdateCheck=true


Top of Page

Encryptor


Set the security provider class.

Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_UTIL_PERIOD__UPPERCASEE_NCRYPTOR_PERIOD_PROVIDER_PERIOD_CLASS

Defaults:

    com.liferay.util.Encryptor.provider.class=com.sun.crypto.provider.SunJCE


Top of Page

HTTP


See portal.properties for more HTTP settings.


Set the location of the HTTP proxy that the portal will use to fetch external content.

Set http.nonProxyHosts for hosts that will not be proxied. This is useful for proxied environments where you need direct access to internal servers. This should follow the same semantics as the java.net package.

Env: SYSTEM_LIFERAY_HTTP_PERIOD_NON_UPPERCASEP_ROXY_UPPERCASEH_OSTS Env: SYSTEM_LIFERAY_HTTP_PERIOD_PROXY_UPPERCASEH_OST Env: SYSTEM_LIFERAY_HTTP_PERIOD_PROXY_UPPERCASEP_ORT

Examples:

    http.proxyHost=192.168.0.200
    http.proxyPort=4480
    http.nonProxyHosts=192.168.0.250


Top of Page

HTTP Header Response


See portal.properties for more HTTP Header Response settings.


Set this to true for the portal to send the "X-Content-Type-Options: nosniff" HTTP header to protect against MIME sniffing. Custom URLs can specified in the property "http.header.secure.x.content.type.options.urls.excludes" that allow for unhindered MIME sniffing.

Env: SYSTEM_LIFERAY_HTTP_PERIOD_HEADER_PERIOD_SECURE_PERIOD_X_PERIOD_CONTENT_PERIOD_TYPE_PERIOD_OPTIONS

Defaults:

    http.header.secure.x.content.type.options=true


Set a list of comma delimited URL prefixes that allow for unhindered MIME sniffing. This property is only used when the property "http.header.secure.x.content.type.options" is set to true.

Env: SYSTEM_LIFERAY_HTTP_PERIOD_HEADER_PERIOD_SECURE_PERIOD_X_PERIOD_CONTENT_PERIOD_TYPE_PERIOD_OPTIONS_PERIOD_URLS_PERIOD_EXCLUDES

Examples:

    http.header.secure.x.content.type.options.urls.excludes=


Set this to true for the portal to send the "X-Frame-Options: DENY" HTTP header to protect against clickjacking.

Custom HTTP header values instead of "DENY" can be specified per URL via the properties "http.header.secure.x.frame.options.*".

Env: SYSTEM_LIFERAY_HTTP_PERIOD_HEADER_PERIOD_SECURE_PERIOD_X_PERIOD_FRAME_PERIOD_OPTIONS

Defaults:

    http.header.secure.x.frame.options=true


If the property "http.header.secure.x.frame.options" is set to true, then the portal will iterate through the properties "http.header.secure.x.frame.options.*" where the wildcard "*" is replaced with an int number starting from 0 and ending with 255 to find a pipe (|) delimited URL and HTTP header value pair (e.g. "/|SAMEORIGIN").

Upon finding a matched a URL, the portal will use the custom HTTP header value instead of the "DENY" value.

By default, URLs that start with "/" will use a custom HTTP header value of "SAMEORIGIN". Specify another URL and HTTP header value with a number smaller than 255 to intercept this default behavior.

Env: SYSTEM_LIFERAY_HTTP_PERIOD_HEADER_PERIOD_SECURE_PERIOD_X_PERIOD_FRAME_PERIOD_OPTIONS_PERIOD__NUMBER2__NUMBER5__NUMBER5_

Defaults:

    http.header.secure.x.frame.options.255=/|SAMEORIGIN


Set this to nonempty value for the portal to send the "X-XSS-Protection" HTTP header to block cross-site scripting attacks. Possible nonempty values are "0", "1" and "1; mode=block"

Env: SYSTEM_LIFERAY_HTTP_PERIOD_HEADER_PERIOD_SECURE_PERIOD_X_PERIOD_XSS_PERIOD_PROTECTION

Defaults:

    http.header.secure.x.xss.protection=1


Top of Page

HTTPS


Input a list of comma delimited HTTPS cipher suites allowed for HTTPS connection to a 3rd party server.

Env: SYSTEM_LIFERAY_HTTPS_PERIOD_CIPHER_UPPERCASES_UITES

Examples:

    https.cipherSuites=


Input a list of comma delimited protocols allowed for HTTPS connection to a 3rd party server. For example -Dhttps.protocols=TLSv1.1,TLSv1.2 disables outbound TLS 1.0 connections.

Env: SYSTEM_LIFERAY_HTTPS_PERIOD_PROTOCOLS

Examples:

    https.protocols=


Top of Page

IO Netty


Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_CACHE_UPPERCASET_RIM_UPPERCASEI_NTERVAL Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_MAX_UPPERCASEC_ACHED_UPPERCASEB_UFFER_UPPERCASEC_APACITY Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_MAX_UPPERCASEO_RDER Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_NORMAL_UPPERCASEC_ACHE_UPPERCASES_IZE Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_NUM_UPPERCASED_IRECT_UPPERCASEA_RENAS Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_NUM_UPPERCASEH_EAP_UPPERCASEA_RENAS Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_PAGE_UPPERCASES_IZE Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_SMALL_UPPERCASEC_ACHE_UPPERCASES_IZE Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_TINY_UPPERCASEC_ACHE_UPPERCASES_IZE Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_ALLOCATOR_PERIOD_TYPE Env: SYSTEM_LIFERAY_IO_PERIOD_NETTY_PERIOD_THREAD_UPPERCASEL_OCAL_UPPERCASED_IRECT_UPPERCASEB_UFFER_UPPERCASES_IZE

Defaults:

    io.netty.allocator.type=pooled

Examples:

    io.netty.allocator.cacheTrimInterval=
    io.netty.allocator.maxCachedBufferCapacity=
    io.netty.allocator.maxOrder=
    io.netty.allocator.normalCacheSize=
    io.netty.allocator.numDirectArenas=
    io.netty.allocator.numHeapArenas=
    io.netty.allocator.pageSize=
    io.netty.allocator.smallCacheSize=
    io.netty.allocator.tinyCacheSize=
    io.netty.threadLocalDirectBufferSize=


Top of Page

Java


The file encoding must be set to UTF-8 in order for the internationalization to work correctly.

Env: SYSTEM_LIFERAY_FILE_PERIOD_ENCODING

Defaults:

    file.encoding=UTF-8


Java uses the underlying operating system to generate images. If you are using Unix and do not start the portal in a X Windows session, then Java will not know how to generate images and you'll get lots of nasty exceptions. Setting this property to true will fix that. Sometimes this property cannot be set dynamically when the server starts and you'll need to edit your start script to include this as a system property.

Env: SYSTEM_LIFERAY_JAVA_PERIOD_AWT_PERIOD_HEADLESS

Defaults:

    java.awt.headless=true


Set the default locale used by Liferay. This locale is no longer set at the VM level. See LEP-2584.

Env: SYSTEM_LIFERAY_USER_PERIOD_COUNTRY Env: SYSTEM_LIFERAY_USER_PERIOD_LANGUAGE

Defaults:

    user.country=US
    user.language=en


Top of Page

Java Advanced Imaging


JAI relies upon native acceleration to improve performance. To use native acceleration, you must install the appropriate native libraries and set this property to false. Setting this to false without installing the proper native libraries will result in warnings.

Env: SYSTEM_LIFERAY_COM_PERIOD_SUN_PERIOD_MEDIA_PERIOD_JAI_PERIOD_DISABLE_UPPERCASEM_EDIA_UPPERCASEL_IB

Defaults:

    com.sun.media.jai.disableMediaLib=true


Top of Page

Java Architecture for XML Binding


Configure the JAXB context factory explicitly to avoid using the one detected by context. This will force all the version of Java to use the same implementation instead of different implementations for different versions of Java. Set this property to a blank value to use the one detected automatically.


Env: SYSTEM_LIFERAY_JAVAX_PERIOD_XML_PERIOD_BIND_PERIOD__UPPERCASEJ__UPPERCASEA__UPPERCASEX__UPPERCASEB__UPPERCASEC_ONTEXT_UPPERCASEF_ACTORY

Defaults:

    javax.xml.bind.JAXBContextFactory=com.sun.xml.bind.v2.ContextFactory


Top of Page

JRuby


Set this to true to enable native extensions (like JNA for non-Java APIs).

Env: SYSTEM_LIFERAY_JRUBY_PERIOD_NATIVE_PERIOD_ENABLED

Defaults:

    jruby.native.enabled=false


Top of Page

Log Sanitizer


Set this to true to enable the log sanitizer, which is a safe logging mechanism that avoids directly embedding user input in log files. The log sanitizer automatically sanitizes log messages by replacing all unexpected characters from user supplied data with safe replacement characters.

See the "log.sanitizer.escape.html.enabled" property for encoding HTML entities in log messages.

Env: SYSTEM_LIFERAY_LOG_PERIOD_SANITIZER_PERIOD_ENABLED

Defaults:

    log.sanitizer.enabled=true


Set whether to encode HTML data in log messages.

Env: SYSTEM_LIFERAY_LOG_PERIOD_SANITIZER_PERIOD_ESCAPE_PERIOD_HTML_PERIOD_ENABLED

Defaults:

    log.sanitizer.escape.html.enabled=false


Specify the code point of the character to replace forbidden characters. The underscore character, which has code point 95, is the replacement character by default.

Env: SYSTEM_LIFERAY_LOG_PERIOD_SANITIZER_PERIOD_REPLACEMENT_PERIOD_CHARACTER

Defaults:

    log.sanitizer.replacement.character=95


Specify characters to allow in log messages. The sanitizer operates on characters with code points less than 128. Characters with code points greater than 128 are always allowed. Please see ASCII tables to look up character code points.

This default whitelist allows characters with code points 9 (tab), 32 (space), and all characters with code points greater than 32 except 127 (delete).

Env: SYSTEM_LIFERAY_LOG_PERIOD_SANITIZER_PERIOD_WHITELIST_PERIOD_CHARACTERS

Defaults:

    log.sanitizer.whitelist.characters=9,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126


Top of Page

Logging


Set any logger that implements org.apache.commons.logging.Log.

Env: SYSTEM_LIFERAY_ORG_PERIOD_APACHE_PERIOD_COMMONS_PERIOD_LOGGING_PERIOD__UPPERCASEL_OG

Examples:

    org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger


Set this to true if Log4j complains that it was not properly configured.

Env: SYSTEM_LIFERAY_LOG_NUMBER4_J_PERIOD_CONFIGURE_PERIOD_ON_PERIOD_STARTUP

Defaults:

    log4j.configure.on.startup=true


Top of Page

Lucene


Set a timeout to avoid lock errors.

Env: SYSTEM_LIFERAY_ORG_PERIOD_APACHE_PERIOD_LUCENE_PERIOD_WRITE_UPPERCASEL_OCK_UPPERCASET_IMEOUT

Examples:

    org.apache.lucene.writeLockTimeout=30000


Top of Page

Quartz


Make threads daemon so the JVM exits cleanly.

Env: SYSTEM_LIFERAY_ORG_PERIOD_QUARTZ_PERIOD_THREAD_UPPERCASEP_OOL_PERIOD_MAKE_UPPERCASET_HREADS_UPPERCASED_AEMONS

Defaults:

    org.quartz.threadPool.makeThreadsDaemons=true


Turn off the update check for performance/security.

Env: SYSTEM_LIFERAY_ORG_PERIOD_TERRACOTTA_PERIOD_QUARTZ_PERIOD_SKIP_UPPERCASEU_PDATE_UPPERCASEC_HECK

Defaults:

    org.terracotta.quartz.skipUpdateCheck=true


Top of Page

Security


Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_PORTAL_PERIOD_KERNEL_PERIOD_IO_PERIOD__UPPERCASEP_ROTECTED_UPPERCASEO_BJECT_UPPERCASEI_NPUT_UPPERCASES_TREAM_PERIOD_RESTRICTED_PERIOD_CLASS_PERIOD_NAMES

Defaults:

    com.liferay.portal.kernel.io.ProtectedObjectInputStream.restricted.class.names=\
        com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl,\
        org.apache.commons.collections.functors.CloneTransformer,\
        org.apache.commons.collections.functors.ForClosure,\
        org.apache.commons.collections.functors.InstantiateFactory,\
        org.apache.commons.collections.functors.InstantiateTransformer,\
        org.apache.commons.collections.functors.InvokerTransformer,\
        org.apache.commons.collections.functors.PrototypeFactory$PrototypeCloneFactory,\
        org.apache.commons.collections.functors.PrototypeFactory$PrototypeSerializationFactory,\
        org.apache.commons.collections.functors.WhileClosure,\
        org.apache.commons.collections4.functors.InvokerTransformer,\
        org.codehaus.groovy.runtime.ConvertedClosure,\
        org.codehaus.groovy.runtime.MethodClosure,\
        org.springframework.beans.factory.ObjectFactory,\
        org.springframework.core.SerializableTypeWrapper$MethodInvokeTypeProvider,\
        sun.reflect.annotation.AnnotationInvocationHandler


Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_PORTAL_PERIOD_KERNEL_PERIOD_SECURITY_PERIOD__UPPERCASES_ECURE_UPPERCASER_ANDOM_UPPERCASEU_TIL_PERIOD_BUFFER_PERIOD_SIZE

Defaults:

    com.liferay.portal.kernel.security.SecureRandomUtil.buffer.size=65536


Top of Page

Service Proxy Factory


Set the service proxy factory timeout in milliseconds.

Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_PORTAL_PERIOD_KERNEL_PERIOD_UTIL_PERIOD__UPPERCASES_ERVICE_UPPERCASEP_ROXY_UPPERCASEF_ACTORY_PERIOD_TIMEOUT

Defaults:

    com.liferay.portal.kernel.util.ServiceProxyFactory.timeout=60000


Top of Page

Session Parameters


Encrypt session parameters so that browsers cannot remember them.

Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_UTIL_PERIOD_SERVLET_PERIOD__UPPERCASES_ESSION_UPPERCASEP_ARAMETERS

Defaults:

    com.liferay.util.servlet.SessionParameters=false


Top of Page

Spring


Set this to true to ignore Spring BeanInfo classes.

Env: SYSTEM_LIFERAY_SPRING_PERIOD_BEANINFO_PERIOD_IGNORE

Defaults:

    spring.beaninfo.ignore=true


Top of Page

Static LPKGs


Env: SYSTEM_LIFERAY_STATIC_PERIOD_LPKG_PERIOD_BUNDLE_PERIOD_SYMBOLIC_PERIOD_NAMES

Defaults:

    static.lpkg.bundle.symbolic.names=\
        Static - API,\
        Static - Impl


Top of Page

Stream


Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_PORTAL_PERIOD_KERNEL_PERIOD_UTIL_PERIOD__UPPERCASES_TREAM_UPPERCASEU_TIL_PERIOD_BUFFER_PERIOD_SIZE

Defaults:

    com.liferay.portal.kernel.util.StreamUtil.buffer.size=8192


Set this to true when doing large file transfers on a 32-bit JVM to prevent running out of memory. This worsens performance but increases stability for older environments.

Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_PORTAL_PERIOD_KERNEL_PERIOD_UTIL_PERIOD__UPPERCASES_TREAM_UPPERCASEU_TIL_PERIOD_FORCE_PERIOD_TIO

Defaults:

    com.liferay.portal.kernel.util.StreamUtil.force.tio=false


Top of Page

String Bundler


Set this property to tell StringBundler when to use a ThreadLocal buffer to build the output its String. The buffer is referred by SoftReference, so it will be forcibly removed by the GC when memory is nearly exhausted. It should be set to a high value so that the accessing to ThreadLocal is balanced by the savings in garbage collection. Setting it to too low of a value may actually do more harm than good.

Set a value larger than 0 to enable this feature when using StringBundler with an output length longer than the specified value. A reasonable value is 8192 (8 kb) or 16384 (16 kb). The best value depends on how the portal is used.

Env: SYSTEM_LIFERAY_COM_PERIOD_LIFERAY_PERIOD_PORTAL_PERIOD_KERNEL_PERIOD_UTIL_PERIOD__UPPERCASES_TRING_UPPERCASEB_UNDLER_PERIOD_THREADLOCAL_PERIOD_BUFFER_PERIOD_LIMIT

Defaults:

    com.liferay.portal.kernel.util.StringBundler.threadlocal.buffer.limit=0


Top of Page

Tika


Set the location of the Tika configuration.

Env: SYSTEM_LIFERAY_TIKA_PERIOD_CONFIG

Defaults:

    tika.config=tika/tika.xml


Top of Page

Xerces


Configure the default parser to avoid looking up an XMLParserConfiguration from the class path each time a SAXParser object is created. Set this property to a blank value to revert to the default behavior.

See https://xerces.apache.org/xerces2-j/faq-xni.html for more information.

Env: SYSTEM_LIFERAY_ORG_PERIOD_APACHE_PERIOD_XERCES_PERIOD_XNI_PERIOD_PARSER_PERIOD__UPPERCASEX__UPPERCASEM__UPPERCASEL__UPPERCASEP_ARSER_UPPERCASEC_ONFIGURATION

Defaults:

    org.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeAwareParserConfiguration