GNU/Linux >> Linux Esercitazione >  >> Panels >> Panels

Come installare Let's Encrypt su Ubuntu 20.04 con Apache

In questo articolo, ti mostreremo come installare il client Let's Encrypt sul tuo VPS Ubuntu 20.04, emettere un certificato SSL per il tuo dominio e configurarlo con il server web Apache.

Let's Encrypt è un'autorità di certificazione (CA) che consente a chiunque di ottenere un certificato SSL gratuito con comandi semplici e automatizzati. In questo tutorial utilizzeremo uno strumento chiamato certbot , che è una parte ufficiale dello sforzo di EFF per crittografare l'intera Internet. Grazie a questo comodo strumento, impostare un certificato SSL per proteggere i visitatori del tuo sito web e migliorare la sicurezza del tuo sito web non è mai stato così facile. Tutti i certificati SSL forniti da Let's Encrypt possono essere utilizzati per scopi produttivi/commerciali senza alcun costo o commissione. Iniziamo con l'installazione e la configurazione.

Iniziamo con l'installazione:è un'installazione semplice e non richiederà molto tempo.

Prerequisiti

  • Ai fini di questo tutorial, utilizzeremo un VPS Ubuntu 20.04.
  • È richiesto un utente con privilegi sudo o accesso root SSH completo. Tutti i nostri VPS sono dotati di accesso root.
  • Un nome di dominio valido puntato all'indirizzo IP del tuo server. In questo tutorial utilizzeremo domain.com come esempio.

1. Collegati al tuo Server

Prima di iniziare, devi connetterti al tuo server tramite SSH come utente root. Per fare ciò, usa il seguente comando:

ssh root@IP_ADDRESS -p PORT_NUMBER

ovviamente dovrai sostituire IP_ADDRESS e PORT_NUMBER con l'indirizzo IP del tuo server effettivo e il numero di porta SSH.

Una volta effettuato l'accesso, assicurati che il tuo server sia aggiornato eseguendo i seguenti comandi:

sudo apt update
sudo apt upgrade

2. Installa il server Web Apache2

Abbiamo scelto di utilizzare uno dei server Web più popolari nel nostro articolo. Installeremo Apache2 poiché abbiamo bisogno di un server web su cui installare il certificato SSL gratuito Let's Encrypt. Non ha senso avere un certificato SSL senza pagine web. Scopri alcune delle migliori alternative gratuite a Let's Encrypt.

Esegui il comando seguente per installare Apache2:

sudo apt install apache2

Una volta installato Apache2 sul tuo server, sarai in grado di utilizzare i comandi seguenti per avviare, interrompere e abilitare il servizio. Ti consigliamo di abilitarlo in modo che Apache possa avviarsi automaticamente ogni volta che il tuo server si riavvia.

sudo systemctl stop apache2.service
sudo systemctl start apache2.service
sudo systemctl enable apache2.service

Per confermare di aver installato correttamente Apache2, puoi aprire il tuo browser web preferito e digitare l'indirizzo IP del tuo server o il tuo dominio (supponiamo che sia indirizzato al tuo server) e dovresti essere in grado di visualizzare la pagina predefinita di Apache2 Ubuntu.

3. Configura l'host virtuale Apache

Dato che ora hai Apache installato sul tuo server, possiamo continuare e mostrarti come creare un host virtuale per il dominio che desideri utilizzare. Useremo nano come nostro editor, ma se non preferisci nano, puoi usare qualsiasi editor di tua scelta e creare un nuovo file di configurazione chiamato domain.com.conf .

sudo nano /etc/apache2/sites-available/domain.com.conf

Quindi incolla la configurazione dal basso nel file e sostituisci tutte le occorrenze di domain.com con il tuo nome di dominio effettivo.

<VirtualHost *:80>

DocumentRoot /var/www/html/domain.com
ServerName domain.com
ServerAlias www.domain.com

<Directory /var/www/html/domain.com/>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Al termine della modifica del file, salvalo e chiudilo.

Dopo aver configurato l'host virtuale, puoi abilitarlo eseguendo i seguenti comandi.

Disabilita l'host virtuale preinstallato predefinito con:

sudo a2dissite 000-default

quindi, abilita domain.com host virtuale:

sudo a2ensite domain.com.conf

inoltre, devi assicurarti che la mod rewrite è abilitato:

sudo a2enmod rewrite

Riavvia Apache in modo che le modifiche abbiano effetto.

sudo systemctl restart apache2.service

4. Installa Certbot

Come accennato in precedenza, utilizzeremo Certbot in modo da poter ottenere un certificato SSL gratuito da Let's Encrypt. Per installare questo utile strumento, dobbiamo abilitare l'universe deposito:

sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update

Esegui questo comando sulla riga di comando sulla macchina per installare Certbot.

sudo apt install certbot python3-certbot-apache

5. Genera un certificato SSL Let's Encrypt gratuito

Esistono molti modi per ottenere un certificato SSL con Certbot. Utilizzeremo il plugin Apache, che si occuperà di riconfigurare l'host virtuale di Apache e ricaricherà per noi la nuova configurazione. Puoi eseguire il seguente comando per utilizzare il plug-in:

sudo certbot --apache

