PHP e Apache · 4 min read · Jan 01, 2026
Utilizzare PHP5-FPM Con Apache2 Su OpenSUSE 12.1
Utilizzare PHP5-FPM Con Apache2 Su OpenSUSE 12.1
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Questo tutorial mostra come puoi installare un server web Apache2 su un server OpenSUSE 12.1 con supporto PHP5 (tramite PHP-FPM) e MySQL. PHP-FPM (FastCGI Process Manager) è un’implementazione alternativa di PHP FastCGI con alcune funzionalità aggiuntive utili per siti di qualsiasi dimensione, specialmente per siti più trafficati.
Non fornisco alcuna garanzia che questo funzionerà per te!
1 Nota Preliminare
In questo tutorial utilizzo il nome host server1.example.com con l’indirizzo IP 192.168.0.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.
2 Abilitare Repository Aggiuntivi
Dobbiamo installare mod_fastcgi più avanti, che è disponibile in un repository che non è abilitato per impostazione predefinita. Possiamo abilitarlo come segue:
zypper --gpg-auto-import-keys addrepo --name "Moduli di terze parti per il server HTTP Apache. (Apache_openSUSE_12.1)" http://download.opensuse.org/repositories/Apache:/Modules/Apache_openSUSE_12.1/ apache-third-party-12.13 Installare MySQL 5
Per installare MySQL, facciamo così:
yast2 -i mysql mysql-client mysql-community-serverPoi creiamo i collegamenti di avvio del sistema per MySQL (in modo che MySQL si avvii automaticamente ogni volta che il sistema si avvia) e avviamo il server MySQL:
systemctl enable mysql.service
systemctl start mysql.servicePer proteggere l’installazione di MySQL, esegui:
mysql_secure_installationOra ti verranno poste diverse domande:
server1:~ # mysql_secure_installation
NOTA: ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT È RACCOMANDATO PER TUTTI I SERVER MySQL IN USO IN PRODUZIONE! PER FAVORE LEGGI ATTENTAMENTE OGNI PASSO!
Per accedere a MySQL per proteggerlo, avremo bisogno della password attuale per l’utente root. Se hai appena installato MySQL e non hai ancora impostato la password per root, la password sarà vuota, quindi dovresti semplicemente premere invio qui.
Inserisci la password attuale per root (premi invio per nessuna): <– INVIO
OK, password utilizzata con successo, procedendo…
Impostare la password per root garantisce che nessuno possa accedere all’utente root di MySQL senza la corretta autorizzazione.
Impostare la password per root? [Y/n] <– Y
Nuova password: <– inserisci la tua desiderata password root di MySQL
Reinserisci la nuova password: <– conferma quella password
Password aggiornata con successo!
Ricaricamento delle tabelle dei privilegi..
… Successo!
Per impostazione predefinita, un’installazione di MySQL ha un utente anonimo, che consente a chiunque di accedere a MySQL senza dover avere un account utente creato per loro. Questo è destinato solo per test e per rendere l’installazione un po’ più fluida. Dovresti rimuoverli prima di passare a un ambiente di produzione.
Rimuovere gli utenti anonimi? [Y/n] <– Y
… Successo!
Normalmente, root dovrebbe essere autorizzato a connettersi solo da ‘localhost’. Questo garantisce che qualcuno non possa indovinare la password di root dalla rete.
Negare l’accesso remoto a root? [Y/n] <– Y
… Successo!
Per impostazione predefinita, MySQL viene fornito con un database chiamato ‘test’ a cui chiunque può accedere. Questo è anche destinato solo per test e dovrebbe essere rimosso prima di passare a un ambiente di produzione.
Rimuovere il database di test e l’accesso ad esso? [Y/n] <– Y
- Rimozione del database di test…
… Successo! - Rimozione dei privilegi sul database di test…
… Successo!
Ricaricare le tabelle dei privilegi garantirà che tutte le modifiche apportate finora abbiano effetto immediato.
Ricaricare le tabelle dei privilegi ora? [Y/n] <– Y
… Successo!
Pulizia…
Tutto fatto! Se hai completato tutti i passaggi sopra, la tua installazione di MySQL dovrebbe ora essere sicura.
Grazie per aver utilizzato MySQL!
server1:~ #
Ora la tua configurazione di MySQL dovrebbe essere protetta.
4 Installare Apache2
Apache2 è disponibile come pacchetto OpenSUSE, quindi possiamo installarlo in questo modo:
yast2 -i apache2Ora configura il tuo sistema per avviare Apache all’avvio…
systemctl enable apache2.service… e avvia Apache:
systemctl start apache2.serviceOra indirizza il tuo browser a http://192.168.0.100, e dovresti vedere la pagina segnaposto di Apache2 (non preoccuparti per l’errore 403, questo accade perché non c’è un file index (ad es. index.html) nella directory radice del documento):

La directory radice del documento predefinita di Apache è /srv/www/htdocs/ su OpenSUSE, e il file di configurazione è /etc/apache2/httpd.conf. Ulteriori configurazioni sono memorizzate nella directory /etc/apache2/conf.d/.
5 Installare PHP5
Possiamo far funzionare PHP5 in Apache2 tramite PHP-FPM e il modulo mod_fastcgi di Apache che installiamo come segue:
yast -i apache2-mod_fastcgi php5-fpmPrima di avviare PHP-FPM, rinomina /etc/php5/fpm/php-fpm.conf.default in /etc/php5/fpm/php-fpm.conf:
mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.confCambia i permessi della directory di sessione di PHP:
chmod 1733 /var/lib/php5Poi apri /etc/php5/fpm/php-fpm.conf…
vi /etc/php5/fpm/php-fpm.conf… e cambia error_log in /var/log/php-fpm.log e decommenta pm.min_spare_servers e pm.max_spare_servers:
| [...] error_log = /var/log/php-fpm.log [...] pm.min_spare_servers = 5 [...] pm.max_spare_servers = 35 [...] |
Successivamente crea i collegamenti di avvio del sistema per php-fpm e avvialo:
systemctl enable php-fpm.service
systemctl start php-fpm.servicePHP-FPM è un processo demone che esegue un server FastCGI sulla porta 9000, come puoi vedere nell’output di
netstat -tapnserver1:~ # netstat -tapn
Connessioni Internet attive (server e stabilite)
Proto Ricev-Q Invi-Q Indirizzo Locale Indirizzo Remoto Stato PID/Nome Programma
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2329/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1204/sshd
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2511/php-fpm.conf)
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2059/mysqld
tcp 0 0 192.168.0.100:22 192.168.0.199:1632 ESTABLISHED 1284/0
tcp 0 0 :::22 :::* LISTEN 1204/sshd
server1:~ #Successivamente abilita i seguenti moduli Apache…
a2enmod actions
a2enmod fastcgi
a2enmod alias… disabilita mod_php5…
a2dismod php5… e riavvia Apache:
systemctl restart apache2.serviceRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.