Come installare Let's Encrypt SSL con Apache su Debian 11. Imparerai anche a configurare l'host virtuale con Apache e a proteggere la tua configurazione con il reindirizzamento HTTPS.
Questa configurazione è stata testata sul cloud di Google, quindi funzionerà su tutti i servizi di hosting cloud come AWS, Azure o qualsiasi VPS o qualsiasi server dedicato che esegue Debian 11.
Prerequisiti
- Accesso root al tuo server o a un utente sudo.
- Dominio ha puntato all'IP del tuo server per installare Let'sEncrypt SSL
Fase 1:inizializzazione della configurazione
Inizia aggiornando i pacchetti all'ultima versione disponibile utilizzando il comando seguente.
sudo apt update sudo apt upgrade
Installa il pacchetto wget.
sudo apt install wget
Dopo aver aggiornato la configurazione, puoi iniziare la configurazione.
Fase 2:installa Apache
Installa Apache usando il seguente comando.
sudo apt install apache2
Questo installerà apache2
e tutte le dipendenze richieste.
Fase 3:imposta il firewall
Ora puoi configurare Uncomplicated Firewall (UFW) con Apache per consentire l'accesso pubblico alle porte Web predefinite per HTTP
e HTTPS
sudo ufw app list
Vedrai tutte le applicazioni elencate.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Questo profilo apre la porta
80
(traffico web normale, non crittografato) - Apache completo :Questo profilo apre entrambe le porte
80
(traffico web normale, non crittografato) e porta443
(traffico crittografato TLS/SSL) - Apache Secure :Questo profilo apre solo la porta
443
(traffico crittografato TLS/SSL) - OpenSSH :Questo profilo apre la porta
22
per l'accesso SSH.
Se non intendi utilizzare SSL devi abilitare solo il profilo Apache.
Ora abiliteremo Apache Full.
sudo uff allow OpenSSH sudo ufw allow 'Apache Full'
Con questo comando puoi visualizzare lo stato di UFW.
sudo ufw status
Vedrai l'output come segue.
Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Passaggio:4 Verifica l'installazione di Apache
Una volta installato Apache, viene avviato automaticamente ed è già attivo e funzionante.
Ogni processo in Apache è gestito con systemctl
comando. Controlla lo stato di Apache con il seguente comando.
sudo systemctl status apache2
Output ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Tue 2022-02-02 10:29:51 UTC; 5min ago Main PID: 10617 (apache2) Tasks: 55 (limit: 667) CGroup: /system.slice/apache2.service ├─10617 /usr/sbin/apache2 -k start ├─10619 /usr/sbin/apache2 -k start └─10620 /usr/sbin/apache2 -k start Feb 02 10:29:51 apache systemd[1]: Starting The Apache HTTP Server… Feb 02 10:29:51 apache systemd[1]: Started The Apache HTTP Server.
Ora abbiamo Apache installato e configurato Firewall.
Fase 5:configura Apache
Disabilita la configurazione predefinita di Apache.
sudo a2dissite 000-default
Crea directory di siti Web.
sudo mkdir -p /var/www/html/domainname/public
Imposta le autorizzazioni corrette.
sudo chmod -R 755 /var/www/html/domainname sudo chown -R www-data:www-data /var/www/html/domainname
Crea una nuova configurazione di host virtuale.
sudo nano /etc/apache2/sites-available/domainname.conf
Incolla le seguenti configurazioni nel nuovo file.
<VirtualHost *:80> ServerAdmin [email protected] ServerName domainname.com ServerAlias www.domainname.com DocumentRoot /var/www/html/domainname/public <Directory /var/www/html/domainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Abilita la nuova configurazione.
sudo a2ensite domainname.conf
Passaggio 6:installa Let's Encrypt SSL
HTTPS è un protocollo per la comunicazione sicura tra un server (istanza) e un client (browser web). Grazie all'introduzione di Let's Encrypt, che fornisce certificati SSL gratuiti, HTTPS è adottato da tutti e fornisce anche fiducia al tuo pubblico.
Qui installeremo Certbot per installare Let'sEncrypt SSL usando Snap.
sudo apt update sudo apt install snapd -y sudo snap install core sudo snap refresh core
Installa lo strumento Certbot.
sudo snap install --classic certbot
Configura Certbot in modo che sia eseguibile come comando.
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Ora abbiamo installato Certbot per installare Let's Encrypt per Debian 11.
Esegui il comando seguente per installare i certificati.
sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com
Seleziona l'opzione appropriata e premi Enter
Questo comando installerà Free SSL, configurerà il reindirizzamento a HTTPS e riavvierà il server Apache.
Fase 7:rinnovo del certificato SSL
I certificati forniti da Let's Encrypt sono validi solo per 90 giorni, quindi è necessario rinnovarli spesso. Quindi, testiamo la funzionalità di rinnovo utilizzando il seguente comando.
sudo certbot renew --dry-run
Questo comando verificherà la scadenza del certificato e configura la funzione di rinnovo automatico.
Fase:8:verifica la configurazione
Dopo aver eseguito i passaggi abili, puoi creare un nuovo file HTML di prova nella tua directory web.
sudo nano /var/www/html/domainname/public/index.html
Incolla il codice seguente all'interno del file.
<!DOCTYPE html> <html> <body> <h1>Test page with HTTPS</h1> </body> </html>
Salva il file.
Ora vai avanti e controlla il tuo nome di dominio nel browser (domainname.com
).
Vedrai che il tuo dominio è stato reindirizzato a HTTPS e vedrai l'output HTML.
Potenzia la tua carriera di amministrazione Linux con un corso di formazione completato e ottieni il lavoro dei tuoi sogni.
Conclusione
Ora hai imparato come installare Let's Encrypt Free SSL con Apache su Debian 11.
Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.