Come installare il server Web Apache su Ubuntu 18.04

Introduzione

Il server HTTP Apache è il server web più utilizzato al mondo. Fornisce molte potenti funzionalità, tra cui moduli caricabili dinamicamente, supporto multimediale robusto e ampia integrazione con altri software popolari.

In questa guida, spiegheremo come installare un server web Apache sul server Ubuntu 18.04.

Prerequisiti

Prima di iniziare questa guida, si dovrebbe avere un normale utente non root con privilegi sudo configurati sul server., Inoltre, è necessario abilitare un firewall di base per bloccare le porte non essenziali. Puoi imparare come configurare un normale account utente e impostare un firewall per il tuo server seguendo la nostra guida all’installazione iniziale del server per Ubuntu 18.04.

Quando hai un account disponibile, accedi come utente non root per iniziare.

Passo 1 — Installazione di Apache

Apache è disponibile all’interno dei repository software predefiniti di Ubuntu, rendendo possibile l’installazione utilizzando strumenti di gestione dei pacchetti convenzionali.,

iniziare con l’aggiornamento del pacchetto locale indice per riflettere le ultime modifiche upstream:

  • sudo apt update

Quindi, installare il apache2 confezione:

  • sudo apt install apache2

Dopo la conferma dell’installazione, apt installare Apache e tutte le dipendenze richieste.

Passo 2 — Regolazione del firewall

Prima di testare Apache, è necessario modificare le impostazioni del firewall per consentire l’accesso esterno alle porte web predefinite., Supponendo che tu abbia seguito le istruzioni nei prerequisiti, dovresti avere un firewall UFW configurato per limitare l’accesso al tuo server.

Durante l’installazione, Apache si registra con UFW per fornire alcuni profili applicativi che possono essere utilizzati per abilitare o disabilitare l’accesso ad Apache attraverso il firewall.,668e2bfd4″>

verrà visualizzato un elenco dei profili di applicazione:

Output
Available applications: Apache Apache Full Apache Secure OpenSSH

Come potete vedere, ci sono tre profili disponibili per Apache:

  • Apache: Questo profilo si apre solo la porta 80 (normale, in chiaro traffico web)
  • Apache Pieno: Questo profilo si apre sia la porta 80 (normale, in chiaro traffico web) e la porta 443 (TLS/SSL crittografato traffico)
  • Apache Sicuro: Questo profilo si apre solo la porta 443 (TLS/SSL crittografato traffico)

si consiglia di attivare il più restrittive per il profilo che consentirà comunque il traffico è stato configurato., Poiché non abbiamo configurato il protocollo SSL per i nostri server ma in questa guida, ci sarà solo necessario per consentire il traffico sulla porta 80:

  • sudo ufw allow 'Apache'

È possibile verificare la modifica con il comando:

  • sudo ufw status

Si dovrebbe vedere il traffico HTTP ammessi in output visualizzato:

Come si può vedere, il profilo è stato attivato per consentire l’accesso al server web.

Passo 3 — Controllo del server Web

Alla fine del processo di installazione, Ubuntu 18.04 avvia Apache. Il server web dovrebbe essere già attivo e funzionante.,

Verificare con il sistema di initsystemdper assicurarsi che il servizio sia in esecuzione digitando:

  • sudo systemctl status apache2

Come si può vedere da questo output, il servizio sembra essere stato avviato correttamente. Tuttavia, il modo migliore per testare questo è richiedere una pagina da Apache.

È possibile accedere alla pagina di destinazione predefinita di Apache per confermare che il software è in esecuzione correttamente tramite il proprio indirizzo IP. Se non si conosce l’indirizzo IP del server, è possibile ottenere un paio di modi diversi dalla riga di comando.,

Prova a digitare questo al prompt dei comandi del tuo server:

  • hostname -I

Otterrai alcuni indirizzi separati da spazi. Puoi provare ciascuno nel tuo browser web per vedere se funzionano.,

