Виртуалният хостинг е метод за хостване на множество уебсайтове на един сървър. Има два вида виртуален хостинг: виртуален хостинг, базиран на име, и виртуален хостинг, базиран на 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.
За да настроите базиран на IP виртуален хостинг, трябва да имате повече от един IP адрес, зададен на вашата Linux машина. Настройването на множество IP адреси на един мрежов интерфейс се нарича IP псевдоним. IP псевдонимът е много полезен, ако имате само една мрежова интерфейсна карта.
За да направите това, трябва да редактирате файла „/etc/network/interfaces“.
sudo nano /etc/network/interfacesДобавете следните редове:
auto eth0iface eth0 inet staticaddress 192.168.1.227netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 auto eth0:1iface eth0:1 inet staticaddress 192.168.1.228netmask 255.2 55.255.0Запазете и затворете файла, след което рестартирайте мрежата услуга, за да влязат в сила тези промени.
sudo/etc/init.d/networking restartsudo ifup eth0:1По подразбиране 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Добавете следния ред:
Listen 192.168.1.227:80Listen 192.168.1.228:80Listen 192.168.1.228:8080Запазете и затворете файла, след което рестартирайте Apache, за да влязат в сила тези промени.
sudo /etc/init.d/apache2 restartПърво, трябва да създадете структура на директория, която да съдържа уеб страниците. Тази директория е известна като DocumentRoot за домейна.
Създайте три директории за уебсайтове „www.ipvhost1.com“, „www.ipvhost2.com“ и „www.portvhost.com“ в директорията DocumentRoot по подразбиране на Apache.
sudo mkdir -p /var/www/html/www.ipvhost1.comsudo mkdir -p /var/www/html/www.ipvhost2.comsudo 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.comIP виртуалният хост ipvhost1.com работи!
Запазете и затворете файла, когато приключите.
Създайте файл „index.html“ за виртуален хост „www.ipvhost2.com“.
sudo nano/var/www/html/www.ipvhost2.com/index.htmlДобавете следното съдържание.
www.ipvhost2.comIP виртуалният хост ipvhost2.com работи!
Запазете и затворете файла, когато приключите.
Създайте файл „index.html“ за виртуален хост „www.portvhost.com“.
sudo nano/var/www/html/www.portvhost.com/index.htmlДобавете следното съдържание.
www.portvhost.comВиртуалният хост на portvhost.com работи!
Запазете и затворете файла, когато приключите.
По подразбиране услугата Apache работи като потребител на „www-data“ в Ubuntu. Трябва да промените собствеността на тези три виртуални директории на „www-data“, така че Apache да може да чете и записва данни.
За да направите това, изпълнете:
sudo chown -R www-data:www-data /var/www/html/www.ipvhost1.comsudo chown -R www-data:www-data /var/www/html/www.ipvhost2.comsudo chown -R www- data:www-data /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Добавете следното съдържание.
<Виртуален хост 192.168.1.227:80> ServerAdmin admin@ipvhost1.comServerNamewww.ipvhost1.comDocumentRoot /var/www/html/www.ipvhost1.com ErrorLog ${APACHE_LOG_DIR}/www.ipvhost1.com_error.logCustomLog ${APACHE_LOG_DIR}/www.ipvhost1.com_access.log комбиниран VirtualHost>Запазете и затворете файла.
Създайте виртуален хост файл за уебсайт „www.ipvhost2.com“.
sudo nano /etc/apache2/sites-available/www.ipvhost2.com.confДобавете следното съдържание.
<Виртуален хост 192.168.1.228:80> ServerAdmin admin@ipvhost2.comServerNamewww.ipvhost2.comDocumentRoot /var/www/html/www.ipvhost2.com ErrorLog ${APACHE_LOG_DIR}/www.ipvhost2.com_error.logCustomLog ${APACHE_LOG_DIR}/www.ipvhost2.com_access.log комбиниран VirtualHost>Запазете и затворете файла.
Създайте виртуален хост файл за уебсайт „www.portvhost.com“.
sudo nano /etc/apache2/sites-available/www.portvhost.com.confДобавете следното съдържание.
<Виртуален хост 192.168.1.228:8080> ServerAdmin admin@portvhost.comServerNamewww.portvhost.comDocumentRoot /var/www/html/www.portvhost.com ErrorLog ${APACHE_LOG_DIR}/www.portvhost.com_error.logCustomLog ${APACHE_LOG_DIR}/www.portvhost.com_access.log комбиниран VirtualHost>Запазете и затворете файла.
След като създадете файловете за виртуален хост, трябва да активирате виртуалните хостове.
Можете да направите това, като стартирате.
sudo a2ensite www.ipvhost1.com.confsudo a2ensite www.ipvhost2.com.confsudo a2ensite www.portvhost.com.confНакрая рестартирайте услугата Apache.
sudo /etc/init.d/apache2 restartСега е време да тествате 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. Можете лесно да настроите много домейни на един и същи сървър.
Полезна ли е тази статия?
Hitesh JethvaНад 5 години опит като ИТ системен администратор за ИТ компания в Индия. Уменията ми включват задълбочено познаване на Rehat/Centos, Ubuntu nginx и Apache, Mysql, Subversion, Linux, Ubuntu, уеб хостинг, уеб сървър, squied прокси, NFS, FTP, DNS, Samba, ldap, Openvpn, Haproxy, уеб услуги на Amazon , WHMCS, Openstack Cloud, Postfix Mail Server, сигурност и др.
PREV: Разбиране на Active Directory в Windows Server 2012 R2 ...
NEXT: Final Fantasy XIV: A Realm Reborn Сървъри, трансфери и още ...