Konfigurera namnbaserad Virtualhost Apache
Den här artikeln är en del av Apache Server Guide-serien:
- Säkra Apache på Ubuntu - Del 1
- Säkra Apache på Ubuntu - Del 2
- Optimera Apache Performance - Del 1
- Optimera Apache Performance - Del 2
- Konfigurera namnbaserad Virtualhost Apache
- Konfigurera IP och portbaserad Virtualhost i Apache
- Så här ställer du in lösenordskyddswebbkatalogen i Apache
- Ställa in Apache Server med SSL-support på Ubuntu
- Konfigurera Fail2ban för att skydda Apache från ett DDOS-attack
- Så här ställer du upp Webdav med Apache på Ubuntu
- Övervaka Apache webbserver med Mod_status
- Hur man skyddar mot DDoS med Mod_evasive på Apache Server
Virtual hosting är en metod för att värd flera domännamn på en enda server. Det är två typer av virtuell värd: "Namnbaserad virtuell värd" och "IP-baserad virtuell värd." Med namnsbaserad virtuell värd kan du vara värd för flera webbplatser på en enda maskin med en enda IP-adress.
Här kommer vi att vara värd för två webbplatser - nämligen "www.virtualhost1.com" och "www.virtualhost2.com" - på en enda IP "192.168.1.227" på Apache webbservicen, den mest populära webbservern i världen .
Obs! När Ubuntu 14.04-servern används för denna handledning kommer instruktionerna att likna för de flesta Linux distros.
Komma igång: Installera Apache
Först måste du uppdatera ditt system och sedan installera Apache.
För att göra det här, kör följande kommando:
sudo apt-få uppdatering sudo apt-get install apache2
För att kontrollera om webbservern fungerar eller inte, öppna webbläsaren och navigera till webbadressen http://192.168.1.227/ (förutsatt att din IP-adress för din server är 192.168.1.227).
Du bör se att Apache webbservern fungerar.
Skapa virtuella kataloger
Först måste du skapa en katalogstruktur som håller webbplatsdata som vi ska betjäna till kunder.
Skapa två kataloger för webbplatserna "www.virtualhost1.com" och "www.virtualhost2.com."
sudo mkdir -p /var/www/html/www.virtualhost1.com sudo mkdir -p /var/www/html/www.virtualhost2.com
Obs! Standardmappen för värd för dina filer är "/ var / www / html." För dem som använder en alternativ filväg måste du ändra ovanstående kod i enlighet med detta.
Nu behöver du skapa en "index.html" -fil för båda sidorna. Detta kommer att serveras av Apache webbservern.
Skapa en index.html-fil för "www.virtualhost1.com" virtuell värd:
sudo nano /var/www/html/www.virtualhost1.com/index.html
Lägg till följande innehåll:
www.virtualhost1.com
Spara och stäng filen.
På samma sätt skapa en index.html-fil för "www.virtualhost2.com" virtuell värd:
sudo nano /var/www/html/www.virtualhost2.com/index.html
Lägg till följande innehåll:
www.virtualhost2.com
Spara och stäng filen.
Ställa in äganderätt och behörigheter
Som standard kör Apache-tjänsten som en "www-data" -användare i Ubuntu. Båda virtuella kataloger som vi skapade tidigare ägs av root. Du måste ändra ägandet av dessa två virtuella kataloger till "www-data", så att Apache kan läsa och skriva data.
För att göra detta kör du
sudo chown -R www-data: www-data /var/www/html/www.virtualhost1.com/ sudo chown -R www-data: www-data /var/www/html/www.virtualhost2.com/
Du måste också göra Apache webbrot (/ var / www / html) katalog världs läsbar så att alla kan läsa filer från den katalogen.
sudo chmod-R 755 / var / www / html
Skapa virtuella värdfiler:
Som standard kommer Apache med en standard virtuell värdfil som heter "000-default.conf." Du måste först avaktivera den här virtualhost-filen.
För att göra det här, kör följande kommando:
sudo a2dissite 000-default.conf
Skapa nu en virtuell värdfil "www.virtualhost1.com.conf" för den virtuella värden "www.virtualhost1.com."
sudo nano /etc/apache2/sites-available/www.virtualhost1.com.conf
Lägg till följande innehåll:
ServerAdmin [email protected] Servernamn 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 kombinerad
Spara och stäng filen.
På samma sätt skapa en virtuell värdfil "www.virtualhost2.com.conf" för den virtuella värden "www.virtualhost2.com."
sudo nano /etc/apache2/sites-available/www.virtualhost2.com.conf
Lägg till följande innehåll:
ServerAdmin [email protected] Servernamn 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 kombinerad
Spara och stäng filen.
Efter att ha skapat de virtuella värdfilerna måste du aktivera en ny virtuell värd.
Du kan göra detta genom att springa
sudo a2ensite www.virtualhost1.com.conf sudo a2ensite www.virtualhost2.com.conf
Slutligen starta om Apache-tjänsten.
sudo /etc/init.d/apache2 omstart
Testa virtuella värdar:
Du måste lägga till en värdpost på varje fjärr eller lokalt system för att lösa webbplatsen efter namn.
Du kan göra detta genom att redigera filen "/ etc / hosts".
sudo nano / etc / hosts
Lägg till följande rader:
192.168.1.227 www.virtualhost1.com 192.168.1.227 www.virtualhost2.com
Spara och stäng filen.
Öppna din webbläsare och navigera till webbadresserna "http://www.virtualhost1.com" och "http://www.virtualhost2.com."
Du ska se de provdemo sidor som vi skapade tidigare.
www.virtualhost1.com demosida:
www.virtualhost2.com demosida:
Slutsats
Jag hoppas att det här inlägget kommer att hjälpa dig att skapa virtuell värd i Ubuntu. Det finns ingen gräns för hur många virtualhost Apache kan hantera, så du kan skapa och vara värd för så många webbplatser du vill ha.