Advanced Features

Starting and Stopping Services in Linux for PHP

When manually starting and stopping services within a Linux for PHP container, one must use the standard init system to do so.

To start the PHP-FPM server:

$ /etc/init.d/php-fpm start

To stop the PHP-FPM server:

$ /etc/init.d/php-fpm stop

To get the status of the PHP-FPM server:

$ /etc/init.d/php-fpm status

These commands apply to all the main services that are included within all Linux for PHP images :

  • Apache : /etc/init.d/httpd [start/stop/status]
  • nginx : /etc/init.d/nginx [start/stop/status]
  • MariaDB (MySQL) : /etc/init.d/mysql [start/stop/status]
  • PostgreSQL : /etc/init.d/postgresql [start/stop/status]
  • OpenLDAP : /etc/init.d/slapd [start/stop/status]
  • Exim Mail : /etc/init.d/exim [start/stop/status]
  • MongoDB : /etc/init.d/mongod [start/stop/status]
  • OpenSSH : /etc/init.d/sshd [start/stop/status]

Note

All configuration files can be found within the /etc directory.

Automating Services in Linux for PHP

When using a Linux for PHP container in detached mode, it is possible to automate services using the lfphp command. If you wish to start a container with only the MariaDB (MySQL) server running, you would enter the following command when invoking the container:

$ docker run -dit asclinux/linuxforphp-8.2-ultimate:7.4-nts bash -c "lfphp --mysql"

The available services are :

  • Apache (--apache)
  • Exim Mail (--exim)
  • OpenLDAP (--ldap)
  • MariaDB/MySQL (--mysql)
  • nginx (--nginx)
  • PostgreSQL (--pgsql)
  • PHP FPM (--phpfpm)

Note

These optional switches can be combined and that the default behavior of the lfphp command is to start all services when no options are given.

Note

Linux for PHP allows you to automate optional services, by creating the appropriate runit script in the /etc/sv/[name_of_service] folder, symlinking it to the /services/[name_of_service] folder, and invoking runall as the container’s main command.

Note

It is possible to get up to date help in using this command by entering the command lfphp --help or lfphp -h.

Package Installation Using the lfphp-get Command

Any Linux for PHP container makes it possible to install optional services from within the container by using the lfphp-get command. To install an additional service, simply enter the following command on the container’s CLI:

$ lfphp-get [options] name_of_service_to_install

Note

The lfphp-get command allows to compile some packages from source, by adding the --compile option to the command.

To get a complete and up to date list of available services, please use the --list option:

$ lfphp-get --list

To use the latest version of the lfphp, lfphp-get, and lfphp-compile utilities, please invoke the lfphp-get command with the --self-update option:

$ lfphp-get --self-update

Note

It is possible to get up to date help in using this command by entering the command lfphp-get --help or lfphp-get -h.