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 nettsteder på en enkelt server. Det finnes to typer virtuell hosting: Navnbasert virtuell hosting og IP-basert virtuell hosting. IP-basert virtuell hosting er en teknikk for å anvende ulike direktiver basert på IP-adressen og porten en forespørsel er mottatt på. Du kan tilordne en egen IP for hvert domene på en enkelt server ved hjelp av IP-basert virtuell hosting. For det meste brukes dette til å være vert for forskjellige nettsteder på forskjellige porter eller IP-adresser.

Her skal vi hoste "www.ipvhost1.com" på IP "192.168.1.227", "www.ipvhost2.com" på IP "192.168.1.228" og "www.portvhost.com" på IP "192.168.1.228" med port 8080.

Krav

  • OS: Ubuntu server 14.04 med Apache installert
  • IP-adresse1: 192.168.1.227
  • IP-adresse2: 192.168.1.228
  • Domene: www.ipvhost1.com
  • Domene: www.ipvhost2.com
  • Domene: www.portvhost.com

Opprett flere IP-adresser på enkelt nettverksgrensesnitt

For å konfigurere IP-basert virtuell hosting, må du ha mer enn en IP-adresse tildelt til Linux-maskinen din. Sette opp flere IP-adresser på et enkelt nettverksgrensesnitt kalles IP-aliasing. IP aliasing er veldig nyttig hvis du bare har ett nettverkskort.

For å gjøre dette må du redigere filen "/ etc / network / interfaces".

 sudo nano / etc / network / interfaces 

Legg til følgende linjer:

 auto eth0 iface eth0 inet statisk adresse 192.168.1.227 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 auto eth0: 1 iface eth0: 1 inet statisk adresse 192.168.1.228 nettmask 255.255.255.0 

Lagre og lukk filen, og start deretter nettverkstjenesten for å gjøre disse endringene i kraft.

 sudo /etc/init.d/networking startes om sudo ifup eth0: 1 

Oppsett flere forekomster av Apache

Som standard hører Apache på port 80. For portbasert virtuell hosting må du fortelle Apache å høre på IP "192.168.1.227" og "192.168.1.228" på port 80 og IP "192.168.1.228" på port 8080.

For å sette opp flere porter, må du redigere "/etc/apache2/ports.conf".

 sudo nano /etc/apache2/ports.conf 

Legg til følgende linje:

 Lytt 192.168.1.227:80 Lytt 192.168.1.228:80 Lytt 192.168.1.228:8080 

Lagre og lukk filen, og start deretter Apache for å gjøre disse endringene i kraft.

 sudo /etc/init.d/apache2 restart 

Lag virtuelle kataloger

Først må du lage en katalogstruktur som vil holde nettsidene. Denne katalogen er kjent som DocumentRoot for domenet.

Opprett tre kataloger for nettsteder "www.ipvhost1.com", "www.ipvhost2.com" og "www.portvhost.com" under Apache standard DocumentRoot katalog.

 sudo mkdir -p /var/www/html/www.ipvhost1.com sudo mkdir -p /var/www/html/www.ipvhost2.com sudo mkdir -p /var/www/html/www.portvhost.com 

Opprett testwebsider for hver virtuell vert

Opprett en "index.html" -fil for hvert nettsted som identifiserer bestemte IP og port.

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

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

Legg til følgende innhold.

 www.ipvhost1.com 

Lagre og lukk filen når du er ferdig.

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

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

Legg til følgende innhold.

 www.ipvhost2.com 

Lagre og lukk filen når du er ferdig.

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

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

Legg til følgende innhold.

 www.portvhost.com 

Lagre og lukk filen når du er ferdig.

Sette opp Eierskap og Tillatelser

Apache-tjenesten kjører som standard som en "www-data" -bruker i Ubuntu. Du må endre eierskapet til disse tre 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.ipvhost1.com sudo chown -R www-data: www-data /var/www/html/www.ipvhost2.com sudo chown -R www-data: www-data /var/www/html/www.portvhost.com 

Du må også kontrollere at Apache web root (/ var / www / html) katalogen er lesbar slik at alle kan lese filer fra den.

 sudo chmod-R 755 / var / www / html 

Opprett virtuelle vertsfiler

Apache leveres som standard med en standard virtuell vertsfil kalt "000-default.conf". Du må deaktivere denne virtuelle vertsfilen først.

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

 sudo a2dissite 000-default.conf 

Det neste trinnet er å opprette en virtuell vertkonfigurasjonsfil for hvert nettsted. Navnet på hver konfigurasjonsfil må avsluttes med ".conf".

Opprett en virtuell vertsfil for nettstedet "www.ipvhost1.com".

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

Legg til følgende innhold.

 ServerAdmin [email protected] Servernavn www.ipvhost1.com DocumentRoot /var/www/html/www.ipvhost1.com ErrorLog $ {APACHE_LOG_DIR} /www.ipvhost1.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.ipvhost1.com_access. logg kombinert 

Lagre og lukk filen.

Opprett en virtuell vertsfil for nettstedet "www.ipvhost2.com".

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

Legg til følgende innhold.

 ServerAdmin [email protected] Servernavn www.ipvhost2.com DocumentRoot /var/www/html/www.ipvhost2.com ErrorLog $ {APACHE_LOG_DIR} /www.ipvhost2.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.ipvhost2.com_access. logg kombinert 

Lagre og lukk filen.

Opprett en virtuell vertsfil for nettstedet "www.portvhost.com".

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

Legg til følgende innhold.

 ServerAdmin [email protected] Servernavn www.portvhost.com DocumentRoot /var/www/html/www.portvhost.com ErrorLog $ {APACHE_LOG_DIR} /www.portvhost.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.portvhost.com_access. logg kombinert 

Lagre og lukk filen.

Etter at du har opprettet de virtuelle vertsfilene, må du aktivere de virtuelle vertene.

Du kan gjøre dette ved å kjøre.

 sudo a2ensite www.ipvhost1.com.conf sudo a2ensite www.ipvhost2.com.conf sudo a2ensite www.portvhost.com.conf 

Endelig start Apache-tjenesten på nytt.

 sudo /etc/init.d/apache2 restart 

Testing av virtuelle verter

Nå er det på tide å teste IP Virtualhost. Åpne en nettleser på en datamaskin og naviger til URL-adresser "http://192.168.1.227:80" og "http://192.168.1.228:80". Du bør se eksempler på demo sider for IP-basert virtuell hosting som ser slik ut:

På samme måte, for å teste Port Virtualhost, åpner du nettleseren din og navigerer til URL "http://192.168.1.228:8080". Du bør se en demonstrasjonsside for portbasert virtuell hosting som ser slik ut:

Konklusjon

I dette innlegget viste jeg trinnvis fremgangsmåten for å opprette og aktivere en IP-basert og portbasert virtuell vert på Apache webserver. Du kan enkelt sette opp mange domener på samme server.