in alternativa, scrivendo questo, che dovrebbe dare il vostro indirizzo IP pubblico come si è visto da un altro indirizzo internet:

  • curl -4 icanhazip.com

Quando si ha l’indirizzo IP del server, inserire nella barra degli indirizzi del browser:

You should see the default Ubuntu 18.04 Apache web page:

This page indicates that Apache is working correctly. It also includes some basic information about important Apache files and directory locations.

Step 4 — Managing the Apache Process

Now that you have your web server up and running, let’s go over some basic management commands.

To stop your web server, type:

  • sudo systemctl stop apache2

Per avviare il server web quando si è fermato, tipo:

  • sudo systemctl start apache2

Per interrompere e avviare il servizio di nuovo, tipo:

  • sudo systemctl restart apache2

Se si sta semplicemente facendo le modifiche di configurazione di Apache spesso può ricaricare senza interruzioni delle connessioni., Per fare ciò, utilizzare questo comando:

  • sudo systemctl reload apache2

Per impostazione predefinita, Apache è configurato per l’avvio automatico all’avvio del server. Se questo non è quello che vuoi, disabilita questo comportamento digitando:

  • sudo systemctl disable apache2

Per riattivare il servizio all’avvio, digita:

  • sudo systemctl enable apache2

Apache dovrebbe ora avviarsi automaticamente all’avvio del server.,

Passo 5 — Impostazione di host virtuali (consigliato)

Quando si utilizza il server web Apache, è possibile utilizzare host virtuali (simile a blocchi di server in Nginx) per incapsulare i dettagli di configurazione e ospitare più di un dominio da un singolo server. Configureremo un dominio chiamato your_domain, ma dovresti sostituirlo con il tuo nome di dominio. Per ulteriori informazioni sull’impostazione di un nome di dominio con DigitalOcean, consulta la nostra Introduzione a DigitalOcean DNS.

Apache su Ubuntu 18.,04 ha un blocco server abilitato per impostazione predefinita che è configurato per servire i documenti dalla directory/var/www/html. Mentre questo funziona bene per un singolo sito, può diventare ingombrante se si ospitano più siti. Invece di modificare /var/www/html, creiamo una struttura di directory all’interno di /var/www per un sito your_domain, lasciando /var/www/html come directory predefinita da servire se una richiesta client non corrisponde ad altri siti.,dominio come segue:

  • sudo mkdir /var/www/your_domain

quindi, assegnare la proprietà della directory con i $USER variabile di ambiente:

  • sudo chown -R $USER:$USER /var/www/your_domain

Le autorizzazioni del web radici dovrebbero essere corretto se non hai modificato il tuo unmask valore, ma è possibile assicurarsi che digitando il comando:

  • sudo chmod -R 755 /var/www/your_domain

Avanti, creare un esempio index.html pagina con nano o il vostro editor preferito:

  • nano /var/www/your_domain/index.html

all’Interno, aggiungere il seguente esempio di codice HTML:

/var/www/dominio/indice.,html
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain virtual host is working!</h1> </body></html>

Salva e chiudi il file quando hai finito.

Affinché Apache possa servire questo contenuto, è necessario creare un file host virtuale con le direttive corrette. Invece di modificare il file di configurazione di default che si trova in /etc/apache2/sites-available/000-default.conf direttamente, facciamo un nuovo /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

Incollare il seguente blocco di configurazione, che è simile per impostazione predefinita, ma aggiornato per la nostra nuova cartella e il nome di dominio:

/etc/apache2/sites-available/dominio.,conf

Si noti che abbiamo aggiornato ilDocumentRoot alla nostra nuova directory eServerAdmin a un’e-mail a cui l’amministratore del sito your_domain può accedere. Abbiamo anche aggiunto due direttive: ServerName, che stabilisce il dominio di base che deve corrispondere a questa definizione di host virtuale, e ServerAlias, che definisce ulteriori nomi che devono corrispondere come se fossero il nome di base.

