Configuring

Having installed the FIT Server successfully, you need to generate the basic configuration files (to be found in /opt/sevenval/fit14/conf) for FIT, PHP and Apache:

$ /opt/sevenval/fit14/bin/fitadmin config generate

Now start the FastCGI process manager along with the Apache Web server:

$ service fit14phpfpm start
$ service fit14apache start

Check your installation with

$ /opt/sevenval/fit14/bin/fitadmin config check

All tests should return OK.

Congratulations – the FIT Server is now up and running!

If you want to set up a test system with only a single server, the installation is now complete.

To set up a cluster consisting of several servers for production operation, repeat the steps for every server. You will also have to synchronize the state directory /var/lib/fit14 and global files in /opt/sevenval/fit14/conf on all members of the cluster.

Configuring logfile rotation

To ensure that the logfiles written by the FIT Server do not grow without bounds, logrotate or another mechanism should be configured to rename, compress and finally remove the logfiles. FIT supplies an example configuration file conf/fit14logrotate.conf.template that can be installed in /etc/logrotate.d and adjusted to your specific requirements. You should verify proper installation using logrotate -v.

logrotate may silently ignore configuration files, some configuration sections or logfiles if the files themselves or the directories that contain them have inappropriate permissions. Therefore, the template will not work as-is if FIT_USER is set to root.

Configuring Cache management

Every 20 minutes, a cron job removes expired entries from the disk based cache in /var/cache/fit14. Its behavior can be configured in the file conf/cacheclean.conf.

Set CACHE_MAX_AGE to the number of hours after which files will be considered expired. If CACHE_DISK_MIN_FREE_PERCENT is set, no clean up will be performed, as long as the configured percentage of disk space and inodes in /var/cache/fit14 are available.

Configuring PHP-FPM

The PHP FastCGI Process Manager (PHP-FPM) has its own configuration files which control the behavior of the process manager. This includes, for example, the number of processes to start, log files for accesses and errors and the IP address or socket that PHP-FPM uses to communicate with the Apache Web server.

You should not change the main configuration file conf/php-fpm.conf, as it will be overwritten when updating the software. Instead, you should customize the PHP-FPM configuration exclusively via the .conf files in the directory conf/fpm.d/. Always start your configuration files with the appropriate section mark [global] or [fit].

You should copy the file conf/fpm.d/fpmlimits.conf.example to conf/fpm.d/fpmlimits.conf and at least adjust the maximum number of PHP-FPM processes to be started (pm.max_children) so that the maximum number of PHP-FPM and Apache processes together cannot consume all the RAM available. Consider 80 MB as a reference value for the size of a PHP-FPM process. In any case, check this value during operation with ps or top and adjust it if necessary.

Moreover, pm.max_children should be adapted to the performance of the processor cores. The execution of a FIT request usually involves loading data from a source server. While waiting for the response, the PHP-FPM process does not use the CPU. Depending on the average waiting time, we recommend setting the number of PHP-FPM processes higher than the number of CPU cores. For example, at a 3:1 ratio of waiting time to CPU time, the suggested lower limit for pm.max_children is around four times the number of cores.

Restart the running PHP-FPM processes for the changes to the configuration files to take effect:

$ service fit14phpfpm reload

Configuring PHP

For PHP settings that affect both the command line interface and PHP-FPM, see the conf/php.ini and the files under conf/php.ini.d/. You should not modify the supplied files as they may get overwritten. Instead, create your own .ini files in conf/php.ini.d/.

Configuring Apache

Please refer to the documentation on the Apache Web server configuration.