Android

Hoe apache virtuele hosts op ubuntu 18.04 in te stellen

How to Setup Apache Virtual Hosts (Website) on Ubuntu 18.04 and 16.04

How to Setup Apache Virtual Hosts (Website) on Ubuntu 18.04 and 16.04

Inhoudsopgave:

Anonim

In deze zelfstudie geven we stapsgewijze instructies voor het instellen van Apache Virtual Hosts op Ubuntu 18.04.

Met Apache Virtual Hosts kunt u meer dan één website op één machine uitvoeren. Met Virtual Hosts kunt u de hoofdmap van het sitedocument opgeven (de map met de websitebestanden), een afzonderlijk beveiligingsbeleid maken voor elke site, verschillende SSL-certificaten gebruiken en nog veel meer.

Hoewel deze tutorial is geschreven voor Ubuntu 18.04 Bionic Beaver, kunnen dezelfde stappen worden gebruikt voor Ubuntu 16.04 Xenial Xerus.

voorwaarden

Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan 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 deze instructies te volgen. U bent aangemeld als een gebruiker met sudo-rechten.

Maak de directorystructuur

De document root is de map waarin de websitebestanden voor een domeinnaam worden opgeslagen en geserveerd in reactie op verzoeken. U kunt de document root instellen op elke gewenste locatie, in deze gids gebruiken we de volgende mapstructuur:

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

Kortom, we zullen een afzonderlijke map maken 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.

Begin met het maken van de hoofdmap voor het example.com domein:

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

Maak voor testdoeleinden ook een index.html bestand in de hoofdmap van het domeinedocument.

Open uw editor en maak het demo-bestand:

/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 deze handleiding voeren we de opdrachten uit als sudo-gebruiker en zijn de nieuw gemaakte bestanden en mappen eigendom van de rootgebruiker.

Om machtigingsproblemen te voorkomen, kunnen we het eigendom van de hoofddirectory van het domeindocument wijzigen in de apache-gebruiker ( www-data ):

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

Maak een virtuele host

Standaard op Ubuntu-systemen worden de configuratiebestanden van Apache Virtual Hosts opgeslagen in de map /etc/apache2/sites-available en kunnen ze worden ingeschakeld door symbolische koppelingen naar de map /etc/apache2/sites-enabled .

Open de gewenste editor en maak het volgende basisconfiguratiebestand voor Virtual Host:

/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 : 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.

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.

Om het nieuwe virtuele hostbestand in te schakelen, moeten we een symbolische koppeling maken van het virtuele hostbestand naar de map met sites-enabled die tijdens het opstarten door apache2 wordt gelezen.

De eenvoudigste manier om de virtuele host in te schakelen is met behulp van de a2ensite helper:

sudo a2ensite example.com

De andere optie is om handmatig een symlink te maken, zoals hieronder wordt weergegeven:

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

Zodra u klaar bent, test u de configuratie op syntaxisfouten met:

sudo apachectl configtest

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

Syntax OK

Start de Apache-service opnieuw om de wijzigingen van kracht te laten worden:

sudo systemctl restart apache2

Ten slotte om te controleren of alles naar verwachting werkt, opent u http://example.com in de door u gekozen browser en ziet u zoiets als dit:

Conclusie

U hebt geleerd hoe u een virtuele apache-configuratie maakt om meerdere domeinen op een enkele Ubuntu-server te hosten. U kunt de hierboven beschreven stappen herhalen en extra virtuele hosts voor al uw domeinen maken.

apache ubuntu

Dit bericht maakt deel uit van de how-to-install-lamp-stack-on-ubuntu-18-04-serie.

Andere berichten in deze serie:

• Hoe Apache op Ubuntu 18.04 te installeren • Hoe Apache virtuele hosts op Ubuntu 18.04 in te stellen • Veilige Apache met Let's Encrypt op Ubuntu 18.04 • Hoe MySQL op Ubuntu 18.04 te installeren • PHP op Ubuntu 18.04 te installeren