Op naam gebaseerde Virtualhost Apache instellen
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.