Come installare e proteggere Apache su Debian 11

11 set 2021 5 min di lettura
Come installare e proteggere Apache su Debian 11
Indice dei contenuti

Introduzione

Il server Web Apache HTTP è uno dei server Web ampiamente utilizzati, in particolare sulle distribuzioni Linux, che è una piattaforma multipiattaforma gratuita utilizzata da un vasto numero di siti Web su Internet. Il server web Apache utilizza HTTP per elaborare la richiesta e intrattenere le informazioni web. Apache ha tantissime funzioni utili e le sue funzionalità possono essere migliorate con moduli extra. Consente inoltre ai programmatori di pubblicare il proprio lavoro su Internet.

Quindi, in questo articolo, discuteremo dell'installazione del server Web Apache e di come proteggerlo dopo l'installazione su Debian 11.

Requisiti

Prima dell'installazione, devi essere loggato nel sistema Debian con accesso a tutti i privilegi sudo. Si consiglia inoltre di completare la configurazione iniziale del server sui sistemi Debian 11 appena installati.

Installare Apache su Debian

L'ultima versione dei pacchetti Apache è disponibile nel repository Debian 11 predefinito. Quindi possiamo installarlo direttamente usando il gestore dei pacchetti.

Dopo il login, apri il terminale e aggiorna apt cache con il comando indicato di seguito:

sudo apt update 

Dopo aver aggiornato la cache di apt, ora installa Apache2 sul tuo Debian 11 Bullseye con il comando:

sudo apt install apache2 

Premere "y" per qualsiasi conferma richiesta dall'installatore.

Una volta completato il processo di installazione. Verifica la versione di Apache installata eseguendo il comando seguente:

apache2 -v 
Server version: Apache/2.4.48 (Debian)
Server built:   2021-08-12T11:51:47

Un altro modo per verificare l'installazione di Apache è accedere alla pagina predefinita di Apache2 utilizzando l'indirizzo IP o l'hostname del server. Se non conosci il tuo hostname, esegui prima il comando indicato di seguito:

hostname -I 

Inserisci l'hostname o l'indirizzo IP del tuo server nella barra degli URL del browser e premi Invio, la pagina predefinita di Apache2 Debian si aprirà.

Gestire il servizio Apache

Al termine dell'installazione, il servizio Apache può essere gestito utilizzando i comandi "systemctl", eseguire il comando indicato di seguito per verificare lo stato del server:

sudo systemctl status apache2.service 

Premere "q" per uscire. Pochi comandi per gestire il servizio Apache in Debian 11 sono:

Per avviare il server utilizzare il comando:

sudo systemctl start apache2.service 

Allo stesso modo, per interrompere il servizio, sostituire start con uno stop nel comando precedente:

sudo systemctl stop apache2.service 

Il servizio può essere riavviato utilizzando:

sudo systemctl restart apache2.service 

Configurare le impostazioni del firewall

Se il tuo sistema dispone di un firewall, dovrai autorizzare l'accesso a determinate porte Web in modo che gli utenti esterni possano utilizzarle. Eseguire il comando indicato di seguito per consentire la porta 80 (HTTP) e 443 (HTTPS) nel terminale Debian:

sudo ufw allow 80/tcp 
sudo ufw allow 443/tcp 

Ora verifica controllando lo stato:

sudo ufw status 

Se non è attivo, per abilitarlo all'utilizzo:

sudo ufw enable 

Creare un host virtuale in Apache

In Apache, gli host virtuali consentono di gestire numerosi siti Web su un singolo server. Nel server web Apache, creeremo un host virtuale. Per farlo, creeremo prima un sito Web chiamato sample.com con il blocco server fornito di serie con Apache.

Iniziamo configurando il primo host virtuale del tuo server Apache. Utilizzeremo il dominio di esempio come "sample.com", ma puoi denominarlo in base alle tue preferenze:

sudo mkdir -p /var/www/sample.com 

Ora cambia le autorizzazioni e il proprietario con il comando indicato di seguito:

sudo chown -R www-data:www-data /var/www/sample.com 
sudo chmod -R 755 /var/www/sample.com 

