Android

Hoe apache virtuele hosts op centos 7 in te stellen

How to create virtual hosts on Apache (httpd) on CentOs 7

How to create virtual hosts on Apache (httpd) on CentOs 7

Inhoudsopgave:

Anonim

Met Apache Virtual Hosts kunnen meerdere websites op één webserver worden uitgevoerd. Met virtuele hosts kunt u de sitedocument-root (de map met de websitebestanden) opgeven, een afzonderlijk beveiligingsbeleid voor elke site maken, verschillende SSL-certificaten voor elke site gebruiken en nog veel meer.

In deze zelfstudie geven we stapsgewijze instructies voor het instellen van virtuele Apache-hosts op een CentOS 7-server.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden voldoet voordat u doorgaat met deze zelfstudie:

  • U hebt een domeinnaam die verwijst naar het IP-adres van uw openbare server. We gebruiken example.com . Apache is geïnstalleerd door Apache op CentOS 7 te volgen. U bent aangemeld als een gebruiker met sudo-rechten.

Directorystructuur maken

DocumentRoot is de map waarin de websitebestanden voor een domeinnaam worden opgeslagen en weergegeven in reactie op verzoeken. U kunt de documenthoofdmap instellen op elke gewenste locatie. In dit voorbeeld gebruiken we de volgende mapstructuur:

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

We maken een afzonderlijke map voor elk domein dat we op onze server willen hosten in de map /var/www . Binnen elk van deze mappen maken we een map public_html waarin de domeinwebsite-bestanden worden opgeslagen.

Maak de hoofddirectory voor het domein example.com met de opdracht mkdir:

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

Voor testdoeleinden maken we een index.html bestand in de hoofddirectory van het domeinedocument. Open uw editor en maak een HTML-bestand met de volgende inhoud:

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

Alle opdrachten worden uitgevoerd als sudo-gebruiker, dus de nieuw gemaakte bestanden en mappen zijn eigendom van de rootgebruiker. Om er zeker van te zijn dat er geen toestemmingsproblemen zijn, wijzigt u het eigendom van de hoofdmap van het apache in de apache gebruiker:

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

Virtueel hostbestand maken

Er zijn een paar manieren om een ​​virtuele host op te zetten. U kunt alle Virtual Host-richtlijnen in één bestand toevoegen of een nieuw configuratiebestand maken voor elke Virtual Host-richtlijn. Persoonlijk geef ik de voorkeur aan de tweede benadering omdat deze beter te onderhouden is.

Apache is standaard geconfigureerd om alle configuratiebestanden die eindigen op .conf vanuit de map /etc/httpd/conf.d/ .

Om een ​​virtuele host voor een specifieke website te maken, opent u de gewenste editor en maakt u het volgende basisconfiguratiebestand voor Virtual Host:

/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 : het domein dat moet overeenkomen met deze virtuele hostconfiguratie. Dit moet uw domeinnaam zijn. ServerAlias : alle andere domeinen die ook voor deze virtuele host moeten overeenkomen, zoals het www subdomein. DocumentRoot : de map van waaruit Apache de domeinbestanden zal aanbieden. Options : deze richtlijn bepaalt welke serverfuncties beschikbaar zijn in een specifieke map.
    • -Indexes : voorkomt directoryvermeldingen. FollowSymLinks : deze optie vertelt uw webserver om de symbolische links te volgen.
    AllowOverride : geeft aan welke richtlijnen die in het .htaccess bestand zijn gedeclareerd, de configuratierichtlijnen kunnen vervangen. ErrorLog , CustomLog : geeft de locatie op voor logbestanden.

Bewerk het bestand volgens uw behoeften en sla het op.

Het is belangrijk dat de naam van het configuratiebestand eindigt op .conf . U kunt het configuratiebestand een naam geven zoals u wilt, maar de beste praktijk is om de domeinnaam te gebruiken als de naam van het configuratiebestand van de virtuele host.

Test de syntaxis van het configuratiebestand met:

sudo apachectl configtest

Als er geen fouten zijn, ziet u de volgende uitvoer:

Syntax OK

Om een ​​nieuw gecreëerde virtuele host te activeren, start u de Apache-service opnieuw met:

sudo systemctl restart

Controleer of alles naar verwachting werkt door http://example.com openen:

Conclusie

In deze zelfstudie hebben we u laten zien hoe u een virtuele Apache-configuratie maakt. U kunt de hierboven beschreven stappen herhalen en extra virtuele hosts voor al uw domeinen maken.

apache centos

Dit bericht maakt deel uit van de LAMP Stack op CentOS 7-serie installeren.

Andere berichten in deze serie:

• Hoe Apache op CentOS 7 te installeren • MySQL op CentOS 7 te installeren • Hoe Apache Virtual Hosts op CentOS 7 in te stellen • Veilige Apache met Let's Encrypt op CentOS 7