Apache2/SSL
Da Wikipedia, l'enciclopedia libera.
Contents |
Apache2 SSL
Guida per abilitare il modssl in Apache su Ubuntu.
Per una introduzione su OpenSSL è possibile leggere una articolo (in inglese) su : https://help.ubuntu.com/community/OpenSSL
Generare il certificato
Installare il tool per generare i certificati:
sudo aptitude install ssl-cert
Creare la directory dove copiare il certificato che apache utilizzerà
sudo mkdir /etc/apache2/ssl
Creare il certificato:
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
Abilitare il mod ssl:
sudo a2enmod ssl
Creare il file per la configurazione di apache+ssl:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Modificare il file facendo in modo che sia simile a questo esempio:
sudo nano -w /etc/apache2/sites-available/ssl
NameVirtualHost *:443 <virtualhost *:443> ServerAdmin webmaster@localhost SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem DocumentRoot /var/www/ <directory /> Options FollowSymLinks AllowOverride None </directory> <directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # This directive allows us to have apache2's default start page # in /apache2-default/, but still have / go to the right place # Commented out for Ubuntu #RedirectMatch ^/$ /apache2-default/ </directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <directory "/usr/lib/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ServerSignature On Alias /doc/ "/usr/share/doc/" <directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </directory> </virtualhost>
Abilitare il sito con ssl:
sudo a2ensite ssl
non dimenticare di modificare anche:
sudo nano -w /etc/apache2/sites-available/default
NameVirtualHost *:80 <virtualhost *:80>
Mod rewrite
E' spesso desiderabile forzare gli utenti all'utilizzo di https nell'utilizzo di servizi tipo la webmail. Ciò è possibile tramite il mod_rewrite.
Prima di tutto bisogna abilitare il modulo:
sudo a2enmod rewrite
Dopodichè aggiungere queste linee al file /etc/apache2/sites-available/default
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^/webmail(.*)$ https://%{SERVER_NAME}/webmail$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2
Creare la directory per il pidfile; (potrebbe non esserci di default)
sudo mkdir -p /var/run/apache2 sudo chown -R www-data /var/run/apache2
Dopodichè riavviare apache:
sudo /etc/init.d/apache2 force-reload
Articolo in inglese
Traduzione
Traduzione a cura di Emanuele Piccolini < fibonaccixp@gmail.com >
