LAMP: Linux, Apache, MySQL e PHP: differenze tra le versioni

(→‎Supporto SSL: scritto)
Riga 173: Riga 173:


=====Supporto SSL=====
=====Supporto SSL=====
Per Apache2, a differenza di Apache1, non esiste un pacchetto '''apache-ssl''' per attivare il supporto [Glossario:ssl | ssl]. Per attivare il supporto ssl � necessario modificare la configurazione di apache.
Per Apache2, a differenza di Apache1, non esiste un pacchetto '''apache-ssl''' per attivare il supporto [[Glossario:ssl | ssl]]. Per attivare il supporto ssl � necessario modificare la configurazione di apache.


[todo]
Per abilitare il supporto, e creare i certificati necessari al funzionamento dell'ssl, bisogna installare openssl:
<pre>
# apt-get install openssl
</pre>
 
Oltre a questo, deve essere abilitato il modulo ''ssl'', con il comando prima descritto per la gestione dei moduli in Apache2:
<pre>
# a2enmod ssl
</pre>
 
Per la generazione del certificato, apache2 offre il comando:
<pre>
# apache2-ssl-certificate
</pre>
che, tramite una serie di domande, creer� nella direcotry '''/etc/apache2/ssl/''' due file: ''apache.pem'' ed il certificato.
 
Ora aggiungiamo un ''sito'' con supporto ssl: con il nostro editor preferito creiamo un file di testo in '''/etc/apache2/sites-available''' come nel seguente esempio (il nome del file pu� essere, ad esempio, '''default-ssl'''):
<pre>
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile    /etc/apache2/ssl/apache.pem
    SSLCertificateKeyFile /etc/apache2/ssl/apache.pem
 
    ServerAdmin admin@dominio.org
    ServerName server.dominio.org
 
    ErrorLog /var/log/apache2/error_ssl.log
    LogLevel warn
    CustomLog /var/log/apache2/access_ssl.log combined
    ServerSignature On
    DocumentRoot /var/www/apache2-default
 
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/apache2-default>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
 
    ScriptAlias /cgi-local/ /var/www/apache2-default/cgi-bin/
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/var/www/apache2-default/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>
 
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>
 
    Alias /icons/ "/usr/share/apache2/icons/"
    Alias /manual/ "/usr/share/doc/apache2-doc/manual/"
 
    <Directory "/usr/share/apache2/icons">
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
</pre>
 
Molte delle opzioni contenute nell'esempio sono prese pari pari dal file '''/etc/apache2/sites-available/default'''.
 
Mancano due modifiche, prima di avere il supporto ssl attivo: Apache non � in ascolto sulla porta 443, quella normalmente utilizzata da apache-ssl, e quindi lo dobbiamo istruire modificando il file '''/etc/apache2/ports.conf''' aggiungendo la riga:
<pre>
Listen 443
</pre>
 
Come ultima cosa, importantissima, bisogna attivare il sito che abbiamo appena creato (sempre utilizzando i comodi comandi che Apache2 ci mette a disposizione). Sar� quindi sufficiente un
<pre>
# a2ensite default-ssl
</pre>
questo se si � scelto di creare un file separato per i siti che avranno il supporto ssl... Un'altra pratica molto diffusa � quella di gestire ogni singolo sito come un file, quindi le direttive per l'abilitazione del supporto ssl vengono scritte all'interno del file ''generale'' di quel sito (in questo caso il file '''default''').
 
Per rendere effettive tutte le modifiche, riavviamo apache:
<pre>
# /etc/init.d/apache2 restart
</pre>


=====Far convivere Apache e Apache2=====
=====Far convivere Apache e Apache2=====
1 487

contributi