Come abilitare HTTPS su Apache Web Server

Come abilitare HTTPS su Apache Web Server
Apache è uno dei server Web più popolari che servono oltre il 30% dei siti Web. È un server HTTP gratuito e open source. Viene confezionato con tonnellate di strumenti e funzionalità per eseguire applicazioni in modo sicuro e con facilità.

Questo tutorial descrive come impostare siti Web SSL Secure sul Webserver Apache.

Nota: questo tutorial è scritto e testato per Debian 9, 10 e 11 e Ubuntu 20.04.

Requisiti.

Per seguire questa guida, dovrai avere quanto segue:

  1. Un'installazione Ubuntu/Debian
  2. Un sudo o autorizzazioni di root per installare pacchetti, modificare i file di configurazione e riavviare i servizi.

Installazione di Apache

Se non hai Apache installato, dobbiamo installarlo. Immettere i comandi:

Sudo Apt Aggiornamento
SUDO APT Installa Apache2 OpenSSL

Una volta installato il server Apache, avviare il servizio e assicurarsi che tutto funzioni correttamente.

Abilitazione MOD_SSL e MOD_REWRITE MODULES.

Il prossimo passo è abilitare i moduli MOD_SSL e MOD_REWRITE. Per fare ciò, utilizziamo lo script A2enmod, che ci consente di abilitare e disabilitare i moduli nella configurazione Apache.

Usa i comandi come mostrato di seguito:

sudo a2enmod ssl
sudo a2enmod riscrive

Abilitare .Htaccess Override

Il passaggio successivo è modificare la configurazione Apache e aggiungere una voce per consentire alle impostazioni predefinite di Apache di sovrascrivere. Le impostazioni prevalenti sono eseguite in .file htaccess situato nella directory di root apache.

sudo vim/etc/apache2/apache2.conf

Passare alla fine del file e aggiungere la seguente voce:


Consentire tutto

Salva e chiudi il file.

Generazione del certificato SSL

Esistono vari modi per ottenere un certificato SSL gratuito. Strumenti come i generatori di certbot e SSL sono ottime opzioni.

Tuttavia, in questa guida, creeremo un certificato autofirmato utilizzando l'utilità OpenSSL.

Crea una directory nella directory di configurazione Apache come:

sudo mkdir/etc/apache2/certs

Navigare nella directory creata sopra.

CD/ETC/APACHE2/CERTS

Esegui l'utilità OpenSSL per generare il tuo certificato autofirmato come previsto nel comando seguente:

Nota: è possibile fornire qualsiasi informazione in questo processo tranne il nome comune. Assicurarsi di fornire un indirizzo IP o un nome host.

Una volta che il processo è stato completato correttamente, dovresti avere l'Apache.CRT e Apache.Chiave nella directory di certi.

Aggiunta di CERT alla configurazione Apache

Aggiungi il certificato modificando il file di configurazione del sito Web predefinito Apache.

sudo vim/etc/apache2/siti abilitati/000-default.conf

Aggiungi un blocco host virtuale sulla porta 443 come mostrato:


ServerAdmin Webmaster@localhost
DocumentRoot/var/www/html
Errorlog $ apache_log_dir/errore.tronco d'albero
CustomLog $ apache_log_dir/access.Registro combinato
Sslengine on
Sslcertificatefile/etc/apache2/cert/apache.Crt
SSLCERTIFATEKEKEFILE/ETC/APACHE2/CERTS/APACHE.chiave

Reindirizzamento a HTTPS.

Nella maggior parte dei casi, ti consigliamo di reindirizzare gli utenti da nessun endpoint SSL a SSL. Lo fai aggiungendo una regola di riscrittura sugli host virtuali della porta 80.

Aggiungi la voce come:

Riscrivere ingegnere
Riswitarecond %https != on
Riswriterule ^/?(.*) https: //%server_name/$ 1 [r = 301, l]

Nota: assicurarsi che i blocchi sopra siano sotto l'host virtuale della porta 80.

Riavvia e accedi ad Apache

Una volta configurato tutto sopra, riavvia il servizio Apache e accedi al tuo sito Web tramite LocalHost.

https: // 127.0.0.1

È possibile visualizzare le informazioni sul certificato facendo clic sull'icona di blocco nel browser.

Conclusione

In questa guida, abbiamo trattato come abilitare e configurare SSL sul server Web Apache.