Nuxeo applications come as ready-to-use applications, that you can quickly install and evaluate. However, if you plan to go in production, have several Nuxeo applications on the same machine or do some performance tests, here are some changes of configuration that we recommend to do, especially for advanced testing or before going into production:
The steps given below are given using the Admin tab. They can of course also be done by editing the nuxeo.conf
file manually.
More configuration use cases on the Configuration Examples page.
Moving Configuration, data and log Directories Outside Nuxeo
The configuration of your application is saved in the nuxeo.conf
configuration file, whatever the means you use to configure your application (manual edit, Startup Wizard or Admin tab). It is better, although not mandatory, to store your customized configuration outside the Nuxeo Platform. This way, you will be able to easily upgrade the Nuxeo Platform, keeping your configuration safely apart of Nuxeo directory.
To move the configuration file outside the Nuxeo directory:
- Move the
nuxeo.conf
file from its default location. - After you moved
nuxeo.conf
, you need to define its location as an environment variable.
By default, data
and log
directories are stored inside the Nuxeo tree. To ease backup and upgrades, it is highly recommended to move them outside the Nuxeo tree.
To move the data and log directories:
- In the Admin tab System Information > Setup tab, type the path to the location where you want the directories to be stored (see the table below).
- Click on Save.
- Restart your server.
The
data
andlog
directories are created at the location you typed.
Data and log directories configuration
Field / Property | Description |
---|---|
Data directory
nuxeo.data.dir
|
Data directory (absolute or relative to NUXEO_HOME). It involves all data not being stored in the database.
Linux recommended path: /var/lib/nuxeo/...
|
Log directory
nuxeo.log.dir
|
Log directory (absolute or relative to NUXEO_HOME).
Linux recommended path: /var/log/nuxeo/...
|
Defining Environment Variables
When the server starts, it guesses where the Nuxeo home directory and the Nuxeo configuration file (nuxeo.conf
) are located. If it doesn't find it or if you want to force it to use a specific home directory and/or a specific configuration file, you can define their location as environment variables.
NUXEO_HOME
Here is how Nuxeo home is guessed when the server starts: If NUXEO_HOME
is not set, then the parent directory of the called script (nuxeoctl
) is used.
Setting the Nuxeo home directory as an environment variable is recommended in the following cases:
- if you installed several Nuxeo applications on the same machine (for evaluation or production purpose),
- if you want to use other scripts than the
$NUXEO_HOME/bin/nuxeoctl
script (such as a service in/ect/init.d
).
You must then set NUXEO_HOME=/path/to/nuxeo/
in the system environment variables:
- Windows users must write
"set NUXEO_HOME=..."
or use the control panel interface to define user environment parameters (like it's done for%PATH%
). - Linux and Mac OS X users will write
"export NUXEO_HOME=...
." in~/.bashrc
or~/.profile
.
NUXEO_CONF
You need to set the location of the nuxeo.conf
file as an environment variable if you moved your configuration outside of the Nuxeo directory.
Moving the data and configuration outside the Nuxeo directory is recommended in a production environment because it makes upgrades easier and more secured: Your data and configuration won't risk to be overridden or lost. You must then set NUXEO_CONF=/path/to/nuxeo.conf
in the system environment variables.
Windows Specific Case
Under Windows, the location of the nuxeo.conf
is defined by that order of priority (i.e. first one of those found is used):
- Registry key
HKEY_LOCAL_MACHINE\SOFTWARE\%PRODNAME%\ConfigFile
with%PRODNAME%
equals to "Nuxeo" (or in older versions, "Nuxeo CAP", "Nuxeo DM", "Nuxeo DAM", ...), - Environment variable
NUXEO_CONF
, "nuxeo.conf"
file in the working directory,"nuxeo.conf"
file on the Desktop,"nuxeo.conf"
file in the same location asnuxeoctl.bat
.
Changing the Default Embedded Database
The Nuxeo Platform provides a default embedded database for testing and evaluation purpose, called Derby. However, it is not adapted for a production environment (see the H2 limitations page).
Before going live, you should configure one of the production-safe database supported by the Nuxeo Platform. See the Database section of this documentation.
Enabling e-Mail Alerts
The default Nuxeo Platform email configuration is filled in with neutral values that you need to edit to make the platform work with your mail server. Unless you do that, alerts emails won't be sent to users.
To make alerts available:
- In the Admin tab, click on the Setup tab of System Information section.
Edit and fill in the values of the Email information section (see below for expected parameters).
To enable alerts, filling in the SMTP parameters should be sufficient for most mail server configurations.
- Click the button Save. As indicated on top of the page, you need to restart your server so the new configuration is taken into account.
Email information configuration
Field / Property | Description |
---|---|
Email notifications subject prefix
nuxeo.notification.eMailSubjectPrefix
| Text displayed in the "Object" before the object of the alerts email to help users identify that the emails are coming from the application. Default value is "[Nuxeo]". You can change is to whatever value you like. |
Mail store protocol
mail.store.protocol
| Name of the protocol used to store emails on the server. Default value is "pop3". You may need to change it to "IMAP". |
Mail transport protocol
mail.transport.protocol
| Name of the protocol used to send emails. Default value is "smtp". This should work in most cases. |
Host name for POP3
mail.pop3.host
| Name of the mail server host used to receive and store emails. Default value is "pop3.nosuchhost.nosuchdomain.com". You need to change it. |
Debug mode
mail.debug
| Default value is set to "false". Change it to "true" if you want to have the details of what the server is doing in the logs. |
Host name for SMTP
mail.smtp.host
| Mail server host name for outgoing mails. Default value is "localhost". You need to change it so emails can be sent from the server. |
Port number for SMTP
mail.smtp.port
| Mail server port for outgoing emails. Default value is 25. |
Use authentication for SMTP
mail.smtp.auth
| Indicate if authentication is needed for the mail server to send emails. Default value is "true". You should change it to "false" if no authentication for sending email is required. |
Use STARTTLS for SMTP
mail.smtp.usetls
| Indicate if STARTTLS is needed for the mail server. Default value is "false". You should change it to "true" if your SMTP requires STARTTLS |
SMTP username
mail.smtp.username
| Type the username that will be used if you set the authentication for SMTP parameter to "true". |
SMTP password
mail.smtp.password
| Type the password that will be used if you set the authentication for SMTP parameter to "true". |
Sender address mail
mail.from
| Email address that will displayed as the sender's address. |