<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Juli</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Juli"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Juli"/>
	<updated>2026-04-26T15:51:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Nginx_with_PHP&amp;diff=26824</id>
		<title>Nginx with PHP</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Nginx_with_PHP&amp;diff=26824"/>
		<updated>2024-06-03T07:56:29Z</updated>

		<summary type="html">&lt;p&gt;Juli: Fixed reference to php 7 in php 8.2 section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|PHP5 was removed in 3.9. PHP7 is not in 3.16 or later repositories.}}&lt;br /&gt;
{{:Nginx}}&lt;br /&gt;
&lt;br /&gt;
== PHP8.2 Installation ==&lt;br /&gt;
PHP packages is available in the Alpine Linux repositories. To install php8.2 with modules run:&lt;br /&gt;
{{cmd|apk add php82-fpm php82-soap php82-openssl php82-gmp php82-pdo_odbc php82-json php82-dom php82-pdo php82-zip php82-mysqli php82-sqlite3 php82-apcu php82-pdo_pgsql php82-bcmath php82-gd php82-odbc php82-pdo_mysql php82-pdo_sqlite php82-gettext php82-xmlreader php82-bz2 php82-iconv php82-pdo_dblib php82-curl php82-ctype}}&lt;br /&gt;
&lt;br /&gt;
Perhaps you do not need all these PHP modules. Install modules according to your needs.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of PHP8.2 ===&lt;br /&gt;
&lt;br /&gt;
Defining ENV variables which will be used in configuration. You can do this e.g. in [https://stackoverflow.com/questions/35325856/where-to-set-system-default-environment-variables-in-alpine-linux /etc/profile.d/php82.sh].&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;PHP_FPM_USER=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_GROUP=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_LISTEN_MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
PHP_MEMORY_LIMIT=&amp;quot;512M&amp;quot;&lt;br /&gt;
PHP_MAX_UPLOAD=&amp;quot;50M&amp;quot;&lt;br /&gt;
PHP_MAX_FILE_UPLOAD=&amp;quot;200&amp;quot;&lt;br /&gt;
PHP_MAX_POST=&amp;quot;100M&amp;quot;&lt;br /&gt;
PHP_DISPLAY_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_DISPLAY_STARTUP_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_ERROR_REPORTING=&amp;quot;E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR&amp;quot;&lt;br /&gt;
PHP_CGI_FIX_PATHINFO=0&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Modify variables according to your needs.&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file www.conf&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|;listen.owner\s*=\s*nobody|listen.owner = ${PHP_FPM_USER}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.group\s*=\s*nobody|listen.group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.mode\s*=\s*0660|listen.mode = ${PHP_FPM_LISTEN_MODE}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|user\s*=\s*nobody|user = ${PHP_FPM_USER}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|group\s*=\s*nobody|group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;log_level\s*=\s*notice|log_level = notice|g&amp;quot; /etc/php82/php-fpm.d/www.conf #uncommenting line &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php.ini&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|display_errors\s*=\s*Off|display_errors = ${PHP_DISPLAY_ERRORS}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|display_startup_errors\s*=\s*Off|display_startup_errors = ${PHP_DISPLAY_STARTUP_ERRORS}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|error_reporting\s*=\s*E_ALL &amp;amp; ~E_DEPRECATED &amp;amp; ~E_STRICT|error_reporting = ${PHP_ERROR_REPORTING}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*upload_max_filesize =.*|upload_max_filesize = ${PHP_MAX_UPLOAD}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= ${PHP_CGI_FIX_PATHINFO}|i&amp;quot; /etc/php82/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To add PHP support to Nginx we should modify Nginx configuration file:&lt;br /&gt;
{{cmd|vi /etc/nginx/nginx.conf}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user                            www;&lt;br /&gt;
worker_processes                1;&lt;br /&gt;
&lt;br /&gt;
error_log                       /var/log/nginx/error.log warn;&lt;br /&gt;
pid                             /var/run/nginx/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections          1024;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include                     /etc/nginx/mime.types;&lt;br /&gt;
    default_type                application/octet-stream;&lt;br /&gt;
    sendfile                    on;&lt;br /&gt;
    access_log                  /var/log/nginx/access.log;&lt;br /&gt;
    keepalive_timeout           3000;&lt;br /&gt;
    server {&lt;br /&gt;
        listen                  80;&lt;br /&gt;
        root                    /www;&lt;br /&gt;
        index                   index.php index.html index.htm;&lt;br /&gt;
        server_name             localhost;&lt;br /&gt;
        client_max_body_size    32m;&lt;br /&gt;
        error_page              500 502 503 504  /50x.html;&lt;br /&gt;
        location = /50x.html {&lt;br /&gt;
              root              /var/lib/nginx/html;&lt;br /&gt;
        }&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
              fastcgi_pass      127.0.0.1:9000;&lt;br /&gt;
              fastcgi_index     index.php;&lt;br /&gt;
              include           fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our configuration we have line: &amp;quot;fastcgi_pass   127.0.0.1:9000&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
It should be corresponing to the line &amp;quot;listen = 127.0.0.1:9000&amp;quot; in PHP configuration file /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
=== Timezone ===&lt;br /&gt;
For configuring Timezone you may use tzdata package which can be installed by running:&lt;br /&gt;
{{cmd|apk add tzdata}}&lt;br /&gt;
&lt;br /&gt;
Timezone configuration&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;TIMEZONE=&amp;quot;Europe/Helsinki&amp;quot;&lt;br /&gt;
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime&lt;br /&gt;
echo &amp;quot;${TIMEZONE}&amp;quot; &amp;gt; /etc/timezone&lt;br /&gt;
sed -i &amp;quot;s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i&amp;quot; /etc/php82/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Sample PHP page ===&lt;br /&gt;
{{cmd|vi /www/phpinfo.php}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting Nginx with PHP82 ===&lt;br /&gt;
Nginx should be restarted because we have changed it&#039;s configuration. Restart it by running:&lt;br /&gt;
{{cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
After the installation PHP is not running. Start it by running:&lt;br /&gt;
{{cmd|rc-service php-fpm82 start}}&lt;br /&gt;
&lt;br /&gt;
=== Runlevel ===&lt;br /&gt;
Normally you want to start the web server when the system is launching. This is done by adding Nginx and PHP to the needed runlevel.&lt;br /&gt;
{{cmd|rc-update add nginx default&lt;br /&gt;
rc-update add php-fpm82 default}}&lt;br /&gt;
&lt;br /&gt;
Now they should start automatically when you boot your machine next time. To test that run:&lt;br /&gt;
{{cmd|reboot}}&lt;br /&gt;
&lt;br /&gt;
To make sure that Nginx and PHP are started run command:&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;ps aux | grep &#039;nginx\|php-fpm&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You should get something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  263 root       0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf&lt;br /&gt;
  264 www        0:00 nginx: worker process&lt;br /&gt;
  291 root       0:00 php-fpm: master process (/etc/php82/php-fpm.conf)&lt;br /&gt;
  302 www        0:00 php-fpm: pool www&lt;br /&gt;
  303 www        0:00 php-fpm: pool www&lt;br /&gt;
  310 root       0:00 grep nginx\|php-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Nginx with PHP ===&lt;br /&gt;
This section is assuming that nginx is running and sample html page &amp;quot;/www/phpinfo.php&amp;quot; is created. Launch a web browser and point it to &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://X.X.X.X/phpinfo.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X.X.X.X is IP address of your web server&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything was set up correctly, you should see information about your web server.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If PHP is not started check php-fpm log file&lt;br /&gt;
{{cmd|less /var/log/php-fpm.log}}&lt;br /&gt;
&lt;br /&gt;
Make sure that configuration files do not contain errors&lt;br /&gt;
{{cmd|vi /etc/php82/php-fpm.conf&lt;br /&gt;
vi /etc/php82/php.ini}}&lt;br /&gt;
&lt;br /&gt;
== PHP7 Installation ==&lt;br /&gt;
PHP packages is available in the Alpine Linux repositories. To install php7 with modules run:&lt;br /&gt;
{{cmd|apk add php7-fpm php7-mcrypt php7-soap php7-openssl php7-gmp php7-pdo_odbc php7-json php7-dom php7-pdo php7-zip php7-mysqli php7-sqlite3 php7-apcu php7-pdo_pgsql php7-bcmath php7-gd php7-odbc php7-pdo_mysql php7-pdo_sqlite php7-gettext php7-xmlreader php7-xmlrpc php7-bz2 php7-iconv php7-pdo_dblib php7-curl php7-ctype}}&lt;br /&gt;
&lt;br /&gt;
Perhaps you do not need all these PHP modules. Install modules according to your needs.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of PHP7 ===&lt;br /&gt;
&lt;br /&gt;
Defining ENV variables which will be used in configuration. You can do this e.g. in [https://stackoverflow.com/questions/35325856/where-to-set-system-default-environment-variables-in-alpine-linux /etc/profile.d/php7.sh].&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;PHP_FPM_USER=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_GROUP=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_LISTEN_MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
PHP_MEMORY_LIMIT=&amp;quot;512M&amp;quot;&lt;br /&gt;
PHP_MAX_UPLOAD=&amp;quot;50M&amp;quot;&lt;br /&gt;
PHP_MAX_FILE_UPLOAD=&amp;quot;200&amp;quot;&lt;br /&gt;
PHP_MAX_POST=&amp;quot;100M&amp;quot;&lt;br /&gt;
PHP_DISPLAY_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_DISPLAY_STARTUP_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_ERROR_REPORTING=&amp;quot;E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR&amp;quot;&lt;br /&gt;
PHP_CGI_FIX_PATHINFO=0&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Modify variables according to your needs.&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file www.conf&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|;listen.owner\s*=\s*nobody|listen.owner = ${PHP_FPM_USER}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.group\s*=\s*nobody|listen.group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.mode\s*=\s*0660|listen.mode = ${PHP_FPM_LISTEN_MODE}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|user\s*=\s*nobody|user = ${PHP_FPM_USER}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|group\s*=\s*nobody|group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;log_level\s*=\s*notice|log_level = notice|g&amp;quot; /etc/php7/php-fpm.d/www.conf #uncommenting line &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php.ini&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|display_errors\s*=\s*Off|display_errors = ${PHP_DISPLAY_ERRORS}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|display_startup_errors\s*=\s*Off|display_startup_errors = ${PHP_DISPLAY_STARTUP_ERRORS}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|error_reporting\s*=\s*E_ALL &amp;amp; ~E_DEPRECATED &amp;amp; ~E_STRICT|error_reporting = ${PHP_ERROR_REPORTING}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*upload_max_filesize =.*|upload_max_filesize = ${PHP_MAX_UPLOAD}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= ${PHP_CGI_FIX_PATHINFO}|i&amp;quot; /etc/php7/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To add PHP support to Nginx we should modify Nginx configuration file:&lt;br /&gt;
{{cmd|vi /etc/nginx/nginx.conf}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user                            www;&lt;br /&gt;
worker_processes                1;&lt;br /&gt;
&lt;br /&gt;
error_log                       /var/log/nginx/error.log warn;&lt;br /&gt;
pid                             /var/run/nginx/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections          1024;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include                     /etc/nginx/mime.types;&lt;br /&gt;
    default_type                application/octet-stream;&lt;br /&gt;
    sendfile                    on;&lt;br /&gt;
    access_log                  /var/log/nginx/access.log;&lt;br /&gt;
    keepalive_timeout           3000;&lt;br /&gt;
    server {&lt;br /&gt;
        listen                  80;&lt;br /&gt;
        root                    /www;&lt;br /&gt;
        index                   index.html index.htm index.php;&lt;br /&gt;
        server_name             localhost;&lt;br /&gt;
        client_max_body_size    32m;&lt;br /&gt;
        error_page              500 502 503 504  /50x.html;&lt;br /&gt;
        location = /50x.html {&lt;br /&gt;
              root              /var/lib/nginx/html;&lt;br /&gt;
        }&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
              fastcgi_pass      127.0.0.1:9000;&lt;br /&gt;
              fastcgi_index     index.php;&lt;br /&gt;
              include           fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our configuration we have line: &amp;quot;fastcgi_pass   127.0.0.1:9000&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
It should be corresponing to the line &amp;quot;listen = 127.0.0.1:9000&amp;quot; in PHP configuration file /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
=== Timezone ===&lt;br /&gt;
For configuring Timezone you may use tzdata package which can be installed by running:&lt;br /&gt;
{{cmd|apk add tzdata}}&lt;br /&gt;
&lt;br /&gt;
Timezone configuration&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;TIMEZONE=&amp;quot;Europe/Helsinki&amp;quot;&lt;br /&gt;
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime&lt;br /&gt;
echo &amp;quot;${TIMEZONE}&amp;quot; &amp;gt; /etc/timezone&lt;br /&gt;
sed -i &amp;quot;s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i&amp;quot; /etc/php7/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Sample PHP page ===&lt;br /&gt;
{{cmd|vi /www/phpinfo.php}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting Nginx with PHP7 ===&lt;br /&gt;
Nginx should be restarted because we have changed it&#039;s configuration. Restart it by running:&lt;br /&gt;
{{cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
After the installation PHP is not running. Start it by running:&lt;br /&gt;
{{cmd|rc-service php-fpm7 start}}&lt;br /&gt;
&lt;br /&gt;
=== Runlevel ===&lt;br /&gt;
Normally you want to start the web server when the system is launching. This is done by adding Nginx and PHP to the needed runlevel.&lt;br /&gt;
{{cmd|rc-update add nginx default&lt;br /&gt;
rc-update add php-fpm7 default}}&lt;br /&gt;
&lt;br /&gt;
Now they should start automatically when you boot your machine next time. To test that run:&lt;br /&gt;
{{cmd|reboot}}&lt;br /&gt;
&lt;br /&gt;
To make sure that Nginx and PHP are started run command:&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;ps aux | grep &#039;nginx\|php-fpm&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You should get something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  263 root       0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf&lt;br /&gt;
  264 www        0:00 nginx: worker process&lt;br /&gt;
  291 root       0:00 php-fpm: master process (/etc/php7/php-fpm.conf)&lt;br /&gt;
  302 www        0:00 php-fpm: pool www&lt;br /&gt;
  303 www        0:00 php-fpm: pool www&lt;br /&gt;
  310 root       0:00 grep nginx\|php-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Nginx with PHP ===&lt;br /&gt;
This section is assuming that nginx is running and sample html page &amp;quot;/www/phpinfo.php&amp;quot; is created. Launch a web browser and point it to &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://X.X.X.X/phpinfo.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X.X.X.X is IP address of your web server&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything was set up correctly, you should see information about your web server.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If PHP is not started check php-fpm log file&lt;br /&gt;
{{cmd|less /var/log/php-fpm.log}}&lt;br /&gt;
&lt;br /&gt;
Make sure that configuration files do not contain errors&lt;br /&gt;
{{cmd|vi /etc/php7/php-fpm.conf&lt;br /&gt;
vi /etc/php7/php.ini}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PHP5 Installation ==&lt;br /&gt;
PHP packages is available in the Alpine Linux repositories. To install php5 with modules run:&lt;br /&gt;
{{cmd|apk add php5-fpm php5-mcrypt php5-soap php5-openssl php5-gmp php5-pdo_odbc php5-json php5-dom php5-pdo php5-zip php5-mysql php5-mysqli php5-sqlite3 php5-apcu php5-pdo_pgsql php5-bcmath php5-gd php5-xcache php5-odbc php5-pdo_mysql php5-pdo_sqlite php5-gettext php5-xmlreader php5-xmlrpc php5-bz2 php5-memcache php5-mssql php5-iconv php5-pdo_dblib php5-curl php5-ctype}}&lt;br /&gt;
&lt;br /&gt;
Perhaps you do not need all these PHP modules. Install modules according to your needs.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of PHP5 ===&lt;br /&gt;
&lt;br /&gt;
Defining ENV variables which will be used in configuration. You can do this e.g. in [https://stackoverflow.com/questions/35325856/where-to-set-system-default-environment-variables-in-alpine-linux /etc/profile.d/php5.sh].&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;PHP_FPM_USER=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_GROUP=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_LISTEN_MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
PHP_MEMORY_LIMIT=&amp;quot;512M&amp;quot;&lt;br /&gt;
PHP_MAX_UPLOAD=&amp;quot;50M&amp;quot;&lt;br /&gt;
PHP_MAX_FILE_UPLOAD=&amp;quot;200&amp;quot;&lt;br /&gt;
PHP_MAX_POST=&amp;quot;100M&amp;quot;&lt;br /&gt;
PHP_DISPLAY_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_DISPLAY_STARTUP_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_ERROR_REPORTING=&amp;quot;E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR&amp;quot;&lt;br /&gt;
PHP_CGI_FIX_PATHINFO=0&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Modify variables according to your needs.&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php-fpm.conf&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|;listen.owner\s*=\s*nobody|listen.owner = ${PHP_FPM_USER}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.group\s*=\s*nobody|listen.group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.mode\s*=\s*0660|listen.mode = ${PHP_FPM_LISTEN_MODE}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|user\s*=\s*nobody|user = ${PHP_FPM_USER}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|group\s*=\s*nobody|group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|;log_level\s*=\s*notice|log_level = notice|g&amp;quot; /etc/php5/php-fpm.conf #uncommenting line &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php.ini&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|display_errors\s*=\s*Off|display_errors = ${PHP_DISPLAY_ERRORS}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|display_startup_errors\s*=\s*Off|display_startup_errors = ${PHP_DISPLAY_STARTUP_ERRORS}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|error_reporting\s*=\s*E_ALL &amp;amp; ~E_DEPRECATED &amp;amp; ~E_STRICT|error_reporting = ${PHP_ERROR_REPORTING}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*upload_max_filesize =.*|upload_max_filesize = ${PHP_MAX_UPLOAD}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= ${PHP_CGI_FIX_PATHINFO}|i&amp;quot; /etc/php5/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To add PHP support to Nginx we should modify Nginx configuration file:&lt;br /&gt;
{{cmd|vi /etc/nginx/nginx.conf}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user                            www;&lt;br /&gt;
worker_processes                1;&lt;br /&gt;
&lt;br /&gt;
error_log                       /var/log/nginx/error.log warn;&lt;br /&gt;
pid                             /var/run/nginx/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections          1024;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include                     /etc/nginx/mime.types;&lt;br /&gt;
    default_type                application/octet-stream;&lt;br /&gt;
    sendfile                    on;&lt;br /&gt;
    access_log                  /var/log/nginx/access.log;&lt;br /&gt;
    keepalive_timeout           3000;&lt;br /&gt;
    server {&lt;br /&gt;
        listen                  80;&lt;br /&gt;
        root                    /www;&lt;br /&gt;
        index                   index.html index.htm index.php;&lt;br /&gt;
        server_name             localhost;&lt;br /&gt;
        client_max_body_size    32m;&lt;br /&gt;
        error_page              500 502 503 504  /50x.html;&lt;br /&gt;
        location = /50x.html {&lt;br /&gt;
              root              /var/lib/nginx/html;&lt;br /&gt;
        }&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
              fastcgi_pass      127.0.0.1:9000;&lt;br /&gt;
              fastcgi_index     index.php;&lt;br /&gt;
              include           fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our configuration we have line: &amp;quot;fastcgi_pass   127.0.0.1:9000&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
It should be corresponing to the line &amp;quot;listen = 127.0.0.1:9000&amp;quot; in PHP configuration file /etc/php5/php-fpm.conf&lt;br /&gt;
&lt;br /&gt;
=== Timezone ===&lt;br /&gt;
For configuring Timezone you may use tzdata package which can be installed by running:&lt;br /&gt;
{{cmd|apk add tzdata}}&lt;br /&gt;
&lt;br /&gt;
Timezone configuration&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;TIMEZONE=&amp;quot;Europe/Helsinki&amp;quot;&lt;br /&gt;
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime&lt;br /&gt;
echo &amp;quot;${TIMEZONE}&amp;quot; &amp;gt; /etc/timezone&lt;br /&gt;
sed -i &amp;quot;s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i&amp;quot; /etc/php5/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Sample PHP page ===&lt;br /&gt;
{{cmd|vi /www/phpinfo.php}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting Nginx with PHP5 ===&lt;br /&gt;
Nginx should be restarted because we have changed it&#039;s configuration. Restart it by running:&lt;br /&gt;
{{cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
After the installation PHP is not running. Start it by running:&lt;br /&gt;
{{cmd|rc-service php-fpm start}}&lt;br /&gt;
&lt;br /&gt;
=== Runlevel ===&lt;br /&gt;
Normally you want to start the web server when the system is launching. This is done by adding Nginx and PHP to the needed runlevel.&lt;br /&gt;
{{cmd|rc-update add nginx default&lt;br /&gt;
rc-update add php-fpm default}}&lt;br /&gt;
&lt;br /&gt;
Now they should start automatically when you boot your machine next time. To test that run:&lt;br /&gt;
{{cmd|reboot}}&lt;br /&gt;
&lt;br /&gt;
To make sure that Nginx and PHP are started run command:&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;ps aux | grep &#039;nginx\|php-fpm&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You should get something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  263 root       0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf&lt;br /&gt;
  264 www        0:00 nginx: worker process&lt;br /&gt;
  291 root       0:00 php-fpm: master process (/etc/php5/php-fpm.conf)&lt;br /&gt;
  302 www        0:00 php-fpm: pool www&lt;br /&gt;
  303 www        0:00 php-fpm: pool www&lt;br /&gt;
  310 root       0:00 grep nginx\|php-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Nginx with PHP ===&lt;br /&gt;
This section is assuming that nginx is running and sample html page &amp;quot;/www/phpinfo.php&amp;quot; is created. Launch a web browser and point it to &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://X.X.X.X/phpinfo.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X.X.X.X is IP address of your web server&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything was set up correctly, you should see information about your web server.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If PHP is not started check php-fpm log file&lt;br /&gt;
{{cmd|less /var/log/php-fpm.log}}&lt;br /&gt;
&lt;br /&gt;
Make sure that configuration files do not contain errors&lt;br /&gt;
{{cmd|vi /etc/php5/php-fpm.conf&lt;br /&gt;
vi /etc/php5/php.ini}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Web Server]]&lt;br /&gt;
[[Category:PHP]]&lt;/div&gt;</summary>
		<author><name>Juli</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Nginx_with_PHP&amp;diff=26754</id>
		<title>Nginx with PHP</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Nginx_with_PHP&amp;diff=26754"/>
		<updated>2024-05-22T05:45:47Z</updated>

		<summary type="html">&lt;p&gt;Juli: Updater for php 8.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{obsolete|PHP5 was removed in 3.9. PHP7 is not in 3.16 or later repositories.}}&lt;br /&gt;
{{:Nginx}}&lt;br /&gt;
&lt;br /&gt;
== PHP8.2 Installation ==&lt;br /&gt;
PHP packages is available in the Alpine Linux repositories. To install php7 with modules run:&lt;br /&gt;
{{cmd|apk add php82-fpm php82-soap php82-openssl php82-gmp php82-pdo_odbc php82-json php82-dom php82-pdo php82-zip php82-mysqli php82-sqlite3 php82-apcu php82-pdo_pgsql php82-bcmath php82-gd php82-odbc php82-pdo_mysql php82-pdo_sqlite php82-gettext php82-xmlreader php82-bz2 php82-iconv php82-pdo_dblib php82-curl php82-ctype}}&lt;br /&gt;
&lt;br /&gt;
Perhaps you do not need all these PHP modules. Install modules according to your needs.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of PHP8.2 ===&lt;br /&gt;
&lt;br /&gt;
Defining ENV variables which will be used in configuration. You can do this e.g. in [https://stackoverflow.com/questions/35325856/where-to-set-system-default-environment-variables-in-alpine-linux /etc/profile.d/php82.sh].&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;PHP_FPM_USER=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_GROUP=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_LISTEN_MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
PHP_MEMORY_LIMIT=&amp;quot;512M&amp;quot;&lt;br /&gt;
PHP_MAX_UPLOAD=&amp;quot;50M&amp;quot;&lt;br /&gt;
PHP_MAX_FILE_UPLOAD=&amp;quot;200&amp;quot;&lt;br /&gt;
PHP_MAX_POST=&amp;quot;100M&amp;quot;&lt;br /&gt;
PHP_DISPLAY_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_DISPLAY_STARTUP_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_ERROR_REPORTING=&amp;quot;E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR&amp;quot;&lt;br /&gt;
PHP_CGI_FIX_PATHINFO=0&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Modify variables according to your needs.&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file www.conf&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|;listen.owner\s*=\s*nobody|listen.owner = ${PHP_FPM_USER}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.group\s*=\s*nobody|listen.group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.mode\s*=\s*0660|listen.mode = ${PHP_FPM_LISTEN_MODE}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|user\s*=\s*nobody|user = ${PHP_FPM_USER}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|group\s*=\s*nobody|group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;log_level\s*=\s*notice|log_level = notice|g&amp;quot; /etc/php82/php-fpm.d/www.conf #uncommenting line &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php.ini&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|display_errors\s*=\s*Off|display_errors = ${PHP_DISPLAY_ERRORS}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|display_startup_errors\s*=\s*Off|display_startup_errors = ${PHP_DISPLAY_STARTUP_ERRORS}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|error_reporting\s*=\s*E_ALL &amp;amp; ~E_DEPRECATED &amp;amp; ~E_STRICT|error_reporting = ${PHP_ERROR_REPORTING}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*upload_max_filesize =.*|upload_max_filesize = ${PHP_MAX_UPLOAD}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i&amp;quot; /etc/php82/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= ${PHP_CGI_FIX_PATHINFO}|i&amp;quot; /etc/php82/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To add PHP support to Nginx we should modify Nginx configuration file:&lt;br /&gt;
{{cmd|vi /etc/nginx/nginx.conf}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user                            www;&lt;br /&gt;
worker_processes                1;&lt;br /&gt;
&lt;br /&gt;
error_log                       /var/log/nginx/error.log warn;&lt;br /&gt;
pid                             /var/run/nginx/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections          1024;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include                     /etc/nginx/mime.types;&lt;br /&gt;
    default_type                application/octet-stream;&lt;br /&gt;
    sendfile                    on;&lt;br /&gt;
    access_log                  /var/log/nginx/access.log;&lt;br /&gt;
    keepalive_timeout           3000;&lt;br /&gt;
    server {&lt;br /&gt;
        listen                  80;&lt;br /&gt;
        root                    /www;&lt;br /&gt;
        index                   index.php index.html index.htm;&lt;br /&gt;
        server_name             localhost;&lt;br /&gt;
        client_max_body_size    32m;&lt;br /&gt;
        error_page              500 502 503 504  /50x.html;&lt;br /&gt;
        location = /50x.html {&lt;br /&gt;
              root              /var/lib/nginx/html;&lt;br /&gt;
        }&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
              fastcgi_pass      127.0.0.1:9000;&lt;br /&gt;
              fastcgi_index     index.php;&lt;br /&gt;
              include           fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our configuration we have line: &amp;quot;fastcgi_pass   127.0.0.1:9000&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
It should be corresponing to the line &amp;quot;listen = 127.0.0.1:9000&amp;quot; in PHP configuration file /etc/php82/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
=== Timezone ===&lt;br /&gt;
For configuring Timezone you may use tzdata package which can be installed by running:&lt;br /&gt;
{{cmd|apk add tzdata}}&lt;br /&gt;
&lt;br /&gt;
Timezone configuration&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;TIMEZONE=&amp;quot;Europe/Helsinki&amp;quot;&lt;br /&gt;
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime&lt;br /&gt;
echo &amp;quot;${TIMEZONE}&amp;quot; &amp;gt; /etc/timezone&lt;br /&gt;
sed -i &amp;quot;s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i&amp;quot; /etc/php82/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Sample PHP page ===&lt;br /&gt;
{{cmd|vi /www/phpinfo.php}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting Nginx with PHP82 ===&lt;br /&gt;
Nginx should be restarted because we have changed it&#039;s configuration. Restart it by running:&lt;br /&gt;
{{cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
After the installation PHP is not running. Start it by running:&lt;br /&gt;
{{cmd|rc-service php-fpm82 start}}&lt;br /&gt;
&lt;br /&gt;
=== Runlevel ===&lt;br /&gt;
Normally you want to start the web server when the system is launching. This is done by adding Nginx and PHP to the needed runlevel.&lt;br /&gt;
{{cmd|rc-update add nginx default&lt;br /&gt;
rc-update add php-fpm82 default}}&lt;br /&gt;
&lt;br /&gt;
Now they should start automatically when you boot your machine next time. To test that run:&lt;br /&gt;
{{cmd|reboot}}&lt;br /&gt;
&lt;br /&gt;
To make sure that Nginx and PHP are started run command:&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;ps aux | grep &#039;nginx\|php-fpm&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You should get something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  263 root       0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf&lt;br /&gt;
  264 www        0:00 nginx: worker process&lt;br /&gt;
  291 root       0:00 php-fpm: master process (/etc/php82/php-fpm.conf)&lt;br /&gt;
  302 www        0:00 php-fpm: pool www&lt;br /&gt;
  303 www        0:00 php-fpm: pool www&lt;br /&gt;
  310 root       0:00 grep nginx\|php-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Nginx with PHP ===&lt;br /&gt;
This section is assuming that nginx is running and sample html page &amp;quot;/www/phpinfo.php&amp;quot; is created. Launch a web browser and point it to &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://X.X.X.X/phpinfo.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X.X.X.X is IP address of your web server&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything was set up correctly, you should see information about your web server.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If PHP is not started check php-fpm log file&lt;br /&gt;
{{cmd|less /var/log/php-fpm.log}}&lt;br /&gt;
&lt;br /&gt;
Make sure that configuration files do not contain errors&lt;br /&gt;
{{cmd|vi /etc/php82/php-fpm.conf&lt;br /&gt;
vi /etc/php82/php.ini}}&lt;br /&gt;
&lt;br /&gt;
== PHP7 Installation ==&lt;br /&gt;
PHP packages is available in the Alpine Linux repositories. To install php7 with modules run:&lt;br /&gt;
{{cmd|apk add php7-fpm php7-mcrypt php7-soap php7-openssl php7-gmp php7-pdo_odbc php7-json php7-dom php7-pdo php7-zip php7-mysqli php7-sqlite3 php7-apcu php7-pdo_pgsql php7-bcmath php7-gd php7-odbc php7-pdo_mysql php7-pdo_sqlite php7-gettext php7-xmlreader php7-xmlrpc php7-bz2 php7-iconv php7-pdo_dblib php7-curl php7-ctype}}&lt;br /&gt;
&lt;br /&gt;
Perhaps you do not need all these PHP modules. Install modules according to your needs.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of PHP7 ===&lt;br /&gt;
&lt;br /&gt;
Defining ENV variables which will be used in configuration. You can do this e.g. in [https://stackoverflow.com/questions/35325856/where-to-set-system-default-environment-variables-in-alpine-linux /etc/profile.d/php7.sh].&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;PHP_FPM_USER=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_GROUP=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_LISTEN_MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
PHP_MEMORY_LIMIT=&amp;quot;512M&amp;quot;&lt;br /&gt;
PHP_MAX_UPLOAD=&amp;quot;50M&amp;quot;&lt;br /&gt;
PHP_MAX_FILE_UPLOAD=&amp;quot;200&amp;quot;&lt;br /&gt;
PHP_MAX_POST=&amp;quot;100M&amp;quot;&lt;br /&gt;
PHP_DISPLAY_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_DISPLAY_STARTUP_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_ERROR_REPORTING=&amp;quot;E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR&amp;quot;&lt;br /&gt;
PHP_CGI_FIX_PATHINFO=0&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Modify variables according to your needs.&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file www.conf&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|;listen.owner\s*=\s*nobody|listen.owner = ${PHP_FPM_USER}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.group\s*=\s*nobody|listen.group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.mode\s*=\s*0660|listen.mode = ${PHP_FPM_LISTEN_MODE}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|user\s*=\s*nobody|user = ${PHP_FPM_USER}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|group\s*=\s*nobody|group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
sed -i &amp;quot;s|;log_level\s*=\s*notice|log_level = notice|g&amp;quot; /etc/php7/php-fpm.d/www.conf #uncommenting line &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php.ini&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|display_errors\s*=\s*Off|display_errors = ${PHP_DISPLAY_ERRORS}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|display_startup_errors\s*=\s*Off|display_startup_errors = ${PHP_DISPLAY_STARTUP_ERRORS}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|error_reporting\s*=\s*E_ALL &amp;amp; ~E_DEPRECATED &amp;amp; ~E_STRICT|error_reporting = ${PHP_ERROR_REPORTING}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*upload_max_filesize =.*|upload_max_filesize = ${PHP_MAX_UPLOAD}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i&amp;quot; /etc/php7/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= ${PHP_CGI_FIX_PATHINFO}|i&amp;quot; /etc/php7/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To add PHP support to Nginx we should modify Nginx configuration file:&lt;br /&gt;
{{cmd|vi /etc/nginx/nginx.conf}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user                            www;&lt;br /&gt;
worker_processes                1;&lt;br /&gt;
&lt;br /&gt;
error_log                       /var/log/nginx/error.log warn;&lt;br /&gt;
pid                             /var/run/nginx/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections          1024;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include                     /etc/nginx/mime.types;&lt;br /&gt;
    default_type                application/octet-stream;&lt;br /&gt;
    sendfile                    on;&lt;br /&gt;
    access_log                  /var/log/nginx/access.log;&lt;br /&gt;
    keepalive_timeout           3000;&lt;br /&gt;
    server {&lt;br /&gt;
        listen                  80;&lt;br /&gt;
        root                    /www;&lt;br /&gt;
        index                   index.html index.htm index.php;&lt;br /&gt;
        server_name             localhost;&lt;br /&gt;
        client_max_body_size    32m;&lt;br /&gt;
        error_page              500 502 503 504  /50x.html;&lt;br /&gt;
        location = /50x.html {&lt;br /&gt;
              root              /var/lib/nginx/html;&lt;br /&gt;
        }&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
              fastcgi_pass      127.0.0.1:9000;&lt;br /&gt;
              fastcgi_index     index.php;&lt;br /&gt;
              include           fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our configuration we have line: &amp;quot;fastcgi_pass   127.0.0.1:9000&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
It should be corresponing to the line &amp;quot;listen = 127.0.0.1:9000&amp;quot; in PHP configuration file /etc/php7/php-fpm.d/www.conf&lt;br /&gt;
&lt;br /&gt;
=== Timezone ===&lt;br /&gt;
For configuring Timezone you may use tzdata package which can be installed by running:&lt;br /&gt;
{{cmd|apk add tzdata}}&lt;br /&gt;
&lt;br /&gt;
Timezone configuration&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;TIMEZONE=&amp;quot;Europe/Helsinki&amp;quot;&lt;br /&gt;
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime&lt;br /&gt;
echo &amp;quot;${TIMEZONE}&amp;quot; &amp;gt; /etc/timezone&lt;br /&gt;
sed -i &amp;quot;s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i&amp;quot; /etc/php7/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Sample PHP page ===&lt;br /&gt;
{{cmd|vi /www/phpinfo.php}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting Nginx with PHP7 ===&lt;br /&gt;
Nginx should be restarted because we have changed it&#039;s configuration. Restart it by running:&lt;br /&gt;
{{cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
After the installation PHP is not running. Start it by running:&lt;br /&gt;
{{cmd|rc-service php-fpm7 start}}&lt;br /&gt;
&lt;br /&gt;
=== Runlevel ===&lt;br /&gt;
Normally you want to start the web server when the system is launching. This is done by adding Nginx and PHP to the needed runlevel.&lt;br /&gt;
{{cmd|rc-update add nginx default&lt;br /&gt;
rc-update add php-fpm7 default}}&lt;br /&gt;
&lt;br /&gt;
Now they should start automatically when you boot your machine next time. To test that run:&lt;br /&gt;
{{cmd|reboot}}&lt;br /&gt;
&lt;br /&gt;
To make sure that Nginx and PHP are started run command:&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;ps aux | grep &#039;nginx\|php-fpm&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You should get something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  263 root       0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf&lt;br /&gt;
  264 www        0:00 nginx: worker process&lt;br /&gt;
  291 root       0:00 php-fpm: master process (/etc/php7/php-fpm.conf)&lt;br /&gt;
  302 www        0:00 php-fpm: pool www&lt;br /&gt;
  303 www        0:00 php-fpm: pool www&lt;br /&gt;
  310 root       0:00 grep nginx\|php-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Nginx with PHP ===&lt;br /&gt;
This section is assuming that nginx is running and sample html page &amp;quot;/www/phpinfo.php&amp;quot; is created. Launch a web browser and point it to &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://X.X.X.X/phpinfo.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X.X.X.X is IP address of your web server&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything was set up correctly, you should see information about your web server.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If PHP is not started check php-fpm log file&lt;br /&gt;
{{cmd|less /var/log/php-fpm.log}}&lt;br /&gt;
&lt;br /&gt;
Make sure that configuration files do not contain errors&lt;br /&gt;
{{cmd|vi /etc/php7/php-fpm.conf&lt;br /&gt;
vi /etc/php7/php.ini}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PHP5 Installation ==&lt;br /&gt;
PHP packages is available in the Alpine Linux repositories. To install php5 with modules run:&lt;br /&gt;
{{cmd|apk add php5-fpm php5-mcrypt php5-soap php5-openssl php5-gmp php5-pdo_odbc php5-json php5-dom php5-pdo php5-zip php5-mysql php5-mysqli php5-sqlite3 php5-apcu php5-pdo_pgsql php5-bcmath php5-gd php5-xcache php5-odbc php5-pdo_mysql php5-pdo_sqlite php5-gettext php5-xmlreader php5-xmlrpc php5-bz2 php5-memcache php5-mssql php5-iconv php5-pdo_dblib php5-curl php5-ctype}}&lt;br /&gt;
&lt;br /&gt;
Perhaps you do not need all these PHP modules. Install modules according to your needs.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of PHP5 ===&lt;br /&gt;
&lt;br /&gt;
Defining ENV variables which will be used in configuration. You can do this e.g. in [https://stackoverflow.com/questions/35325856/where-to-set-system-default-environment-variables-in-alpine-linux /etc/profile.d/php5.sh].&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;PHP_FPM_USER=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_GROUP=&amp;quot;www&amp;quot;&lt;br /&gt;
PHP_FPM_LISTEN_MODE=&amp;quot;0660&amp;quot;&lt;br /&gt;
PHP_MEMORY_LIMIT=&amp;quot;512M&amp;quot;&lt;br /&gt;
PHP_MAX_UPLOAD=&amp;quot;50M&amp;quot;&lt;br /&gt;
PHP_MAX_FILE_UPLOAD=&amp;quot;200&amp;quot;&lt;br /&gt;
PHP_MAX_POST=&amp;quot;100M&amp;quot;&lt;br /&gt;
PHP_DISPLAY_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_DISPLAY_STARTUP_ERRORS=&amp;quot;On&amp;quot;&lt;br /&gt;
PHP_ERROR_REPORTING=&amp;quot;E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR&amp;quot;&lt;br /&gt;
PHP_CGI_FIX_PATHINFO=0&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
Modify variables according to your needs.&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php-fpm.conf&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|;listen.owner\s*=\s*nobody|listen.owner = ${PHP_FPM_USER}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.group\s*=\s*nobody|listen.group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|;listen.mode\s*=\s*0660|listen.mode = ${PHP_FPM_LISTEN_MODE}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|user\s*=\s*nobody|user = ${PHP_FPM_USER}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|group\s*=\s*nobody|group = ${PHP_FPM_GROUP}|g&amp;quot; /etc/php5/php-fpm.conf&lt;br /&gt;
sed -i &amp;quot;s|;log_level\s*=\s*notice|log_level = notice|g&amp;quot; /etc/php5/php-fpm.conf #uncommenting line &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Modifying configuration file php.ini&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;sed -i &amp;quot;s|display_errors\s*=\s*Off|display_errors = ${PHP_DISPLAY_ERRORS}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|display_startup_errors\s*=\s*Off|display_startup_errors = ${PHP_DISPLAY_STARTUP_ERRORS}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|error_reporting\s*=\s*E_ALL &amp;amp; ~E_DEPRECATED &amp;amp; ~E_STRICT|error_reporting = ${PHP_ERROR_REPORTING}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*memory_limit =.*|memory_limit = ${PHP_MEMORY_LIMIT}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*upload_max_filesize =.*|upload_max_filesize = ${PHP_MAX_UPLOAD}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*max_file_uploads =.*|max_file_uploads = ${PHP_MAX_FILE_UPLOAD}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*post_max_size =.*|post_max_size = ${PHP_MAX_POST}|i&amp;quot; /etc/php5/php.ini&lt;br /&gt;
sed -i &amp;quot;s|;*cgi.fix_pathinfo=.*|cgi.fix_pathinfo= ${PHP_CGI_FIX_PATHINFO}|i&amp;quot; /etc/php5/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
To add PHP support to Nginx we should modify Nginx configuration file:&lt;br /&gt;
{{cmd|vi /etc/nginx/nginx.conf}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user                            www;&lt;br /&gt;
worker_processes                1;&lt;br /&gt;
&lt;br /&gt;
error_log                       /var/log/nginx/error.log warn;&lt;br /&gt;
pid                             /var/run/nginx/nginx.pid;&lt;br /&gt;
&lt;br /&gt;
events {&lt;br /&gt;
    worker_connections          1024;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
http {&lt;br /&gt;
    include                     /etc/nginx/mime.types;&lt;br /&gt;
    default_type                application/octet-stream;&lt;br /&gt;
    sendfile                    on;&lt;br /&gt;
    access_log                  /var/log/nginx/access.log;&lt;br /&gt;
    keepalive_timeout           3000;&lt;br /&gt;
    server {&lt;br /&gt;
        listen                  80;&lt;br /&gt;
        root                    /www;&lt;br /&gt;
        index                   index.html index.htm index.php;&lt;br /&gt;
        server_name             localhost;&lt;br /&gt;
        client_max_body_size    32m;&lt;br /&gt;
        error_page              500 502 503 504  /50x.html;&lt;br /&gt;
        location = /50x.html {&lt;br /&gt;
              root              /var/lib/nginx/html;&lt;br /&gt;
        }&lt;br /&gt;
        location ~ \.php$ {&lt;br /&gt;
              fastcgi_pass      127.0.0.1:9000;&lt;br /&gt;
              fastcgi_index     index.php;&lt;br /&gt;
              include           fastcgi.conf;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In our configuration we have line: &amp;quot;fastcgi_pass   127.0.0.1:9000&amp;quot; &amp;lt;br /&amp;gt;&lt;br /&gt;
It should be corresponing to the line &amp;quot;listen = 127.0.0.1:9000&amp;quot; in PHP configuration file /etc/php5/php-fpm.conf&lt;br /&gt;
&lt;br /&gt;
=== Timezone ===&lt;br /&gt;
For configuring Timezone you may use tzdata package which can be installed by running:&lt;br /&gt;
{{cmd|apk add tzdata}}&lt;br /&gt;
&lt;br /&gt;
Timezone configuration&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;TIMEZONE=&amp;quot;Europe/Helsinki&amp;quot;&lt;br /&gt;
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime&lt;br /&gt;
echo &amp;quot;${TIMEZONE}&amp;quot; &amp;gt; /etc/timezone&lt;br /&gt;
sed -i &amp;quot;s|;*date.timezone =.*|date.timezone = ${TIMEZONE}|i&amp;quot; /etc/php5/php.ini&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Sample PHP page ===&lt;br /&gt;
{{cmd|vi /www/phpinfo.php}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
	phpinfo();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Starting Nginx with PHP5 ===&lt;br /&gt;
Nginx should be restarted because we have changed it&#039;s configuration. Restart it by running:&lt;br /&gt;
{{cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
After the installation PHP is not running. Start it by running:&lt;br /&gt;
{{cmd|rc-service php-fpm start}}&lt;br /&gt;
&lt;br /&gt;
=== Runlevel ===&lt;br /&gt;
Normally you want to start the web server when the system is launching. This is done by adding Nginx and PHP to the needed runlevel.&lt;br /&gt;
{{cmd|rc-update add nginx default&lt;br /&gt;
rc-update add php-fpm default}}&lt;br /&gt;
&lt;br /&gt;
Now they should start automatically when you boot your machine next time. To test that run:&lt;br /&gt;
{{cmd|reboot}}&lt;br /&gt;
&lt;br /&gt;
To make sure that Nginx and PHP are started run command:&lt;br /&gt;
{{cmd|&amp;lt;nowiki&amp;gt;ps aux | grep &#039;nginx\|php-fpm&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
You should get something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  263 root       0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf&lt;br /&gt;
  264 www        0:00 nginx: worker process&lt;br /&gt;
  291 root       0:00 php-fpm: master process (/etc/php5/php-fpm.conf)&lt;br /&gt;
  302 www        0:00 php-fpm: pool www&lt;br /&gt;
  303 www        0:00 php-fpm: pool www&lt;br /&gt;
  310 root       0:00 grep nginx\|php-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing Nginx with PHP ===&lt;br /&gt;
This section is assuming that nginx is running and sample html page &amp;quot;/www/phpinfo.php&amp;quot; is created. Launch a web browser and point it to &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://X.X.X.X/phpinfo.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where X.X.X.X is IP address of your web server&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If everything was set up correctly, you should see information about your web server.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
If PHP is not started check php-fpm log file&lt;br /&gt;
{{cmd|less /var/log/php-fpm.log}}&lt;br /&gt;
&lt;br /&gt;
Make sure that configuration files do not contain errors&lt;br /&gt;
{{cmd|vi /etc/php5/php-fpm.conf&lt;br /&gt;
vi /etc/php5/php.ini}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Web Server]]&lt;br /&gt;
[[Category:PHP]]&lt;/div&gt;</summary>
		<author><name>Juli</name></author>
	</entry>
</feed>