Come installare e configurare Apache con Let's Encrypt TLS/SSL su Debian 11 Bullseye

Apache, conosciuto anche come Server HTTP Apache, è stata una delle applicazioni server Web più utilizzate a livello globale negli ultimi decenni. È un software applicativo web gratuito e open-source gestito dal Apache Software Foundation. Apache fornisce alcune potenti funzionalità con moduli caricabili dinamicamente, facile integrazione con altri software e gestione di file statici, tra le altre caratteristiche popolari.

Nel seguente tutorial imparerai come installare il server Web Apache su Debian 11 Bullseye.

Prerequisiti

  • Sistema operativo consigliato: Debian 11 Bullseye
  • Account utente: Un account utente con privilegi sudo or accesso root (comando su).

Aggiornamento del sistema operativo

Aggiorna il tuo Debian 11 Bullseye sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:

sudo apt update && sudo apt upgrade

Accesso root o sudo

Per impostazione predefinita, quando crei il tuo account all'avvio con Debian rispetto ad altre distribuzioni, non riceve automaticamente lo stato di sudoers. Devi avere accesso a password di root usare il comando su o visita il nostro tutorial su Come aggiungere un utente a Sudoers su Debian.

Il tutorial utilizzerà il comando sudo , che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana supponendo che tu abbia lo stato di sudo. Se non hai impostato un utente sudo, usa il seguente comando per accedere a root per continuare.

su

pubblicità


Metodo 1. Installa Apache dal repository Debian

La prima opzione per installare Apache è usare il repository Debian predefinito. Questo è più pratico per la maggior parte degli utenti in quanto è molto stabile e sicuro.

Per installare Apache, apri il tuo terminale ed esegui il seguente comando:

sudo apt install apache2 -y

Quindi, verifica che l'installazione sia andata a buon fine verificando la versione build di Apache:

sudo apache2 --version

Esempio di output:

Server version: Apache/2.4.51

Verificare se Apache2 è in esecuzione correttamente utilizzando quanto segue systemctl comando:

systemctl status apache2

Output di esempio se tutto è ok:

Come installare e configurare Apache con Let's Encrypt TLS/SSL su Debian 11 Bullseye

Metodo 2. Installa l'ultimo Apache da Ondřej Surý Repository

Per impostazione predefinita, Apache è disponibile in I repository software di Debian, facilitando l'installazione. Tuttavia, come molti sanno con Debian, spesso può mancare rispetto a ciò che è attuale, non tanto per i rischi per la sicurezza. Tuttavia, mancano le funzionalità e i miglioramenti più recenti.

È consigliato agli utenti che desiderano installare l'ultima versione di Apache Ondřej Surý's versione di Apache 2, che è il più aggiornato e precostruito con moduli extra ampiamente utilizzati.

Innanzitutto, se non hai curl installato, usa il seguente comando:

sudo apt install curl -y

Per aggiungere il Repository, usa il seguente comando nel tuo terminale:

curl -sSL https://packages.sury.org/apache2/README.txt | sudo bash -x

Aggiorna il tuo repository per riflettere la nuova modifica:

sudo apt update

Ora che hai installato il Repository Apache e aggiornato l'elenco dei repository, installa Apache2 con quanto segue:

sudo apt install apache2 -y

L'installazione installerà tutte le dipendenze necessarie.

Una volta installato, confermare la versione eseguendo il seguente comando:

apache2 -v

Esempio di output:

Server version: Apache/2.4.51

Nota che entrambi i repository sono sulla stessa versione al momento del tutorial a causa di un aggiornamento CVE URGENTE. Normalmente, il repository Ondřej Surý è sempre davanti al Debian 11 predefinito.

Verificare se Apache2 è in esecuzione correttamente utilizzando quanto segue systemctl comando:

systemctl status apache2

Output di esempio se tutto è ok:

Come installare e configurare Apache con Let's Encrypt TLS/SSL su Debian 11 Bullseye

