androide

Come configurare host virtuali apache su centos 7

[LINUX] - #72 Usare i VirtualHost di Apache per servire molti siti web

[LINUX] - #72 Usare i VirtualHost di Apache per servire molti siti web

Sommario:

Anonim

Apache Virtual Hosts consente l'esecuzione di più siti Web su un server Web. Con gli host virtuali, è 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 per ciascun sito e molto altro.

In questo tutorial, forniremo istruzioni dettagliate su come configurare gli host virtuali Apache su un server CentOS 7.

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 Come installare Apache su CentOS 7. Sei loggato come utente con privilegi sudo.

Creazione della struttura delle directory

DocumentRoot è la directory in cui i file del sito Web per un nome di dominio vengono archiviati e offerti in risposta alle richieste. È possibile impostare la radice del documento in qualsiasi posizione desiderata, in questo esempio utilizzeremo la seguente struttura di directory:

/var/www/ ├── example.com │ └── public_html ├── example-1.com │ └── public_html ├── example-2.com │ └── public_html

Stiamo creando 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.

Creare la directory principale per il dominio example.com usando il comando mkdir:

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

A scopo di test creeremo un file index.html all'interno della directory principale del documento di dominio. Apri il tuo editor e crea un file HTML con i seguenti contenuti:

/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!

Tutti i comandi vengono eseguiti come utente sudo, quindi i file e le directory appena creati sono di proprietà dell'utente root. Per accertarti che non ci siano problemi di autorizzazione, modifica la proprietà della directory radice del documento di dominio per l'utente apache :

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

Creazione del file host virtuale

Esistono alcuni modi per configurare un host virtuale. È possibile aggiungere tutte le direttive dell'host virtuale in un singolo file o creare un nuovo file di configurazione per ciascuna direttiva dell'host virtuale. Personalmente, preferisco il secondo approccio perché è più mantenibile.

Per impostazione predefinita, Apache è configurato per caricare tutti i file di configurazione che terminano con .conf dalla directory /etc/httpd/conf.d/ .

Per creare un host virtuale per un sito Web specifico, aprire l'editor preferito e creare il seguente file di configurazione di base dell'host virtuale:

/etc/httpd/conf.d/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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.

Modifica il file in base alle tue esigenze e salvalo.

È importante che il nome del file di configurazione termini con .conf . È 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.

Testare la sintassi del file di configurazione con:

sudo apachectl configtest

Se non ci sono errori vedrai il seguente output:

Syntax OK

Per attivare un host virtuale appena creato, riavvia il servizio Apache con:

sudo systemctl restart

Verifica che tutto funzioni come previsto, aprendo http://example.com :

Conclusione

In questo tutorial, ti abbiamo mostrato come creare una configurazione host virtuale Apache. Puoi ripetere i passaggi sopra descritti e creare host virtuali aggiuntivi per tutti i tuoi domini.

apache centos

Questo post fa parte dello Stack LAMP di installazione sulla serie CentOS 7.

Altri post di questa serie:

• Come installare Apache su CentOS 7 • Installare MySQL su CentOS 7 • Come configurare host virtuali Apache su CentOS 7 • Apache sicuro con Let's Encrypt su CentOS 7