GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare Apache Web Server su Centos 8

Apache HTTP Server (Apache), è uno dei più popolari software per server Web multipiattaforma gratuiti e open source, rilasciato secondo i termini della licenza Apache 2.0.

L'Apache è popolare come parte della configurazione LAMP, essendo la A nell'acronimo. La funzionalità del server Apache può essere estesa con i numerosi moduli disponibili.

Prerequisiti:

  • Server Centos 8 aggiornato
  • Accesso root al server (o utente con accesso sudo)
  • Firewall configurato per consentire il traffico verso le porte 80 e 443

Installazione di Apache

Assicurati che i pacchetti siano aggiornati:

sudo dnf -y update

Apache è disponibile nei repository software predefiniti di CentOS 8 come httpd . Puoi controllare le informazioni a riguardo usando questo comando:

sudo dnf info httpd

Dovresti vedere qualcosa di simile a questo:

$ sudo dnf info httpd
CentOS Linux 8 - AppStream                                          20 MB/s | 8.8 MB     00:00
CentOS Linux 8 - BaseOS                                               24 MB/s | 5.6 MB     00:00
Last metadata expiration check: 0:00:01 ago on Sat 28 Aug 2021 01:06:59 PM UTC.
Available Packages
Name         : httpd
Version      : 2.4.37
Release      : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size         : 1.4 M
Source       : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository   : appstream
Summary      : Apache HTTP Server
URL          : https://httpd.apache.org/
License      : ASL 2.0
Description  : The Apache HTTP Server is a powerful, efficient, and extensible
             : web server.

Installalo con questo comando:

sudo dnf install -y httpd

Abilitazione di http e https in firewalld

Se hai un firewall attivo e funzionante, devi abilitare le porte http e https usando questi comandi:

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

Ora ricarica il firewall per rendere effettive queste nuove regole:

sudo firewall-cmd --reload

Avvio e abilitazione del servizio httpd

Per impostazione predefinita, il servizio non è avviato. Conferma con il seguente comando:

sudo systemctl status httpd

Uscita:

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd.service(8)

Avvia il servizio con questo comando:

sudo systemctl start httpd

Riceverai uno stato attivo quando il servizio è in esecuzione
Conferma che ora funziona correttamente:

$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2021-08-28 13:32:17 UTC; 17s ago
     Docs: man:httpd.service(8)
 Main PID: 65827 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 23800)
   Memory: 28.9M
   CGroup: /system.slice/httpd.service
           ├─65827 /usr/sbin/httpd -DFOREGROUND
           ├─65828 /usr/sbin/httpd -DFOREGROUND
           ├─65829 /usr/sbin/httpd -DFOREGROUND
           ├─65830 /usr/sbin/httpd -DFOREGROUND
           └─65831 /usr/sbin/httpd -DFOREGROUND

Aug 28 13:32:17 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 28 13:32:17 test-app-server httpd[65827]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::8fc:23ff:fe51:cc>
Aug 28 13:32:17 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 28 13:32:17 test-app-server httpd[65827]: Server configured, listening on: port 80

Quanto sopra conferma che Apache ora funziona correttamente.

Per confermare che il servizio è accessibile, vai al seguente URL per vedere se riesci a ottenere la pagina httpd:

http://server_ip

Se non conosci il server attivo, usa il seguente comando nel tuo terminale:

curl -4 icanhazip.com

Una volta che visiti quella pagina, se tutto funziona correttamente dovresti vedere la pagina predefinita di Apache come nella schermata qui sotto:

Per assicurarti che il servizio sia sempre avviato all'avvio, usa questo comando systemctl:

sudo systemctl enable httpd

Configurazione di host virtuali

Con Apache, è possibile ospitare più siti sullo stesso server su cui è in esecuzione Apache. Questo può sempre essere ottenuto utilizzando più domini, ognuno dei quali rappresenta un sito ospitato dal server.

Gli host virtuali Apache sono simili ai blocchi del server Nginx. Ogni host virtuale avrà i dettagli di configurazione per un singolo host. Puoi avere tutti gli host virtuali che vuoi.