pubblicità


Facoltativo: configura il firewall UFW per Apache

Gli utenti Debian che hanno installato UFW dovranno regolare il Regole UFW per consentire l'accesso esterno alle porte Web predefinite. Fortunatamente, durante l'installazione, Apache si registra con UFW per fornire alcuni profili che possono essere utilizzati per abilitare o disabilitare l'accesso, rendendo la configurazione facile e veloce.

Per impostazione predefinita, UFW non è installato. Se desideri installare UFW, esegui il seguente comando nel tuo terminale:

sudo apt install ufw -y

Quindi, abilita UFW. Quando abiliti il ​​firewall, negherà tutte le entrate e consentirà tutte le uscite per impostazione predefinita.

sudo ufw enable

Innanzitutto, elenca i profili dell'applicazione per vedere i profili Apache disponibili con il seguente comando:

sudo ufw app list

Esempio di output:

Available applications:
  Apache
  Apache Full
  Apache Secure

Dall'output sopra, hai tre opzioni di profilo tra cui scegliere. Per abbatterlo, Apache gira sulla porta 80 (HTTP), Apache Sicuro gira sulla porta 443 (HTTPS), e Apache completo è una combinazione di consentire entrambi. Il più comune è Apache Full o Apache Secure.

Per il tutorial, poiché non abbiamo impostato SSL, abiliteremo il profilo (Apache) con il seguente comando:

sudo ufw allow 'Apache'

Esempio di output:

Rule added
Rule added (v6)

Come sopra, le regole sono state aggiunte sia per IPV4 che per IPV6. Successivamente, puoi disabilitare questo profilo e abilitare solo protetto o disabilitare la regola Apache e utilizzare invece la regola Apache Full.

Verifica il server Web Apache

Ora che hai installato e configurato il firewall UFW, è il momento di verificare se Apache 2 è raggiungibile e funziona correttamente richiedendo una pagina.

Puoi accedere alla pagina di destinazione predefinita di Apache per verificare se il software funziona correttamente tramite l'indirizzo IP del tuo server. Per scoprirlo, se non lo sai, usa il seguente comando:

hostname -I

Dovresti recuperare l'indirizzo IP interno su cui si trova il server come esempio:

###EXAMPLE ONLY###
192.168.50.15 

Potresti ottenere da 2 a 3 risultati indietro. Provali finché non trovi l'indirizzo IP corretto.

Se hai bisogno del tuo indirizzo IP pubblico (esterno), usa invece il seguente comando:

curl -4 icanhazip.com

Potrebbe essere necessario installare il pacchetto CURL se manca. Per fare ciò, eseguire il seguente comando:

sudo apt install curl -y

Una volta ottenuto l'indirizzo IP del tuo server, apri il tuo browser Internet preferito e inserisci quanto segue:

http://your_server_ip

Dovresti ottenere la seguente pagina nel tuo browser Internet:

Come installare e configurare Apache con Let's Encrypt TLS/SSL su Debian 11 Bullseye

Congratulazioni, hai installato il server web Apache 2 e al momento stai lavorando.

Il passaggio successivo consiste nell'impostare gli host virtuali.


pubblicità


Crea e/o configura host virtuali per Apache

Utilizzando il server web Apache, puoi creare host virtuali per gestire le configurazioni per più di un dominio in esecuzione su un singolo server. Se hai già usato Nginx, è l'equivalente dei blocchi del server. Nell'esempio seguente, il tutorial creerà un dominio example-domain.com che sostituirai con il tuo nome di dominio.

Per impostazione predefinita, Apache su Debian 11 ha un blocco server abilitato per impostazione predefinita che è configurato per servire i documenti dal / Var / www / html directory. Se stai gestendo un sito web, puoi modificare questo blocco di server in base alle tue esigenze. Tuttavia, se stai ospitando più siti web, devi creare una nuova struttura di directory per i tuoi vari domini.