Eseguendo il comando indicato di seguito, per testare il nostro sito testdomain.info, ora costruiremo una pagina di indice di esempio. Per farlo, utilizzeremo l'editor nano per generare un file HTML simile a questo:

sudo nano /var/www/sample.com/index.html 

Inserisci il contenuto indicato di seguito nella pagina dell'indice e premi Ctrl+O per salvare il file e Ctrl+X per uscire dal file e tornare al terminale:

<html>
 <head>
   <title>Welcome to the page sample.com!</title>
 </head>
 <body>
   <h1>Congratulations! Your sample.com server succeeded!</h1>
 </body>
</html>

Eseguendo il comando indicato di seguito in un terminale, creeremo un file host virtuale, che servirà il contenuto del server:

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

Verrà aperto un file di testo, inserire il seguente contenuto:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName sample.com
  ServerAlias www.sampe.com
  DocumentRoot /var/www/sample.com
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Premi Ctrl+O per salvare il file e Ctrl+X per uscire dal file e tornare al terminale.

Abilitare la configurazione del dominio

Eseguire il comando seguente per attivare il file dell'host virtuale:

sudo a2ensite sample.com.conf 

Disabilita la configurazione Apache predefinita eseguendo il comando indicato di seguito:

sudo a2dissite 000-default.conf 

Le nuove modifiche ad Apache vengono rese applicabili eseguendo il comando indicato di seguito:

sudo systemctl restart apache2 

Risolvere l'errore dell'hostname

Ora, dobbiamo controllare la nostra configurazione per eventuali errori di sintassi, per testare la configurazione eseguire il comando indicato di seguito:

sudo apache2ctl configtest 

Ciò causerà un errore, ma non preoccuparti, lo risolveremo. Crea una nuova configurazione "servername.conf" e modifica in un editor di testo:

sudo nano /etc/apache2/conf-avaialable/servername.conf 

Ora inserisci il seguente contenuto nel file:

ServerName sample.com

Premi Ctrl+O per salvare il file e Ctrl+X per uscire dal file. Assicurati di cambiare "sample.com" con il tuo nome di dominio effettivo. Ora per abilitare il nome del server conf, esegui il comando indicato di seguito:

sudo a2enconf servername 

Ora esegui di nuovo il comando precedente per testare la configurazione:

sudo apache2ctl configtest 

Vedrai che l'errore del nome host è stato risolto ora.

Come proteggere Apache2 su Debian 11

Per proteggere il server Apache, modifica il file "security.conf" , esegui il comando indicato di seguito per aprire il file:

sudo nano /etc/apache2/conf-enabled/security.conf 

Inserisci o aggiorna il contenuto seguente nel file:

ServerTokens Prod
ServerSignature Off
TraceEnable Off
Header always append X-Frame-Options SAMEORIGIN
Header always set X-XSS-Protection: "1; mode=block"
Header always set X-Content-Type-Options: "nosniff"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

Salva il file e chiudilo.

Imposta il protocollo SSLCipherSuite e SSL a livello di server per utilizzare cifrari sicuri per servire il sito Web modificando il file ssl.conf:

sudo nano /etc/apache2/mods-enabled/ssl.conf 

Ora inserisci il contenuto scritto di seguito nel file e premi Ctrl+O per salvare il file e Ctrl+X per uscire dal file:

SSLProtocol -all +TLSv1.2
SSLCipherSuite HIGH:!aNULL:!MD5

Ora esegui il comando reload di Apache per salvare la configurazione:

sudo systemctl restart apache2.service 

Questo è tutto. Hai installato e protetto con successo il server Apache.

Conclusione

Apache Web Server è un server open source utilizzato da molti siti Web su Internet e consente agli sviluppatori di pubblicare il proprio lavoro su Internet. Questo server è disponibile su tutti i sistemi operativi, ma in questo articolo discutiamo della sua installazione sull'ultima versione di Debian (sistema operativo Linux) e spieghiamo anche come testarlo e proteggerlo dopo la corretta installazione. Sarai in grado di installare con successo Apache2 su Debian 11 Bullseye e configurare il server dopo aver seguito questa guida.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.