Come installare e configurare Apache (HTTPD) con Let's Encrypt TLS/SSL su Rocky Linux 8

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 Apache Web Server su Rocky Linux 8.

Prerequisiti

  • Sistema operativo consigliato: Rocky Linux 8.+.
  • Account utente: Un account utente con accesso sudo o root.

Aggiorna il sistema operativo

Aggiorna il tuo Rocky linux sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:

sudo dnf upgrade --refresh -y

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.

Per verificare lo stato di sudo sul tuo account:

sudo whoami

Esempio di output che mostra lo stato di sudo:

[joshua@rockylinux ~]$ sudo whoami
root

Per configurare un account sudo esistente o nuovo, visita il nostro tutorial su Come aggiungere un utente a Sudoers su Rocky Linux.

Per utilizzare l' account di root, usa il seguente comando con la password di root per accedere.

su

pubblicità


Installa Apache (HTTPD)

Apache, per impostazione predefinita, è nel flusso dell'app Rocky Linux. 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 dnf install httpd

Esempio di output:

Come installare e configurare Apache (HTTPD) con Let's Encrypt TLS/SSL su Rocky Linux 8

Tipologia "S" quindi premere "TASTO INVIO" procedere.

Successivamente, per impostazione predefinita Apache (HTTPD) viene disabilitato e non attivato. Innanzitutto, avvia il servizio.

sudo systemctl enable httpd --now

Output di esempio in caso di successo:

Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

Verificare se HTTPD funziona correttamente utilizzando quanto segue systemctl comando:

systemctl status httpd

Output di esempio se tutto è ok:

Come installare e configurare Apache (HTTPD) con Let's Encrypt TLS/SSL su Rocky Linux 8

Configura le regole del firewall

Non aggiunge automaticamente le regole del firewall alle porte standard 80 o 443 durante l'installazione di Apache. Prima di continuare, dovresti impostare le seguenti regole, questo dipenderà dalle porte che utilizzerai, ma tutte le opzioni sono elencate.

Apri la porta 80 o HTTP:

sudo firewall-cmd --permanent --zone=public --add-service=http

Apri la porta 443 o HTTPS:

sudo firewall-cmd --permanent --zone=public --add-service=https

Ricarica il firewall per rendere effettive le modifiche

sudo firewall-cmd --reload

In alternativa, è ideale impostare i permessi SELinux globalmente per il tuo server Apache.

sudo setsebool -P httpd_unified 1

Il comando aggiornerà i valori booleani di SELinux e il -P bandiera per aggiornare il valore del tempo di avvio, rendendo persistente la modifica con il riavvio del sistema. Nel complesso, il httpd_unified è il valore booleano che istruirà SELinux a trattare tutti i processi Apache (HTTPD) come dello stesso tipo.


pubblicità


Verifica server Web Apache (HTTPD)

Ora che lo hai installato e configurato, è il momento di provare per vedere se il servizio HTTPD è 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 dnf 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 (HTTPD) con Let's Encrypt TLS/SSL su Rocky Linux 8

Congratulazioni, hai installato il server web Apache (HTTPD) e stai lavorando.

Il passaggio successivo consiste nell'impostare gli host virtuali.

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.

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 prossimo passo è assegnare la proprietà della directory con il $ USER variabile d'ambiente:

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/

Esempio di output:

Come installare e configurare Apache (HTTPD) con Let's Encrypt TLS/SSL su Rocky Linux 8

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 thanks to Linuxcapable.com</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. Per impostazione predefinita, sarà necessario creare e configurare le directory richieste.

Innanzitutto, crea le directory necessarie per siti disponibili che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana siti abilitati. Anche gli utenti di Nginx avrebbero familiarità con questa configurazione.

sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled

Il prossimo passo che devi fare è istruire Apache a cercare i file dell'host virtuale che dovranno trovarsi in /etc/httpd/siti-disponibili directory.

Apri il file di configurazione.

sudo nano /etc/httpd/conf/httpd.conf

Aggiungi quanto segue alla fine del file.

IncludeOptional sites-enabled/*.conf

Facoltativamente, puoi disabilitare la cartella predefinita in cui Apache cerca i file degli host virtuali che forse volevano evitare confusione.

Basta inserire un commento accanto a IncludiFacoltativo conf.d/*.conf.

Esempio:

#IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf

Esempio nell'ambiente:

Come installare e configurare Apache (HTTPD) con Let's Encrypt TLS/SSL su Rocky Linux 8

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

Quindi, usa il tuo editor di testo preferito per creare un file di configurazione dell'host virtuale situato in /etc/httpd/sites-available/example_domain.conf come di seguito:

sudo nano /etc/httpd/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
</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

Il passaggio successivo consiste nell'abilitare l'host virtuale. Inizialmente, hai creato due directory, siti disponibili che collaborano con noi, attingono direttamente dalla storia e dalla tradizione veneziana abilitato per i siti. Ora, dovrai creare un link simbolico a siti abilitati per attivare l'host virtuale.

Per creare un collegamento simbolico, usa il seguente esempio nel tuo terminale.

sudo ln -s /etc/httpd/sites-available/example_domain.conf /etc/httpd/sites-enabled/

Al termine, riavvia il servizio Apache.

sudo systemctl restart httpd

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 (HTTPD) con Let's Encrypt TLS/SSL su Rocky Linux 8

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


pubblicità


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 EPEL repository e il mod_ssl pacchetto per pacchetti e sicurezza più aggiornati.

sudo dnf install epel-release mod_ssl -y

Quindi, installare il pacchetto certbot come segue:

sudo dnf 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.

Facoltativamente, puoi impostare un cron job per rinnovare automaticamente i certificati. Certbot offre uno script che lo fa automaticamente e puoi prima testare per assicurarti che tutto funzioni eseguendo una corsa a secco.

sudo certbot renew --dry-run

Se tutto funziona, apri la finestra di crontab utilizzando il seguente comando da terminale.

sudo crontab -e

Quindi, specifica l'ora in cui dovrebbe rinnovarsi automaticamente. Questo dovrebbe essere controllato almeno giornalmente e, se il certificato deve essere rinnovato, lo script non aggiornerà il certificato. Se hai bisogno di aiuto per trovare un buon momento per impostare, usa il crontab.guru strumento gratuito.

00 00 */1 * * /usr/sbin/certbot-auto renew

Risparmi (CTRL+O) poi esci (CTRL+X), e il cronjob verrà abilitato automaticamente.

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/www/example_domain con custom.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 httpd

Per avviare il server web Apache:

sudo systemctl start httpd

Per riavviare il server web Apache:

sudo systemctl restart httpd

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

sudo systemctl reload httpd

Per disabilitare Apache all'avvio del server:

sudo systemctl disable httpd

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

sudo systemctl enable httpd

pubblicità


Come aggiornare Apache (HTTPD)

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 dnf upgrade --refresh

Come rimuovere (disinstallare) Apache (HTTPD)

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

sudo dnf autoremove httpd

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


pubblicità


Commenti e Conclusione

Nel tutorial, hai imparato come installare Apache (HTTPD) su Rock Linux 8. 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 lo stack LAMP combinato, che viene spesso utilizzato 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.

Lascia un tuo commento