Настройване на IP и Port-базирани Virtualhost в Apache
Тази статия е част от серията Ръководство за Apache Server:
- Осигуряване на Apache на Ubuntu - Част 1
- Осигуряване на Apache на Ubuntu - Част 2
- Оптимизиране на ефективността на Apache - Част 1
- Оптимизиране на ефективността на Apache - Част 2
- Настройване на Apache на
- Настройване на IP и Port-базирани Virtualhost в Apache
- Как да настроите паролата за защита на уеб директорията в Apache
- Настройване на Apache Server със SSL поддръжка на Ubuntu
- Създаване на Fail2ban за защита на Apache от DDOS атака
- Как да настроите Webdata с Apache на Ubuntu
- Следете уеб сървъра на Apache, използвайки Mod_status
- Как да защитите срещу DDoS с Mod_evasive на Apache Server
Виртуалният хостинг е метод за хостване на няколко уебсайта на един сървър. Има два вида виртуален хостинг: имена базирани виртуален хостинг и IP-базирани виртуален хостинг. IP-базираният виртуален хостинг е техника за прилагане на различни директиви въз основа на IP адреса и пристанището, на което е получена заявка. Можете да зададете отделен IP адрес за всеки домейн на един сървър, като използвате IP-базиран виртуален хостинг. Предимно това се използва за хостване на различни сайтове на различни пристанища или IP адреси.
Тук ще бъде домакин на "www.ipvhost1.com" на IP "192.168.1.227", "www.ipvhost2.com" на IP "192.168.1.228" и "www.portvhost.com" на IP "192.168.1.228" с порт 8080.
Изисквания
- OS: Ubuntu сървър 14.04 с инсталиран Apache
- IP адрес1: 192.168.1.227
- IP адрес2: 192.168.1.228
- Домейн: www.ipvhost1.com
- Домейн: www.ipvhost2.com
- Домейн: www.portvhost.com
Създаване на няколко IP адреса на един мрежов интерфейс
За да настроите IP-базиран виртуален хостинг, трябва да имате повече от един IP адрес, зададени на вашата Linux машина. Настройването на няколко IP адреса в един мрежов интерфейс се нарича IP aliasing. IP aliasing е много полезно, ако имате само една мрежова карта за интерфейс.
За да направите това, трябва да редактирате файла "/ etc / network / interfaces".
sudo nano / etc / мрежа / интерфейси
Добавете следните редове:
auto eth0 iface eth0 inet статичен адрес 192.168.1.227 мрежова маска 255.255.255.0 шлюз 192.168.1.1 dns-nameservers 8.8.8.8 auto eth0: 1 iface eth0: 1 inet статичен адрес 192.168.1.228 мрежова маска 255.255.255.0
Запазете и затворете файла и рестартирайте мрежовата услуга, за да направите тези промени ефективни.
sudo /etc/init.d/networking рестартирайте sudo ifup eth0: 1
Настройване на няколко копия на Apache
По подразбиране Apache слуша на порт 80. За портов виртуален хостинг трябва да кажете на Apache да слуша IP адресите "192.168.1.227" и "192.168.1.228" на порт 80 и IP "192.168.1.228" на порт 8080.
За да настроите няколко порта, трябва да редактирате "/etc/apache2/ports.conf".
sudo nano /etc/apache2/ports.conf
Добавете следния ред:
Слушай 192.168.1.227:80 Слушай 192.168.1.228:80 Слушай 192.168.1.228:8080
Запазете и затворете файла, след което рестартирайте Apache, за да влезе в сила тези промени.
sudo /etc/init.d/apache2 рестартирайте
Създаване на виртуални директории
Първо, трябва да направите структура на директорията, която да държи уеб страниците. Тази директория е известна като DocumentRoot за домейна.
Създайте три директории за уеб сайтове "www.ipvhost1.com", "www.ipvhost2.com" и "www.portvhost.com" под директория DocRoot по подразбиране на Apache.
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
Създайте тестови уеб страници за всеки виртуален хост
Създайте файл "index.html" за всеки уебсайт, който идентифицира конкретни IP адреси и Порт.
Създайте файл index.html за виртуалния хост "www.ipvhost1.com".
sudo nano /var/www/html/www.ipvhost1.com/index.html
Добавете следното съдържание.
www.ipvhost1.com
Запазете и затворете файла, когато сте готови.
Създайте файл "index.html" за виртуалния хост "www.ipvhost2.com".
sudo nano /var/www/html/www.ipvhost2.com/index.html
Добавете следното съдържание.
www.ipvhost2.com
Запазете и затворете файла, когато сте готови.
Създайте файл "index.html" за виртуалния хост "www.portvhost.com".
sudo nano /var/www/html/www.portvhost.com/index.html
Добавете следното съдържание.
www.portvhost.com
Запазете и затворете файла, когато сте готови.
Създаване на собственост и разрешения
По подразбиране услугата Apache работи като потребител на "www-данни" в Ubuntu. Трябва да промените собствеността на тези три виртуални директории върху "www-data", така че Apache да може да чете и записва данни.
За да направите това, изпълнете:
sudo chown -R www-данни: www-данни /var/www/html/www.ipvhost1.com sudo chown -R www-данни: www-данни /var/www/html/www.ipvhost2.com sudo chown -R www-данни: www-данни /var/www/html/www.portvhost.com
Също така трябва да се уверите, че директорията на Apache в уеб сървъра (/ var / www / html) е четима, така че всеки да може да чете файлове от него.
sudo chmod-R 755 / var / www / html
Създаване на файлове с виртуален хост
По подразбиране Apache идва с по подразбиране файл за виртуален хост, наречен "000-default.conf". Трябва първо да деактивирате този виртуален хост.
За да направите това, изпълнете следната команда.
sudo a2dissite 000-default.conf
Следващата стъпка е да създадете конфигурационен файл за виртуален хост за всеки уебсайт. Името на всеки конфигурационен файл трябва да завършва с ".conf".
Създайте виртуален хост файл за уебсайт "www.ipvhost1.com".
sudo nano /etc/apache2/sites-available/www.ipvhost1.com.conf
Добавете следното съдържание.
ServerAdmin [email protected] Име на сървъра 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. дневник комбиниран
Запазете и затворете файла.
Създайте виртуален хост файл за уеб сайта "www.ipvhost2.com".
sudo nano /etc/apache2/sites-available/www.ipvhost2.com.conf
Добавете следното съдържание.
ServerAdmin [email protected] Име на сървъра 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. дневник комбиниран
Запазете и затворете файла.
Създайте виртуален хост файл за уебсайт "www.portvhost.com".
sudo nano /etc/apache2/sites-available/www.portvhost.com.conf
Добавете следното съдържание.
ServerAdmin [email protected] Име на сървъра 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. дневник комбиниран
Запазете и затворете файла.
След като създадете виртуалните хост файлове, трябва да активирате виртуалните хостове.
Можете да направите това, като стартирате.
sudo a2ensite www.ipvhost1.com.conf sudo a2ensite www.ipvhost2.com.conf sudo a2ensite www.portvhost.com.conf
И накрая, рестартирайте услугата Apache.
sudo /etc/init.d/apache2 рестартирайте
Тестване на виртуални хостове
Сега е време да тествате IP Virtualhost. На компютър отворете уеб браузъра си и отворете URL адресите "http://192.168.1.227:80" и "http://192.168.1.228:80". Трябва да видите примерни демонстрационни страници за IP-базиран виртуален хостинг, които изглеждат така:
По същия начин, за да тествате Port Virtualhost, отворете уеб браузъра си и отворете URL адреса "http://192.168.1.228:8080". Трябва да видите примерна демонстрационна страница за пристанищен виртуален хостинг, която изглежда така:
заключение
В тази публикация показах стъпка по стъпка процедура за създаване и активиране на IP-базиран и порт-базиран виртуален хост на уеб сървър на Apache. Можете лесно да настроите много домейни на същия сървър.