Apache2/SSL

Da Wikipedia, l'enciclopedia libera.

Un indiano Apache
Enlarge
Un indiano Apache

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 >

Personal tools
Informazioni