Salva e chiudi il file quando hai finito.,

abilitiamo il file con il a2ensite strumento:

  • sudo a2ensite your_domain.conf

Disattivare l’impostazione predefinita del sito definita in 000-default.conf:

  • sudo a2dissite 000-default.conf

Avanti, proviamo per gli errori di configurazione:

  • sudo apache2ctl configtest

Si dovrebbe vedere il seguente output:

Output
Syntax OK

Riavviare Apache per rendere effettive le modifiche:

  • sudo systemctl restart apache2

Apache dovrebbe essere ora serve il tuo nome di dominio., Puoi testarlo navigando verso, dove dovresti vedere qualcosa del genere:

Passo 6 – Familiarizzare con importanti file e directory Apache

Ora che sai come gestire il servizio Apache stesso, dovresti prendere qualche minuto per familiarizzare con alcune directory e file importanti.,

Content

  • /var/www/html: Il contenuto web effettivo, che per impostazione predefinita è costituito solo dalla pagina Apache predefinita che hai visto in precedenza, viene pubblicato dalla directory/var/www/html. Questo può essere modificato modificando i file di configurazione di Apache.

Configurazione del server

  • /etc/apache2: La directory di configurazione di Apache. Tutti i file di configurazione di Apache risiedono qui.
  • /etc/apache2/apache2.conf: Il file di configurazione principale di Apache. Questo può essere modificato per apportare modifiche alla configurazione globale di Apache., Questo file è responsabile del caricamento di molti degli altri file nella directory di configurazione.
  • /etc/apache2/ports.conf: Questo file specifica le porte su cui Apache ascolterà. Per impostazione predefinita, Apache ascolta sulla porta 80 e inoltre ascolta sulla porta 443 quando è abilitato un modulo che fornisce funzionalità SSL.
  • /etc/apache2/sites-available/: La directory in cui è possibile memorizzare gli host virtuali per sito. Apache non utilizzerà i file di configurazione trovati in questa directory a meno che non siano collegati alla directory sites-enabled., In genere, tutta la configurazione del blocco server viene eseguita in questa directory e quindi abilitata collegandosi all’altra directory con il comando a2ensite.
  • /etc/apache2/sites-enabled/: La directory in cui sono memorizzati gli host virtuali abilitati per sito. In genere, questi vengono creati collegandosi ai file di configurazione trovati nella directorysites-available con a2ensite. Apache legge i file di configurazione e i collegamenti trovati in questa directory quando si avvia o si ricarica per compilare una configurazione completa.,
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: Queste directory hanno la stessa relazione delle directory sites-available e sites-enabled, ma vengono utilizzate per memorizzare frammenti di configurazione che non appartengono a un host virtuale. I file nella directoryconf-available possono essere abilitati con il comandoa2enconf e disabilitati con il comandoa2disconf.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: Queste directory contengono rispettivamente i moduli disponibili e quelli abilitati., I file che terminano in .loadcontengono frammenti per caricare moduli specifici, mentre i file che terminano in.conf contengono la configurazione per tali moduli. I moduli possono essere abilitati e disabilitati utilizzando il comandoa2enmod ea2dismod.

Log del server

  • /var/log/apache2/access.log: Per impostazione predefinita, ogni richiesta al server Web viene registrata in questo file di log a meno che Apache non sia configurato diversamente.
  • /var/log/apache2/error.log: Per impostazione predefinita, tutti gli errori vengono registrati in questo file., La direttivaLogLevel nella configurazione di Apache specifica quanti dettagli conterranno i log degli errori.

Conclusione

Ora che hai installato il tuo server web, hai molte opzioni per il tipo di contenuto che puoi servire e le tecnologie che puoi usare per creare un’esperienza più ricca.

Se desideri creare uno stack di applicazioni più completo, puoi consultare questo articolo su come configurare uno stack LAMP su Ubuntu 18.04.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *