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 websites på en enkelt server. Der er to typer virtuel hosting: Navnbaseret virtuel hosting og IP-baseret virtuel hosting. IP-baseret virtuel hosting er en teknik til at anvende forskellige direktiver baseret på IP-adressen og porten, en anmodning er modtaget den. Du kan tildele en separat IP for hvert domæne på en enkelt server ved hjælp af IP-baseret virtuel hosting. For det meste bruges dette til at være vært for forskellige websteder på forskellige porte eller IP'er.

Her skal vi være vært for "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 installeret
  • IP-adresse1: 192.168.1.227
  • IP-adresse2: 192.168.1.228
  • Domæne: www.ipvhost1.com
  • Domæne: www.ipvhost2.com
  • Domæne: www.portvhost.com

Opret flere IP-adresser på enkelt netværksinterface

For at konfigurere IP-baseret virtuel hosting skal du have mere end én IP-adresse tildelt til din Linux-maskine. Opsætning af flere IP-adresser på en enkelt netværksgrænseflade hedder IP-aliasing. IP aliasing er meget nyttig, hvis du kun har et netværkskort.

For at gøre dette skal du redigere filen "/ etc / network / interfaces".

 sudo nano / etc / network / interfaces 

Tilføj 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 netmask 255.255.255.0 

Gem og luk filen, og genstart netværkstjenesten for at gøre disse ændringer gældende.

 sudo /etc/init.d/networking genstart sudo ifup eth0: 1 

Indstil flere forekomster af Apache

Som standard lytter Apache på port 80. For portbaseret virtuel hosting skal du fortælle Apache at lytte til IP "192.168.1.227" og "192.168.1.228" på port 80 og IP "192.168.1.228" på port 8080.

For at konfigurere flere porte skal du redigere "/etc/apache2/ports.conf".

 sudo nano /etc/apache2/ports.conf 

Tilføj følgende linje:

 Lyt 192.168.1.227:80 Lyt 192.168.1.228:80 Lyt 192.168.1.228:8080 

Gem og luk filen, og genstart derefter Apache for at gøre disse ændringer gældende.

 sudo /etc/init.d/apache2 genstart 

Opret virtuelle mapper

For det første skal du lave en katalogstruktur, der vil holde websiderne. Denne mappe er kendt som DocumentRoot for domænet.

Opret tre mapper til hjemmesider "www.ipvhost1.com", "www.ipvhost2.com" og "www.portvhost.com" under Apache standard DocumentRoot bibliotek.

 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 

Opret testwebsider for hver virtuelle vært

Opret en "index.html" -fil for hver hjemmeside, der identificerer bestemte IP'er og port.

Opret en index.html-fil til "www.ipvhost1.com" virtuel vært.

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

Tilføj følgende indhold.

 www.ipvhost1.com 

Gem og luk filen, når du er færdig.

Opret en "index.html" fil til "www.ipvhost2.com" virtuel vært.

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

Tilføj følgende indhold.

 www.ipvhost2.com 

Gem og luk filen, når du er færdig.

Opret en "index.html" fil til "www.portvhost.com" virtuel vært.

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

Tilføj følgende indhold.

 www.portvhost.com 

Gem og luk filen, når du er færdig.

Opsætning af ejerskab og tilladelser

Apache-tjenesten kører som standard som en "www-data" -bruger i Ubuntu. Du skal ændre ejerskabet af disse tre 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.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 skal også sørge for, at Apache web root (/ var / www / html) mappen er læselig, så alle kan læse filer fra den.

 sudo chmod -R 755 / var / www / html 

Opret virtuelle værtsfiler

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

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

 sudo a2dissite 000-default.conf 

Det næste skridt er at oprette en virtuel værtskonfigurationsfil for hver hjemmeside. Navnet på hver konfigurationsfil skal slutte med ".conf".

Opret en virtuel værtsfil for webstedet "www.ipvhost1.com".

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

Tilføj følgende indhold.

 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. log kombineret 

Gem og luk filen.

Opret en virtuel værtsfil til hjemmesiden "www.ipvhost2.com".

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

Tilføj følgende indhold.

 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. log kombineret 

Gem og luk filen.

Opret en virtuel værtsfil for hjemmesiden "www.portvhost.com".

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

Tilføj følgende indhold.

 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. log kombineret 

Gem og luk filen.

Når du har oprettet de virtuelle værtsfiler, skal du aktivere de virtuelle værter.

Du kan gøre dette ved at køre.

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

Endelig genstart Apache-tjenesten.

 sudo /etc/init.d/apache2 genstart 

Testning af virtuelle værter

Nu er det tid til at teste IP Virtualhost. På din computer skal du åbne din webbrowser og navigere til webadresser "http://192.168.1.227:80" og "http://192.168.1.228:80". Du skal se eksempler på demo sider til IP-baseret virtuel hosting, der ser sådan ud:

Tilsvarende kan du teste Port Virtualhost, åbne din webbrowser og navigere til URL "http://192.168.1.228:8080". Du skal se en eksempelsidoside til Port-baseret virtuel hosting, der ser sådan ud:

Konklusion

I dette indlæg viste jeg trin-for-trin-proceduren for at oprette og aktivere en IP-baseret og portbaseret virtuel vært på Apache webserver. Du kan nemt oprette mange domæner på samme server.