Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5: differenze tra le versioni
Riga 27: | Riga 27: | ||
</pre> | </pre> | ||
A questo punto aprite il vostro browser preferito e navigate verso l'indirizzo '''http://123.45.67.890'''. Sarete accolti dalla pagina di benvenuto del vostro web server: It Works! | A questo punto aprite il vostro browser preferito e navigate verso l'indirizzo '''http://123.45.67.890'''. Sarete accolti dalla pagina di benvenuto del vostro web server: It Works! | ||
==Configurazione SSL== | ==Configurazione di SSL== | ||
Le connessioni sicure SSL sono vitali per le aree di amministrazione dei nostri siti, poichè assicurano segretezza e protezione alle password che digitiamo. In questa sezione vedremo come configurare un certificato auto-firmato e come creare un virtual host sulla porta https (443) per le nostre connessioni.<br> | Le connessioni sicure SSL sono vitali per le aree di amministrazione dei nostri siti, poichè assicurano segretezza e protezione alle password che digitiamo. In questa sezione vedremo come configurare un certificato auto-firmato e come creare un virtual host sulla porta https (443) per le nostre connessioni.<br> | ||
'''NOTA''': i certificati auto-firmati, poichè non verificati da un'autorità internazionale, generano nel browser un messaggio di avvertimento. Per questo motivo sono adatti in ambienti intranet o su server dove il traffico https serve solo per amministrazione e non per fornire servizi a utenti esterni. | '''NOTA''': i certificati auto-firmati, poichè non verificati da un'autorità internazionale, generano nel browser un messaggio di avvertimento. Per questo motivo sono adatti in ambienti intranet o su server dove il traffico https serve solo per amministrazione e non per fornire servizi a utenti esterni. |
Versione delle 21:56, 28 ott 2009
Installare un ambiente LAMP: Linux, Apache2, SSL, MySQL, PHP5
Introduzione
LAMP è un acronimo che indica un ambiente server in cui siano installati Linux, Apache, MySQL e PHP. In questa guida vedremo come installare un server Apache2 su Debian, come configurare il modulo SSL e come fornire supporto per il linguaggio di scripting PHP5 e i database basati su MySQL.
In tutta la guida assumeremo che il nome del server Debian sia demo e il suo indirizzo IP sia 123.45.6.7.890. Questi valori vanno ovviamente sostituiti con quelli del vostro ambiente di lavoro.
Installazione di Apache2
Installare il web server Apache2 su Debian è un'operazione molto semplice:
aptitude install apache2-mpm-prefork apache2-utils libexpat1
Probabilmente noterete, all'avvio del web server, il messaggio di avvertimento
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Per eliminarlo è sufficiente aprire il file di configurazione di Apache2
nano /etc/apache2/apache2.conf
e aggiungere la direttiva
ServerName demo
Quindi riavviate Apache2 per fargli digerire le modifiche:
apache2ctl graceful
A questo punto aprite il vostro browser preferito e navigate verso l'indirizzo http://123.45.67.890. Sarete accolti dalla pagina di benvenuto del vostro web server: It Works!
Configurazione di SSL
Le connessioni sicure SSL sono vitali per le aree di amministrazione dei nostri siti, poichè assicurano segretezza e protezione alle password che digitiamo. In questa sezione vedremo come configurare un certificato auto-firmato e come creare un virtual host sulla porta https (443) per le nostre connessioni.
NOTA: i certificati auto-firmati, poichè non verificati da un'autorità internazionale, generano nel browser un messaggio di avvertimento. Per questo motivo sono adatti in ambienti intranet o su server dove il traffico https serve solo per amministrazione e non per fornire servizi a utenti esterni.
Installazione
Creiamo inannzitutto una directory dove archiviare i nostri certificati:
mkdir /etc/apache2/ssl
Quindi creiamo i nostri certificati:
openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
L'output iniziale del comando sarà:
Generating a 1024 bit RSA private key ...........++++++ ...........++++++ writing new private key to '/etc/apache2/ssl/apache.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----
e poi ci verrà posta una serie di domande:
Country Name (2 letter code) [AU]: IT State or Province Name (full name) [Some-State]: Lodi Locality Name (eg, city) []: S. Angelo Lodigiano Organization Name (eg, company) [Internet Widgits Pty Ltd]: Compagnia di Test Organizational Unit Name (eg, section) []: Divisione IT Common Name (eg, YOUR name) []: demo.dominio.local Email Address []: webmaster@dominio.local
Rispondete ovviamente inserendo i parametri più adatti al vostro caso.
Adesso che abbiamo i certificati piazzati al loro posto non dobbiamo far altro che abilitare Apache mod_ssl:
a2enmod ssl
Configurazione dei Virtual Host
Iniziamo con l'abilitare la porta 443 del nostro default host:
nano /etc/apache2/sites-available/default
All'inizio del file troveremo le voci:
NameVirtualHost * <VirtualHost *> ...
Modifichiamole in questo modo:
NameVirtualHost *:80 NameVirtualHost *:443 <VirtualHost *:80> ... ... </VirtualHost> <VirtualHost *:443> ... ... </VirtualHost>
e aggiungiamo infine le seguenti due linee:
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem
Un riavvio di Apache2 caricherà la nuova configurazione:
/etc/init.d/apache2 force-reload