Denne artikel er en del af Apache Server Guide serien:

  • Sikring af Apache på Ubuntu - Del 1
  • Sikring af Apache på Ubuntu - Del 2
  • Optimering af Apache Performance - Del 1
  • Optimering af Apache Performance - Del 2
  • Opsætning af navnebaseret Virtualhost Apache
  • Opsætning af IP og portbaseret Virtualhost i Apache
  • Sådan oprettes adgangskodebeskyttet webkatalog i Apache
  • Opsætning af Apache Server med SSL-support på Ubuntu
  • Opsætning af Fail2ban for at beskytte Apache fra et DDOS-angreb
  • Sådan opsættes Webdav med Apache på Ubuntu
  • Overvåg Apache Web Server ved hjælp af Mod_status
  • Sådan beskytter du mod DDoS med Mod_evasive på Apache Server

Virtual hosting er en metode til hosting flere domænenavne på en enkelt server. Det er to typer virtuel hosting: "Navnbaseret virtuel hosting" og "IP-baseret virtuel hosting." Med den navnebaserede virtuelle hosting kan du være vært for flere websteder på en enkelt maskine med en enkelt IP-adresse.

Her skal vi være vært for to hjemmesider - nemlig "www.virtualhost1.com" og "www.virtualhost2.com" - på en enkelt IP "192.168.1.227" på Apache webserveren, den mest populære webserver i verden .

Bemærk: mens Ubuntu 14.04 server bruges til denne vejledning, vil instruktionerne være ens for de fleste Linux distros.

Kom godt i gang: Installation af Apache

Først skal du opdatere dit system og derefter installere Apache.

For at gøre dette skal du køre følgende kommando:

 sudo apt-get opdatering sudo apt-get install apache2 

For at kontrollere, om webserveren virker eller ej, skal du åbne webbrowseren og navigere til URL'en http://192.168.1.227/ (under forudsætning af at din server-IP-adresse er 192.168.1.227).

Du skal se, at Apache webserveren arbejder.

Opret virtuelle mapper

For det første skal du oprette en mappestruktur, der vil holde de webstedsdata, som vi skal betjene til kunder.

Opret to mapper til hjemmesiderne "www.virtualhost1.com" og "www.virtualhost2.com."

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

Bemærk : Standardmappen til hosting af dine filer er "/ var / www / html." For dem, der bruger en alternativ filsti, bliver du nødt til at ændre ovenstående kode i overensstemmelse hermed.

Nu skal du oprette en "index.html" -fil for begge websteder. Dette vil blive betjent af Apache webserveren.

Opret en index.html-fil til "www.virtualhost1.com" virtuelle vært:

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

Tilføj følgende indhold:

 www.virtualhost1.com 

Gem og luk filen.

Tilsvarende opretter du en index.html-fil til "www.virtualhost2.com" virtuelle vært:

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

Tilføj følgende indhold:

 www.virtualhost2.com 

Gem og luk filen.

Opsætning af ejerskab og tilladelser

Apache-tjenesten kører som standard som en "www-data" -bruger i Ubuntu. Begge virtuelle mapper, som vi oprettede tidligere, ejes af root. Du skal ændre ejerskabet af disse to virtuelle mapper til "www-data", så Apache kan læse og skrive data.

For at gøre dette skal du køre

 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 skal også gøre Apache web root (/ var / www / html) katalog verden læselig, så alle kan læse filer fra den pågældende mappe.

 sudo chmod -R 755 / var / www / html 

Opret virtuelle værtsfiler:

Apache leveres som standard med en standard virtuel værtsfil kaldet "000-default.conf." Du skal først deaktivere denne virtualhost-fil.

For at gøre dette skal du køre følgende kommando:

 sudo a2dissite 000-default.conf 

Opret nu en virtuel værtsfil "www.virtualhost1.com.conf" til den virtuelle vært "www.virtualhost1.com."

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

Tilføj følgende indhold:

 ServerAdmin [email protected] Servernavn 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 kombineret 

Gem og luk filen.

Tilsvarende opretter du en virtuel værtsfil "www.virtualhost2.com.conf" til den virtuelle vært "www.virtualhost2.com."

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

Tilføj følgende indhold:

 ServerAdmin [email protected] Servernavn 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 kombineret 

Gem og luk filen.

Når du har oprettet de virtuelle værtsfiler, skal du aktivere en ny virtuel vært.

Du kan gøre dette ved at køre

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

Endelig genstart Apache-tjenesten.

 sudo /etc/init.d/apache2 genstart 

Testning af virtuelle værter:

Du skal tilføje en værtindtastning på hver fjernbetjening eller lokalt system for at løse hjemmesiden efter navn.

Du kan gøre dette ved at redigere filen "/ etc / hosts".

 sudo nano / etc / hosts 

Tilføj følgende linjer:

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

Gem og luk filen.

Åbn din webbrowser og navigere til webadresserne "http://www.virtualhost1.com" og "http://www.virtualhost2.com."

Du skal se de prøve demo sider, som vi lavede tidligere.

www.virtualhost1.com demo side:

www.virtualhost2.com demo side:

Konklusion

Jeg håber, at dette indlæg vil hjælpe dig med at oprette virtuelle vært i Ubuntu. Der er ingen grænse for antallet af virtualhost Apache kan håndtere, så du kan oprette og hoste så mange websites, du ønsker.