Apache tip & tricks

Da Webmobili Wiki.

Abilitare modulo SSL

Di default il modulo non è abilitato sudo a2enmod ssl

Aggiungere domini certificati

Per creare un VirtualHost con certificato autentico aggiungere un file dentro alla cartella /etc/apache2/sites-available con la configurazione personalizzata che utilizzi i certificati giusti.

Esempio pratico:

  • Copiare i file del certificato (crt e key) + il certificato intermedio nella cartella /etc/apache2/ssl/. N.B. Se si dispone del file .cer basta rinominare l'estensione in .crt
  • Unire certificato e certificato intermedio in un unico file con il comando
cat nomesito.com_ssl_certificate.crt nomesito.com_ssl_certificate_intermediate.crt >> nomesito.com_ssl_certificate_bundle.crt

Ricordarsi di mettere in /etc/apache2/ssl/ i tre file

  • nomesito.com_ssl_certificate.crt
  • nomesito.com_private_key.key
  • nomesito.com_ssl_certificate_bundle.crt


Configurazione del Virtualhost

Il virtualhost cambia la porta e aggiunge le direttive SSLEngine, SSLCertificateFile e SSLCertificateKeyFile.
È possibile configurare un redirect http to https direttamente dal virtualhost.

Esempio pratico:

  1. blog.designbest.com

<VirtualHost *:80>

       ServerName blog.designbest.com
       Redirect / https://blog.designbest.com

</VirtualHost>

<IfModule mod_ssl.c>

       <VirtualHost *:443>
               ServerAdmin s.vincenzi@webmobili.it
               ServerName blog.designbest.com
               DirectoryIndex index.html index.htm index.php
               DocumentRoot /var/www/blog.designbest.com/
               Alias /phpmyadmin /usr/share/phpmyadmin
               <Directory />
                       Options FollowSymLinks
                       AllowOverride All
               </Directory>
               <Directory /var/www/blog.designbest.com/>
                       Options -Indexes +FollowSymLinks +MultiViews
                       AllowOverride All
                       Order allow,deny
                       Allow from all
               </Directory>
               SSLEngine on
               SSLCertificateFile /etc/apache2/ssl/designbest.com_ssl_certificate_bundle.crt
               SSLCertificateKeyFile /etc/apache2/ssl/designbest.com_private_key.key
               ErrorLog ${APACHE_LOG_DIR}/blog.designbest.com/error.log
               CustomLog ${APACHE_LOG_DIR}/blog.designbest.com/access.log combined
       </VirtualHost>

</IfModule>