PHP e Apache · 3 min read · Jan 01, 2026

Utilizzare PHP5-FPM Con Apache2 Su OpenSUSE 12.1 - Pagina 2

6 Configurare Apache

Per far funzionare Apache con PHP-FPM, abbiamo bisogno della seguente configurazione:

| AllowOverride None Options +ExecCGI -Includes SetHandler fastcgi-script Order allow,deny Allow from all DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization |

(Per saperne di più sulla direttiva FastCgiExternalServer, dai un’occhiata a http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer.)

Puoi metterlo nella configurazione globale di Apache (quindi è abilitato per tutti i vhosts), ad esempio in /etc/apache2/conf.d/mod_fastcgi.conf, oppure puoi posizionarlo in ogni vhost che dovrebbe utilizzare PHP-FPM. Voglio usare PHP-FPM con tutti i vhosts, quindi apro /etc/apache2/conf.d/mod_fastcgi.conf…

vi /etc/apache2/conf.d/mod_fastcgi.conf

… e metto la seguente sezione alla fine:

| [...] AllowOverride None Options +ExecCGI -Includes SetHandler fastcgi-script Order allow,deny Allow from all DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization |

La directory /usr/lib/cgi-bin/ deve esistere, quindi la creiamo come segue:

mkdir /usr/lib/cgi-bin/

Riavvia Apache dopo:

systemctl restart apache2.service

Ora crea il seguente file PHP nella root del documento /srv/www/htdocs del vhost Apache predefinito:

vi /srv/www/htdocs/info.php

| |

Ora chiamiamo quel file in un browser (ad es. http://192.168.0.100/info.php):

Come puoi vedere, PHP5 sta funzionando, e sta funzionando tramite FPM/FastCGI, come mostrato nella riga Server API. Se scorri più in basso, vedrai tutti i moduli che sono già abilitati in PHP5. MySQL non è elencato lì, il che significa che non abbiamo ancora il supporto MySQL in PHP5.

7 Ottenere Supporto MySQL In PHP5

Per ottenere il supporto MySQL in PHP, possiamo installare il pacchetto php5-mysql. È una buona idea installare anche alcuni altri moduli PHP5 poiché potresti averne bisogno per le tue applicazioni:

yast2 -i php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm

Ora ricarica PHP-FPM:

systemctl reload php-fpm.service

Ora ricarica http://192.168.0.100/info.php nel tuo browser e scorri di nuovo fino alla sezione dei moduli. Dovresti ora trovare molti nuovi moduli lì, incluso il modulo MySQL:

8 phpMyAdmin

phpMyAdmin è un’interfaccia web attraverso la quale puoi gestire i tuoi database MySQL.

phpMyAdmin può essere installato come segue:

yast2 -i phpMyAdmin

Per assicurarti di poter accedere a phpMyAdmin da tutti i siti web creati tramite ISPConfig in seguito utilizzando /phpmyadmin (ad es. http://www.example.com/phpmyadmin) e /phpMyAdmin (ad es. http://www.example.com/phpMyAdmin), apri /etc/apache2/conf.d/phpMyAdmin.conf…

vi /etc/apache2/conf.d/phpMyAdmin.conf

… e aggiungi i seguenti due alias proprio all’inizio:

| Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin [...] |

Riavvia Apache e ricarica PHP-FPM:

systemctl restart apache2.service  
systemctl reload php-fpm.service

Dopo, puoi accedere a phpMyAdmin all’indirizzo http://192.168.0.100/phpMyAdmin/:

9 Far Usare A PHP-FPM Un Socket Unix

Per impostazione predefinita, PHP-FPM ascolta sulla porta 9000 su 127.0.0.1. È anche possibile far utilizzare a PHP-FPM un socket Unix che evita l’overhead TCP. Per fare ciò, apri /etc/php5/fpm/php-fpm.conf…

vi /etc/php5/fpm/php-fpm.conf

… e fai in modo che la riga listen appaia come segue:

| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |

Imposta anche il proprietario, il gruppo e i permessi del socket come segue:

| [...] ; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. Many ; BSD-derived systems allow connections regardless of permissions. ; Default Values: user and group are set as the running user ; mode is set to 0666 listen.owner = nobody listen.group = nobody listen.mode = 0666 [...] |

Poi ricarica PHP-FPM:

systemctl reload php-fpm.service

Successivamente, controlla la tua configurazione Apache e tutti i tuoi vhosts e cambia la riga FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization in FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization, ad esempio in questo modo:

vi /etc/apache2/conf.d/mod_fastcgi.conf

| [...] AllowOverride None Options +ExecCGI -Includes SetHandler fastcgi-script Order allow,deny Allow from all DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization |

Infine ricarica Apache:

systemctl reload apache2.service

10 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.