In questo esempio utilizzeremo il dominio site1.citizix.com per l'host virtuale ma sii libero di utilizzare il dominio di tua scelta. Tieni presente che il DNS per il dominio da utilizzare dovrebbe essere già configurato per puntare all'indirizzo IP del server.
Confermalo con:

dig -t A site1.citizix.com

Creazione di directory e contenuto di esempio

La pagina predefinita di Apache è configurata come un host virtuale predefinito che serve contenuti da /var/www/html . È buona norma creare la directory del tuo sito in /var/www directory poiché è una buona pratica servire da lì.

Creiamo una directory per il nostro sito con il seguente comando:

sudo mkdir /var/www/site1.citizix.com

Creiamo un semplice index.html pagina da servire dal nostro sito. Avrai bisogno di vim installato per farlo funzionare, altrimenti usa questo comando:

sudo dnf install -y vim

Modifica il file:

sudo vim /var/www/site1.citizix.com/index.html 

Aggiungi contenuto al file:

<html>
  <head>
    <title>Hello from Citizix Site1!</title>
  </head>
  <body>
    <h1>Hey!</h1>
    <p>This is citizix site1. Welcome here.</p>
  </body>
</html>

Infine, assicuriamoci che l'utente corrente possieda la directory del sito:

sudo chown -R $USER:$USER /var/www/site1.citizix.com

Creazione di un host virtuale

I file Apache Virtual host specificano la configurazione di ciascun sito e indicano al server Web Apache come rispondere alle varie richieste di dominio.

Le configurazioni di Apache verranno archiviate nella directory /etc/httpd/conf.d/ . Creiamo una configurazione per il nostro sito:

sudo vim /etc/httpd/conf.d/site1.citizix.com.conf

Aggiungi il seguente contenuto:

<VirtualHost *:80>
    ServerName site1.citizix.com
    ServerAlias site1.citizix.com
    DocumentRoot /var/www/site1.citizix.com
    ErrorLog /var/log/httpd/site1.citizix.com.error.log
    CustomLog /var/log/httpd/site1.citizix.com.requests.log combined
</VirtualHost>

Questo dirà ad Apache quanto segue:

  • ServerName e ServerAlias ​​– nome dell'host da servire
  • DocumentRoot – dove trovare direttamente la radice che contiene i documenti web pubblicamente accessibili
  • ErrorLog – dove archiviare i log degli errori per questo sito
  • CustomLog – dove archiviare i registri delle richieste per questo particolare sito

Salva e chiudi il file quando hai finito

Test dell'host virtuale

Ora che la configurazione è a posto, dobbiamo verificare che tutto funzioni come previsto.

Per prima cosa riavvia Apache per ricaricare la configurazione:

sudo systemctl restart httpd 

Elenca il contenuto del /var/log/httpd/ directory per vedere se Apache ha creato i file di registro:
Se tutto va bene, dovresti vedere un output simile a questo:

# ls /var/log/httpd/
access_log  error_log  site1.citizix.com.error.log  site1.citizix.com.requests.log

Se tutto va bene, Apache ora servirà il tuo nome di dominio. Puoi verificarlo accedendo a http://site1.citizix.com , dove dovresti vedere qualcosa del genere:

La schermata sopra conferma che l'host virtuale è stato configurato correttamente e offre contenuti.

Se devi ospitare più altri siti, ripeti i passaggi precedenti per i siti che desideri.

Conclusione

Siamo riusciti a installare e configurare il server Web Apache nelle istruzioni precedenti in Centos 8 Server.


Cent OS
  1. Come installare Apache Web Server su CentOS 7

  2. Installa il server web Apache CentOS 6 / RHEL 6

  3. Installa Apache Web Server su CentOS 8 - Procedura passo passo per farlo?

  4. Come installare Apache/httpd su CentOS 8 Linux

  5. Installa Apache su CentOS 8

Come installare il server Web Cherokee su CentOS 6

Come installare Jetty Web Server su CentOS 7

Come installare Hiawatha Web Server su CentOS 7

Come installare Caddy Web Server su CentOS 7

Come installare Apache Web Server su Ubuntu 18.04

Come installare Caddy Web Server su CentOS 8