Come installare Apache (httpd) su RHEL e CentOS Stream 9

9 feb 2023 3 min di lettura
Come installare Apache (httpd) su RHEL e CentOS Stream 9
Indice dei contenuti

Introduzione

Apache è uno dei server Web open source più popolari oggi disponibili, che offre un robusto set di funzionalità e prestazioni elevate. In questo articolo, ti mostreremo come installare Apache su RHEL e CentOS Stream 9 e quindi proteggerlo per l'uso in produzione.

Prerequisiti

Prima di iniziare, devi avere accesso a un server che esegue RHEL e CentOS Stream 9. Dovresti anche disporre dei privilegi di root o sudo in modo da poter installare i pacchetti e apportare modifiche al sistema. Inoltre, dovrai avere una conoscenza di base dei comandi di Linux e come utilizzare un editor di testo come nano o vim.

Installare Apache

Per installare Apache, devi prima aggiungere il repository EPEL al tuo sistema. Questo può essere fatto con il seguente comando:

sudo dnf install epel-release 

Successivamente, puoi installare Apache usando il seguente comando:

sudo dnf install httpd 

Una volta completata l'installazione, puoi avviare Apache con il seguente comando:

sudo systemctl start httpd 

Per assicurarti che Apache si avvii automaticamente all'avvio, esegui il seguente comando:

sudo systemctl enable httpd 

Testare l'installazione

Per testare l'installazione, apri un browser Web e vai a http://your-server-ip. Dovresti vedere una pagina che dice "Benvenuto nel tuo server Web Apache". Ciò conferma che Apache è attivo e funzionante sul tuo sistema.

Proteggere Apache

Ora che Apache è installato, è il momento di proteggerlo per l'uso in produzione. Ecco alcuni passaggi fondamentali da seguire:

Aggiorna Apache all'ultima versione

È importante mantenere aggiornata l'installazione di Apache per sfruttare le correzioni di sicurezza e altri miglioramenti. Puoi aggiornare Apache usando il seguente comando:

sudo dnf update httpd 

Disabilita l'elenco delle directory

Per impostazione predefinita, Apache visualizzerà un elenco di directory se non è presente alcun file di indice in una directory. Questo può essere un rischio per la sicurezza, quindi è meglio disabilitare l'elenco delle directory. Puoi farlo aggiungendo le seguenti righe al file di configurazione di Apache che si trova in /etc/httpd/conf/httpd.conf:

<Directory /var/www/html>
Options -Indexes
</Directory>

Configurare un firewall

Un firewall può aiutarti a proteggere il tuo server da accessi non autorizzati bloccando il traffico in entrata su determinate porte. Su RHEL e CentOS Stream 9, puoi utilizzare il servizio firewall integrato, firewalld, per controllare il traffico in entrata. Per consentire il traffico verso Apache, eseguire il seguente comando:

sudo firewall-cmd --permanent --add-service=http 
sudo firewall-cmd --reload 

Abilitare la crittografia SSL/TLS

Per crittografare i dati trasmessi tra il server e i client, è necessario abilitare la crittografia SSL/TLS. Questo può essere fatto ottenendo un certificato SSL e configurando Apache per usarlo. È possibile creare un certificato autofirmato utilizzando il seguente comando:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache.key -out /etc/ssl/certs/apache.crt 

Successivamente, è necessario configurare Apache per utilizzare il certificato. Questo può essere fatto aggiungendo le seguenti righe al file di configurazione di Apache che si trova in /etc/httpd/conf/httpd.conf:

<VirtualHost _default_:443>
    DocumentRoot "/var/www/html"
    ServerName your-server-name
 
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/apache.crt
    SSLCertificateKeyFile /etc/ssl/private/apache.key
 
    <Directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Riavvia Apache dopo aver apportato queste modifiche utilizzando il seguente comando:

sudo systemctl restart httpd 

Limitare l'accesso ai file sensibili

È importante limitare l'accesso a file riservati come file di configurazione e registri. Puoi farlo aggiungendo le seguenti righe al file di configurazione di Apache che si trova in /etc/httpd/conf/httpd.conf:

<FilesMatch "\.(log|cfg)$">
    Require all denied
</FilesMatch>

Conclusione

Seguendo i passaggi descritti in questo articolo, hai installato e protetto correttamente Apache su RHEL e CentOS Stream 9. Questi sono solo alcuni dei passaggi di base per proteggere l'installazione di Apache e dovresti sempre rimanere aggiornato sulla sicurezza migliore pratiche e sviluppi sul campo per garantire che il tuo server rimanga sicuro. Inoltre, è importante monitorare regolarmente i log di Apache e tenere d'occhio eventuali segni di attività dannose o incidenti di sicurezza. Con le giuste precauzioni in atto, puoi assicurarti che il tuo server Apache funzioni in modo fluido e sicuro.

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.