Sette opp IP og portbasert Virtualhost i Apache
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.