Apache tip & tricks: differenze tra le versioni
| Riga 72: | Riga 72: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Let’s Encrypt === | === Let’s Encrypt === | ||
Vedere la pagina dedicata<br/> | |||
[[Certificati Lets'Encrypt]] | |||
== Basic Authentication == | == Basic Authentication == | ||
Versione delle 15:54, 15 feb 2024
Certificati SSL
Abilitare modulo SSL
Di default il modulo non è abilitato
sudo a2enmod ssl
Richiesta CSR
Genera un file .csr e un file .key che sono la richiesta di certificato per il server in questione e la chiave privata.
openssl req -new -newkey rsa:2048 -nodes -keyout designbestmagazine.com_private_key.key -out designbestmagazine.com.csr
Importante, alla domanda sul Common Name specificare il NOME DEL DOMINIO (es designbestmagazine.com)
Gestione dei certificati (key, bundle)
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.crtnomesito.com_private_key.keynomesito.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 => https direttamente dal virtualhost.
Esempio pratico:
#
# 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>
Let’s Encrypt
Vedere la pagina dedicata
Certificati Lets'Encrypt
Basic Authentication
Per fare una basic authentication bisogna utilizzare il comando htpasswd che crea un file con i dati di utente e password.
Può essere updatato per aggiungere altri utenti.
# Prima volta con opzione -c
sudo htpasswd -c /var/www/auth/.htpasswd nomeutente1
#Per aggiungere altri utenti senza -c
sudo htpasswd /var/www/auth/.htpasswd nomeutente2
Il file viene richiamato all'interno di un VirtualHost con i seguenti comandi:
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /var/www/auth/.htpasswd
Require valid-user
Se si vuole cambiare la password di un utente basta lanciare di nuovo il comando senza l'opzione -c specificando l'utente già esistente.
Non è possibile settare più password per un singolo utente, in quel caso creare un file diverso come è stato fatto per magazine e outlet su merida.
Configurare multiple versioni di PHP
Con PHP-FPM è possibile avere siti che utilizzano differenti versioni di PHP, specificandolo nel virtualhost.
Ecco la guida PHP FPM - Configurare multiple versioni di PHP