Dit artikel maakt deel uit van de Apache Server Guide-serie:

  • Apache beveiligen op Ubuntu - Deel 1
  • Apache beveiligen op Ubuntu - Deel 2
  • Apache-prestaties optimaliseren - deel 1
  • Apache-prestaties optimaliseren - deel 2
  • Op naam gebaseerde Virtualhost Apache instellen
  • IP en op poorten gebaseerde Virtualhost instellen in Apache
  • Hoe de wachtwoordbeveiliging van de webdirectory in Apache in te stellen
  • Apache-server instellen met SSL-ondersteuning op Ubuntu
  • Fail2ban instellen om Apache te beschermen tegen een DDOS-aanval
  • Hoe Webdav instellen met Apache op Ubuntu
  • Controleer Apache Web Server met Mod_status
  • Hoe te beschermen tegen DDoS met Mod_evasive op Apache Server

Virtuele hosting is een methode voor het hosten van meerdere domeinnamen op een enkele server. Het zijn twee typen virtuele hosting: "Naamgebaseerde virtuele hosting" en "IP-gebaseerde virtuele hosting." Met de op naam gebaseerde virtuele hosting, kunt u meerdere websites hosten op één machine met één IP-adres.

Hier gaan we twee websites hosten - namelijk "www.virtualhost1.com" en "www.virtualhost2.com" - op een enkele IP "192.168.1.227" op de Apache-webservice, de meest populaire webserver ter wereld .

Opmerking: terwijl de Ubuntu 14.04-server wordt gebruikt voor deze zelfstudie, zijn de instructies vergelijkbaar voor de meeste Linux-distributies.

Aan de slag: Apache installeren

Eerst moet u uw systeem bijwerken en vervolgens Apache installeren.

Voer hiervoor de volgende opdracht uit:

 sudo apt-get update sudo apt-get install apache2 

Om te controleren of de webserver wel of niet werkt, opent u de webbrowser en navigeert u naar de URL http://192.168.1.227/ (ervan uitgaande dat het IP-adres van uw server 192.168.1.227 is).

Je zou moeten zien dat de Apache-webserver werkt.

Maak virtuele mappen aan

Eerst moet u een directorystructuur maken die de websitegegevens bevat die we voor klanten zullen gebruiken.

Maak twee mappen voor de websites "www.virtualhost1.com" en "www.virtualhost2.com."

 sudo mkdir -p /var/www/html/www.virtualhost1.com sudo mkdir -p /var/www/html/www.virtualhost2.com 

Opmerking : de standaardmap voor het hosten van uw bestanden is "/ var / www / html." Voor degenen die een alternatief bestandspad gebruiken, moet u de bovenstaande code dienovereenkomstig wijzigen.

Nu moet u een "index.html" -bestand maken voor beide websites. Dit wordt geserveerd door de Apache-webserver.

Maak een index.html-bestand voor virtuele host "www.virtualhost1.com":

 sudo nano /var/www/html/www.virtualhost1.com/index.html 

Voeg de volgende inhoud toe:

 www.virtualhost1.com 

Sla het bestand op en sluit het.

Maak op dezelfde manier een index.html-bestand voor virtuele host "www.virtualhost2.com":

 sudo nano /var/www/html/www.virtualhost2.com/index.html 

Voeg de volgende inhoud toe:

 www.virtualhost2.com 

Sla het bestand op en sluit het.

Eigendom en machtigingen instellen

Apache-service wordt standaard uitgevoerd als een "www-gegevens" -gebruiker in Ubuntu. Beide virtuele mappen die we eerder hebben gemaakt, zijn eigendom van root. U moet het eigendom van deze twee virtuele mappen wijzigen in "www-data", zodat Apache gegevens kan lezen en schrijven.

Om dit te doen, uitvoeren

 sudo chown -R www-gegevens: www-data /var/www/html/www.virtualhost1.com/ sudo chown -R www-gegevens: www-data /var/www/html/www.virtualhost2.com/ 

U moet ook de Apache-webrootdirectory (/ var / www / html) leesbaar maken, zodat iedereen bestanden uit die map kan lezen.

 sudo chmod -R 755 / var / www / html 

Maak virtuele hostbestanden:

Standaard wordt Apache geleverd met een standaard virtueel hostbestand met de naam "000-default.conf." U moet eerst dit virtualhost-bestand uitschakelen.

Voer hiervoor de volgende opdracht uit:

 sudo a2dissite 000-default.conf 

Maak nu een virtueel hostbestand "www.virtualhost1.com.conf" voor de virtuele host "www.virtualhost1.com."

 sudo nano /etc/apache2/sites-available/www.virtualhost1.com.conf 

Voeg de volgende inhoud toe:

 ServerAdmin [email protected] Servernaam www.virtualhost1.com DocumentRoot /var/www/html/www.virtualhost1.com ErrorLog $ {APACHE_LOG_DIR} /www.virtualhost1.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.virtualhost1.com_access. log gecombineerd 

Sla het bestand op en sluit het.

Maak op dezelfde manier een virtueel hostbestand "www.virtualhost2.com.conf" voor de virtuele host "www.virtualhost2.com."

 sudo nano /etc/apache2/sites-available/www.virtualhost2.com.conf 

Voeg de volgende inhoud toe:

 ServerAdmin [email protected] Servernaam www.virtualhost2.com DocumentRoot /var/www/html/www.virtualhost2.com ErrorLog $ {APACHE_LOG_DIR} /www.virtualhost2.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.virtualhost2.com_access. log gecombineerd 

Sla het bestand op en sluit het.

Nadat u de virtuele hostbestanden hebt gemaakt, moet u een nieuwe virtuele host inschakelen.

Je kunt dit doen door te hardlopen

 sudo a2ensite www.virtualhost1.com.conf sudo a2ensite www.virtualhost2.com.conf 

Start ten slotte de Apache-service opnieuw.

 sudo /etc/init.d/apache2 opnieuw opstarten 

Virtuele hosts testen:

U moet een hostitem toevoegen op elk extern of lokaal systeem om de website op naam op te lossen.

U kunt dit doen door het bestand "/ etc / hosts" te bewerken.

 sudo nano / etc / hosts 

Voeg de volgende regels toe:

 192.168.1.227 www.virtualhost1.com 192.168.1.227 www.virtualhost2.com 

Sla het bestand op en sluit het.

Open uw webbrowser en ga naar de URL's "http://www.virtualhost1.com" en "http://www.virtualhost2.com."

U zou de voorbeelddemppagina's moeten zien die we eerder hebben gemaakt.

www.virtualhost1.com demopagina:

www.virtualhost2.com demopagina:

Conclusie

Ik hoop dat deze post je helpt bij het opzetten van een virtuele host in Ubuntu. Er is geen limiet aan het aantal virtuelehosts die Apache aankan, dus je kunt zoveel websites maken en hosten als je wilt.