Usando questo script, devi rispondere a una serie di domande e fornire un indirizzo email. Nel primo passaggio, devi digitare un indirizzo email valido. L'indirizzo email è richiesto per le notifiche e gli avvisi di sicurezza relativi al certificato del tuo sito web:

Output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

Il passaggio successivo è confermare che accetti i termini di servizio di Let's Encrypt. Se vuoi confermare, digita A e poi premi [ENTER]:

Output:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Se desideri condividere l'indirizzo email fornito con la EFF (Electronic Frontier Foundation) per ricevere notizie e altre informazioni, puoi digitare Y. Se non desideri ricevere questo tipo di email, puoi digitare N e inviare la tua risposta tramite digitando [INVIO].

Output:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

Ora devi selezionare il dominio per cui desideri attivare HTTPS. I domini e i sottodomini elencati nel prompt dei comandi vengono ottenuti automaticamente dalla configurazione dell'host virtuale Apache. Digita i numeri separati da virgole e/o spazi oppure, se desideri abilitare HTTPS per tutti i domini o sottodomini, puoi lasciare vuoto il prompt. In ogni caso, premi [INVIO] per procedere al passaggio successivo.

Output:
Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: domain.com
2: www.domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

L'output sarà simile a questo:

Output:
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for domain.com
http-01 challenge for www.domain.com
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/domain.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/domain.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/domain.com-le-ssl.conf

Certbot fornisce il reindirizzamento HTTPS come opzione che puoi abilitare. In questo passaggio, lo script ti chiederà di selezionare se desideri che l'intero traffico HTTP venga reindirizzato a HTTPS o mantieni la configurazione corrente. Selezionare 1 se non si desidera il reindirizzamento o 2 per abilitare il reindirizzamento, quindi premere [INVIO].

Output:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Ottimo lavoro. Il tuo certificato SSL è ora installato e caricato nella configurazione di Apache. Vedrai un output simile al seguente:

Output:
Redirecting vhost in /etc/apache2/sites-enabled/domain.com.conf to ssl vhost in /etc/apache2/sites-available/domain.com-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://domain.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.com/privkey.pem
Your cert will expire on 2021-09-09. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Per verificare che il tuo nuovo certificato SSL sia impostato correttamente, visita https://domain.com/ nel tuo browser web e controlla l'icona del lucchetto verde nella barra degli URL. Puoi anche utilizzare un sito Web o strumenti esterni per verificare se il tuo certificato SSL è installato correttamente.

6. Verifica del rinnovo automatico di Certbot

I certificati SSL forniti da Let's Encrypt sono validi solo per 90 giorni. Il Certbot che abbiamo installato imposterà un cronjob che si occuperà di rinnovare qualsiasi certificato SSL che sia entro trenta giorni dalla scadenza. Per verificare lo stato di questo servizio, puoi eseguire il comando:

sudo systemctl status certbot.timer
Output:
● certbot.timer - Run certbot twice daily
Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Thu 2021-06-11 11:33:00 UTC; 1h 37min ago
Trigger: Thu 2021-06-11 15:52:01 UTC; 2h 41min left
Triggers: ● certbot.service

oppure puoi elencare tutti i timer con:

sudo systemctl list-timers

Puoi testare il rinnovo automatico dei tuoi certificati eseguendo questo comando:

sudo certbot renew --dry-run

e il comando per rinnovare il certificato SSL si trova in una delle seguenti posizioni:

/etc/crontab/
/etc/cron.*/*

Congratulazioni! Hai installato con successo un certificato SSL Let's Encrypt gratuito per il tuo dominio.

In questo articolo, ti abbiamo mostrato come installare il server web Apache2 e Certbot, nonché come creare un host virtuale Apache e, naturalmente, installare un certificato SSL per il tuo dominio. Il tuo sito web dovrebbe ora essere sicuro e rinnovarsi automaticamente per rimanere tale.

Naturalmente, se sei uno dei nostri clienti di Managed Ubuntu Hosting, non devi installare un certificato SSL Let's Encrypt per il tuo dominio da solo:chiedi semplicemente ai nostri amministratori, siediti e rilassati. I nostri amministratori installeranno immediatamente un certificato SSL Let's Encrypt sul tuo VPS Ubuntu 20.04 per te, insieme a molte utili ottimizzazioni che possiamo fare per te.

Se ti è piaciuto questo post su come installare Let's Encrypt su Ubuntu 20.04 con Apache, condividilo con i tuoi amici sui social network usando i pulsanti di condivisione qui sotto, o semplicemente lascia un commento nella sezione commenti. Grazie.


Panels
  1. Come installare Apache su Ubuntu 18.04

  2. Come installare Apache su Ubuntu 20.04

  3. Come installare Elgg con Nginx su Ubuntu 14.04

  4. Come installare Let's Encrypt SSL su Ubuntu 18.04 con Nginx

  5. Come installare Joomla con Nginx su Ubuntu 18.04

Come installare Let's Encrypt SSL su Ubuntu con Apache

Come installare Nginx con Let's Encrypt SSL su Ubuntu 20.04 LTS

Come installare Apache con Let's Encrypt SSL su Ubuntu 20.04 LTS

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx

Come installare Apache su Ubuntu 22.04