Denne artikkelen er en del av Apache Server Guide-serien:

  • Sikre Apache på Ubuntu - Del 1
  • Sikre Apache på Ubuntu - Del 2
  • Optimalisering av Apache Performance - Del 1
  • Optimalisering av Apache Performance - Del 2
  • Sette opp navnbasert Virtualhost Apache
  • Sette opp IP og portbasert Virtualhost i Apache
  • Hvordan sette opp passordbeskytt webkatalogen i Apache
  • Sette opp Apache Server med SSL-støtte på Ubuntu
  • Konfigurere Fail2ban for å beskytte Apache fra et DDOS-angrep
  • Hvordan sette opp Webdav med Apache på Ubuntu
  • Overvåk Apache Web Server ved hjelp av Mod_status
  • Slik beskytter du mot DDoS med Mod_evasive på Apache Server

Virtual hosting er en metode for hosting flere domenenavn på en enkelt server. Det er to typer virtuell hosting: "Navnbasert virtuell hosting" og "IP-basert virtuell hosting." Med navnetbasert virtuell hosting kan du være vert for flere nettsteder på en enkelt maskin med en enkelt IP-adresse.

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

Merk: mens Ubuntu 14.04 server brukes til denne opplæringen, vil instruksjonene være lik de fleste Linux distros.

Komme i gang: Installere Apache

Først må du oppdatere systemet og deretter installere Apache.

For å gjøre dette, kjør følgende kommando:

 sudo apt-få oppdatering sudo apt-get install apache2 

For å kontrollere om webserveren fungerer eller ikke, åpne nettleseren og naviger til URL-adressen http://192.168.1.227/ (forutsatt at serverens IP-adresse er 192.168.1.227).

Du bør se at Apache-webserveren fungerer.

Lag virtuelle kataloger

Først må du lage en katalogstruktur som vil holde nettsteddataene som vi skal betjene til klienter.

Opprett to kataloger for nettstedene "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 

Merk : Standardmappen for hosting av filene dine er "/ var / www / html." For de som bruker en alternativ filbane, må du endre koden ovenfor.

Nå må du opprette en "index.html" -fil for begge nettsteder. Dette vil bli betjent av Apache webserveren.

Opprett en index.html-fil for "www.virtualhost1.com" virtuell vert:

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

Legg til følgende innhold:

 www.virtualhost1.com 

Lagre og lukk filen.

På samme måte lager du en index.html-fil for "www.virtualhost2.com" virtuell vert:

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

Legg til følgende innhold:

 www.virtualhost2.com 

Lagre og lukk filen.

Sette opp Eierskap og Tillatelser

Apache-tjenesten kjører som standard som en "www-data" -bruker i Ubuntu. Begge virtuelle kataloger som vi opprettet tidligere eies av rot. Du må endre eierskapet til disse to virtuelle katalogene til "www-data", slik at Apache kan lese og skrive data.

For å gjøre dette, kjør

 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/ 

Også, du må gjøre Apache web root (/ var / www / html) katalogen verden lesbar slik at alle kan lese filer fra den katalogen.

 sudo chmod-R 755 / var / www / html 

Opprett virtuelle vertsfiler:

Som standard kommer Apache med en standard virtuell vertsfil kalt "000-default.conf." Du må deaktivere denne virtualhost-filen først.

For å gjøre dette, kjør følgende kommando:

 sudo a2dissite 000-default.conf 

Opprett nå en virtuell vertsfil "www.virtualhost1.com.conf" for den virtuelle verten "www.virtualhost1.com."

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

Legg til følgende innhold:

 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. logg kombinert 

Lagre og lukk filen.

På samme måte lager du en virtuell vertfil "www.virtualhost2.com.conf" for den virtuelle verten "www.virtualhost2.com."

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

Legg til følgende innhold:

 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. logg kombinert 

Lagre og lukk filen.

Etter å ha opprettet de virtuelle vertsfilene, må du aktivere en ny virtuell vert.

Du kan gjøre dette ved å kjøre

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

Endelig start Apache-tjenesten på nytt.

 sudo /etc/init.d/apache2 restart 

Testing av virtuelle verter:

Du må legge til en vertsoppføring på hver fjernkontroll eller lokalt system for å løse nettstedet ved navn.

Du kan gjøre dette ved å redigere filen "/ etc / hosts".

 sudo nano / etc / hosts 

Legg til følgende linjer:

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

Lagre og lukk filen.

Åpne nettleseren din og naviger til nettadressene "http://www.virtualhost1.com" og "http://www.virtualhost2.com."

Du bør se utvalgs-demo-sidene som vi opprettet tidligere.

www.virtualhost1.com demo side:

www.virtualhost2.com demo side:

Konklusjon

Jeg håper dette innlegget vil hjelpe deg med å sette opp virtuell vert i Ubuntu. Det er ingen grense for antall virtualhost Apache kan håndtere, slik at du kan opprette og hoste så mange nettsteder du vil ha.