Creare e/o configurare directory

Per prima cosa, parti / Var / www / html directory intatta come directory predefinita, quindi crea una nuova directory, ad esempio-dominio.com, come di seguito:

sudo mkdir /var/www/example_domain

Il passaggio successivo consiste nell'assegnare la proprietà della directory con la variabile di ambiente $USER:

sudo chown -R $USER:$USER /var/www/example_domain

Di solito, i permessi di root web dovrebbero essere impostati correttamente e puoi verificarli usando il -ls l comando:

ls -l /var/www/example_domain

Esempio di output:

drwxr-xr-x 2 joshua joshua 4096 Oct 10 11:46 example_domain

Come puoi vedere, abbiamo il permesso di drwxr-xr-x, che è l'equivalente di chmod 755. Se non disponi di questa autorizzazione, esegui il comando seguente:

sudo chmod -R 755 /var/www/example_domain

Ora crea una pagina di esempio index.html usando il tuo editor di testo preferito. Il tutorial utilizzerà nano come di seguito:

sudo nano /var/www/example_domain/index.html

Nel file, copia e incolla il seguente codice:

<html>
    <head>
        <title>Welcome to Website!</title>
    </head>
    <body>
        <h1>Success! The virtual host is working! You did not mess it up.</h1>
    </body>
</html>

Salva il file (CTRL+O), quindi esci (CTRL+X).

Crea host virtuale

Ora che hai creato una pagina di destinazione e impostato la proprietà e le autorizzazioni corrette. Ora puoi procedere alla creazione di un file host virtuale. Per impostazione predefinita, tutti i file dell'host virtuale dovranno trovarsi in / etc / apache2 / sites-available / directory.

Per prima cosa, usa il tuo editor di testo preferito per creare un file di configurazione che si trova in /etc/apache2/sites-available/example_domain.conf come di seguito:

sudo nano /etc/apache2/sites-available/example_domain.conf

Ora, copia e incolla quanto segue nel file del blocco di configurazione, nota per sostituire il tuo NomeServer, ServerAlias, , che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana Radice documento con il tuo:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName example_domain
    ServerAlias www.example_domain
    DocumentRoot /var/www/example_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Nota, ricorda di non dimenticare di modificare le direttive Server richieste con le tue.

Salva il file di configurazione usando (CTRL+O) ed esci con (CTRL+X).

Abilita host virtuale

Ora che hai pronto il file di configurazione dell'host virtuale, è il momento di abilitarlo. Con Apache, a differenza di Nginx, dove creeresti un collegamento simbolico usando il comando ln -s, Apache usa i suoi strumenti, come mostrerà il tutorial di seguito:

Innanzitutto, disabilita il file di blocco del server installato predefinito esistente 000-default.conf con il comando a2dissite:

sudo a2dissite 000-default.conf

Ora abilita il tuo file host virtuale con il a2ensite comando:

sudo a2ensite example_domain.conf

Ora, come la maggior parte delle applicazioni per server Web, Apache ha un funzionamento a secco funzione. Prima di renderlo attivo, prova il tuo file di configurazione usando il seguente comando:

sudo apache2ctl configtest

Se tutto funziona correttamente, l'output di esempio dovrebbe essere:

Syntax OK

Ora riavvia il server web Apache per rendere attivo il tuo nuovo host virtuale con il seguente comando:

sudo systemctl restart apache2

Apache dovrebbe attualmente servire la pagina di destinazione che hai creato per il tuo nuovo dominio. Per testarlo, apri il tuo browser Internet e digita il tuo nome di dominio HTTP://dominio_esempio dove dovresti ottenere la seguente pagina di destinazione che hai creato nel file index.html:

Come installare e configurare Apache con Let's Encrypt TLS/SSL su Debian 11 Bullseye

Congratulazioni, hai creato con successo il tuo host virtuale e l'hai fatto funzionare correttamente sul tuo dominio.

