GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare gli host virtuali Apache su Ubuntu 20.04

Un host virtuale è una direttiva di configurazione di Apache che consente di eseguire più di un sito Web su un singolo server. Con Virtual Hosts, puoi specificare la radice del documento del sito (la directory contenente i file del sito Web), creare una politica di sicurezza separata per ciascun sito, utilizzare certificati SSL diversi e molto altro.

Questo articolo descrive come configurare gli host virtuali Apache su Ubuntu 20.04.

Prerequisiti #

Assicurati di aver soddisfatto i seguenti requisiti prima di continuare con la guida:

  • Uno o più nomi di dominio che puntano all'IP del tuo server pubblico.
  • Apache installato sul tuo sistema Ubuntu.
  • Sei loggato come root o utente con privilegi sudo.

Creazione della struttura della directory #

La radice del documento è la directory in cui i file del sito Web per un nome di dominio sono archiviati e serviti in risposta alle richieste. Puoi impostare la radice del documento in qualsiasi posizione desideri, in questo esempio utilizzeremo la seguente struttura di directory:

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

Ogni dominio ospitato sul server avrà la radice del documento impostata su /var/www/<domain_name>/public_html .

Inizia creando la directory principale per il dominio:

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

Creeremo anche un index.html file all'interno della directory principale del documento di dominio che verrà mostrato quando visiti il ​​dominio nel tuo browser:

/var/www/domain1.com/public_html/index.html
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to domain1.com</title>
  </head>
  <body>
    <h1>Success! domain1.com home page!</h1>
  </body>
</html>

Poiché i comandi precedenti vengono eseguiti come utente sudo, i file e le directory appena creati sono di proprietà di root. Per evitare problemi di autorizzazione, cambia la proprietà della directory principale del documento di dominio e tutti i file all'interno della directory all'utente apache (www-data ) :

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

Creazione di un host virtuale #

Sui sistemi Ubuntu, i file di configurazione degli host virtuali Apache si trovano in /etc/apache2/sites-available directory. Possono essere abilitati creando collegamenti simbolici a /etc/apache2/sites-enabled directory, che Apache ha letto durante l'avvio.

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

/etc/apache2/sites-available/domain1.com.conf
<VirtualHost *:80>
    ServerName domain1.com
    ServerAlias www.domain1.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/domain1.com/public_html

    <Directory /var/www/domain1.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/domain1.com-error.log
    CustomLog ${APACHE_LOG_DIR}/domain1.com-access.log combined
</VirtualHost>
  • ServerName :il dominio che dovrebbe corrispondere a questa configurazione dell'host virtuale. Questo dovrebbe essere il tuo nome di dominio.
  • ServerAlias :Tutti gli altri domini o sottodomini che dovrebbero corrispondere a questo host virtuale come www sottodominio.
  • DocumentRoot :la directory da cui Apache servirà i file di dominio.
  • Options :questa direttiva controlla quali funzioni del server sono disponibili in una directory specifica.
    • -Indexes :impedisce gli elenchi di directory.
    • FollowSymLinks :Quando questa opzione è abilitata, Apache seguirà i collegamenti simbolici.
  • AllowOverride :Specifica quali direttive dichiarate nel .htaccess può sovrascrivere le direttive di configurazione.
  • ErrorLog , CustomLog :specifica la posizione per i file di registro.

Puoi nominare il file di configurazione come preferisci, ma la procedura migliore consiste nell'usare il nome di dominio come nome del file di configurazione dell'host virtuale.

Per abilitare il nuovo file host virtuale, usa a2ensite script di supporto che crea un collegamento simbolico dal file host virtuale a sites-enabled directory:

sudo a2ensite domain1.com

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

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

Una volta terminato, verifica 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://domain1.com nel tuo browser e vedrai il contenuto di index.html pagina:


Ubuntu
  1. Come configurare gli host virtuali Apache su Ubuntu 18.04

  2. Come configurare gli host virtuali Apache su CentOS

  3. Configurare gli host virtuali Apache su Ubuntu 18.04 - Processo passo dopo passo?

  4. Ubuntu:come impostare un IP statico in Ubuntu?

  5. Configura host virtuali Apache sul sistema operativo Ubuntu

Come eliminare una directory in Ubuntu 20.04

Come configurare l'host virtuale Apache su Ubuntu 20.04 LTS

Come installare il server Apache e configurare host virtuali su Ubuntu 22.04

Come configurare gli host virtuali Apache su Debian 11

Come configurare gli host virtuali Apache su Ubuntu 18.04

Come configurare gli host virtuali Apache su Ubuntu 20.04