Opsætning af IP og portbaseret Virtualhost i Apache
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.