Apache sicuro con Let's Encrypt certificato SSL gratuito

Idealmente, vorresti eseguire il tuo Apache su HTTPS utilizzando un certificato SSL. Il modo migliore per farlo è usare Criptiamo, un'autorità di certificazione gratuita, automatizzata e aperta gestita dal Internet Security Research Group (ISRG) senza scopo di lucro.

Innanzitutto, installa il pacchetto certbot come segue:

sudo apt install python3-certbot-apache -y

Una volta installato, esegui il seguente comando per avviare la creazione del tuo certificato:

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d www.example.com

Questa è la configurazione ideale che include reindirizzamenti forzati HTTPS 301, intestazione Strict-Transport-Security e Stapling OCSP. Assicurati solo di adattare l'e-mail e il nome di dominio alle tue esigenze.

Ora il tuo URL sarà https://www.example.com invece di HTTP://www.esempio.com.

Nota, se usi il vecchio URL HTTP, reindirizzerà automaticamente a HTTPS.


pubblicità


Gestione del servizio Apache

Ora che Apache è in esecuzione correttamente sul tuo server, alcune note chiave di gestione sono le seguenti.

Registri del server Apache

I log del server Apache possono essere trovati nella directory /var/log/apache2/ con access.log , che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana error.log rispettosamente essere l'accesso predefinito e i nomi di errore forniti. Questo può essere cambiato con altri nomi nel file di configurazione dell'host virtuale in futuro.

Comandi Apache

I seguenti comandi che utilizzerai senza dubbio nella tua gestione quotidiana quando lavori con Apache. Alcuni dei più comuni sono:

Per arrestare il server web Apache:

sudo systemctl stop apache2

Per avviare il server web Apache:

sudo systemctl start apache2

Per riavviare il server web Apache:

sudo systemctl restart apache2

Per ricaricare il server web Apache (Per ulteriori modifiche minori che non richiedono un riavvio):

sudo systemctl reload apache2

Per disabilitare Apache all'avvio del server:

sudo systemctl disable apache2

Per avviare Apache all'avvio del server (Abilitato automaticamente all'installazione):

sudo systemctl enable apache2

Come aggiornare Apache

Per aggiornare Apache in futuro, questo viene fatto con il comando che hai usato per verificare se il tuo sistema è aggiornato. Nota, crea sempre backup o immagini se disponi di un servizio Apache che esegue servizi critici. Di solito, è abbastanza sicuro eseguire l'aggiornamento, ma a volte possono verificarsi bug come qualsiasi aggiornamento del software.

Per aggiornare Apache, usa il seguente comando:

sudo apt update

Se è disponibile un aggiornamento di Apache, utilizzare il comando:

sudo apt upgrade

pubblicità


Come rimuovere (disinstallare) Apache

Per rimuovere Apache se non lo usi più, puoi farlo usando il seguente comando:

sudo apt autoremove apache2 --purge

Questo comando rimuoverà anche tutte le dipendenze inutilizzate fornite con l'installazione.

Commenti e Conclusione

Nel tutorial, hai imparato come installare Apache 2 utilizzando il repository predefinito di Debian o l'Apache 2 aggiornato consigliato utilizzando il repository di Ondřej Surý. Nel complesso, Apache è da decenni il server di applicazioni Web più utilizzato al mondo. Tuttavia, Nginx ha finalmente superato di poco il comando. Apache è ancora una delle applicazioni Web più implementate e riconosciute, in particolare con la combinazione di stack LAMP, che viene spesso utilizzata per i server Web di back-end. Troverai opzioni più amichevoli per Apache rispetto a Nginx, portando i nuovi utenti a entrare nell'hosting del loro server web, forse per provare Apache su Nginx come primo passo.

Sottoscrivi
Notifica
0 Commenti
Feedback in linea
Visualizza tutti i commenti
0
Amerei i tuoi pensieri, per favore commenta.x