androide

Come configurare gli host virtuali di Apache su Ubuntu 18.04

Configure Virtual Host in Ubuntu

Configure Virtual Host in Ubuntu

Sommario:

Anonim

In questo tutorial, forniremo istruzioni dettagliate su come configurare gli host virtuali Apache su Ubuntu 18.04.

Apache Virtual Hosts ti consente di eseguire più di un sito Web su un singolo computer. Con Virtual Hosts, è possibile specificare la radice del documento del sito (la directory che contiene i file del sito Web), creare una politica di sicurezza separata per ciascun sito, utilizzare certificati SSL diversi e molto altro.

Sebbene questo tutorial sia scritto per Ubuntu 18.04 Bionic Beaver, gli stessi passaggi possono essere usati per Ubuntu 16.04 Xenial Xerus.

Prerequisiti

Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:

  • Hai un nome di dominio che punta all'IP del tuo server pubblico. Useremo example.com . example.com Apache installato seguendo queste istruzioni. Sei loggato come utente con privilegi sudo.

Creare la struttura della directory

La radice del documento è la directory in cui sono archiviati e pubblicati i file del sito Web per un nome di dominio in risposta alle richieste. È possibile impostare la radice del documento in qualsiasi posizione desiderata, in questa guida utilizzeremo la seguente struttura di directory:

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

Fondamentalmente, creeremo una directory separata per ogni dominio che vogliamo ospitare sul nostro server all'interno della directory /var/www . All'interno di ciascuna di queste directory, creeremo una directory public_html che memorizzerà i file del sito Web del dominio.

Inizia creando la directory principale per il dominio example.com :

sudo mkdir -p /var/www/example.com/public_html

A scopo di test, creare anche un file index.html nella directory principale del documento di dominio.

Apri il tuo editor e crea il file demo:

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

In questa guida, eseguiamo i comandi come utente sudo e i file e le directory appena creati sono di proprietà dell'utente root.

Per evitare problemi di autorizzazione, possiamo modificare la proprietà della directory radice del documento di dominio per l'utente apache ( www-data ):

sudo chown -R www-data: /var/www/example.com

Crea un host virtuale

Per impostazione predefinita sui sistemi Ubuntu, i file di configurazione degli host virtuali Apache sono archiviati nella directory /etc/apache2/sites-available e possono essere abilitati creando collegamenti simbolici alla directory /etc/apache2/sites-enabled .

Apri il tuo editor preferito e crea il seguente file di configurazione di base dell'host virtuale:

/etc/apache2/sites-available/example.com.conf

ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

  • ServerName : il dominio che deve corrispondere per questa configurazione dell'host virtuale. Questo dovrebbe essere il tuo nome di dominio. ServerAlias : tutti gli altri domini che devono corrispondere anche per questo host virtuale, come il sottodominio www . DocumentRoot : la directory da cui Apache servirà i file di dominio. Options : questa direttiva controlla quali funzionalità del server sono disponibili in una directory specifica.
    • -Indexes : impedisce gli elenchi di directory. FollowSymLinks : questa opzione indica al server Web di seguire i collegamenti simbolici.
    AllowOverride : specifica quali direttive dichiarate nel file .htaccess possono sovrascrivere le direttive di configurazione. ErrorLog , CustomLog : specifica il percorso per i file di registro.

È possibile assegnare un nome al file di configurazione come desiderato, ma è consigliabile utilizzare il nome di dominio come nome del file di configurazione dell'host virtuale.

Per abilitare il nuovo file host virtuale è necessario creare un collegamento simbolico dal file host virtuale alla directory sites-enabled per i sites-enabled , che viene letta da apache2 all'avvio.

Il modo più semplice per abilitare l'host virtuale è utilizzando l'helper a2ensite :

sudo a2ensite example.com

L'altra opzione è quella di creare manualmente un link simbolico come mostrato di seguito:

sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

Al termine, testare la configurazione per eventuali errori di sintassi con:

sudo apachectl configtest

Se non ci sono errori vedrai il seguente output:

Syntax OK

Riavvia il servizio Apache per rendere effettive le modifiche:

sudo systemctl restart apache2

Infine per verificare che tutto funzioni come previsto, apri http://example.com nel tuo browser preferito e vedrai qualcosa del genere:

Conclusione

Hai imparato a creare una configurazione host virtuale apache per ospitare più domini su un singolo server Ubuntu. Puoi ripetere i passaggi sopra descritti e creare host virtuali aggiuntivi per tutti i tuoi domini.

apache ubuntu

Questo post fa parte della serie how-to-install-lamp-stack-on-ubuntu-18-04.

Altri post di questa serie:

• Come installare Apache su Ubuntu 18.04 • Come configurare gli host virtuali Apache su Ubuntu 18.04 • Apache sicuro con Let's Encrypt su Ubuntu 18.04 • Come installare MySQL su Ubuntu 18.04 • Come installare PHP su Ubuntu 18.04