Тази статия е част от серията Ръководство за 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 адрес.

Тук ще бъде домакин на два уеб сайта - "www.virtualhost1.com" и "www.virtualhost2.com" - на един IP адрес "192.168.1.227" в уеб сървъра на Apache, най-популярният уеб сървър в света,

Забележка: докато Ubuntu 14.04 сървър се използва за този урок, инструкциите ще бъдат подобни за повечето Linux дистрибуции.

Първи стъпки: Инсталиране на Apache

Първо, трябва да актуализирате системата си и след това да инсталирате Apache.

За тази цел изпълнете следната команда:

 sudo apt-get актуализация sudo apt-get инсталирате apache2 

За да проверите дали уеб сървърът работи или не, отворете уеб браузъра и отидете до URL http://192.168.1.227/ (при положение, че вашият IP адрес на сървъра е 192.168.1.227).

Трябва да видите, че уеб сървърът на Apache работи.

Създаване на виртуални директории

Първо, трябва да създадете структура на директории, която да съдържа данните от уебсайта, които ще обслужваме на клиентите.

Създайте две директории за уебсайтовете "www.virtualhost1.com" и "www.virtualhost2.com".

 sudo mkdir -p /var/www/html/www.virtualhost1.com sudo mkdir -p /var/www/html/www.virtualhost2.com 

Забележка : Папката по подразбиране за хостване на вашите файлове е "/ var / www / html". За тези, които използват алтернативен път на файла, ще трябва да промените горния код съответно.

Сега трябва да създадете файл "index.html" и за двата уеб сайта. Това ще се обслужва от уеб сървъра на Apache.

Създайте файл index.html за виртуалния хост "www.virtualhost1.com":

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

Добавете следното съдържание:

 www.virtualhost1.com 

Запазете и затворете файла.

По същия начин създайте файл index.html за виртуалния хост "www.virtualhost2.com":

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

Добавете следното съдържание:

 www.virtualhost2.com 

Запазете и затворете файла.

Създаване на собственост и разрешения

По подразбиране услугата Apache работи като потребител на "www-данни" в Ubuntu. И двете виртуални директории, които създадохме по-рано, са собственост на корен. Трябва да промените собствеността на тези две виртуални директории на "www-данни", така че Apache да може да чете и записва данни.

За да направите това, изпълнете

 sudo chown -R www-данни: www-данни /var/www/html/www.virtualhost1.com/ sudo chown -R www-данни: www-данни /var/www/html/www.virtualhost2.com/ 

Също така, трябва да направите директорията на Apache в мрежата (/ var / www / html) директорията световна четивна, така че всеки да може да чете файлове от тази директория.

 sudo chmod-R 755 / var / www / html 

Създаване на файлове за виртуален хост:

По подразбиране Apache идва с по подразбиране файл с виртуален хост, наречен "000-default.conf". Трябва първо да деактивирате този файл с виртуален хост.

За тази цел изпълнете следната команда:

 sudo a2dissite 000-default.conf 

Сега създайте виртуален хост файл "www.virtualhost1.com.conf" за виртуалния хост "www.virtualhost1.com".

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

Добавете следното съдържание:

 ServerAdmin [email protected] Име на сървъра www.virtualhost1.com DocumentRoot /var/www/html/www.virtualhost1.com ErrorLog $ {APACHE_LOG_DIR} /www.virtualhost1.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.virtualhost1.com_access. дневник комбиниран 

Запазете и затворете файла.

По същия начин създайте виртуален хост файл "www.virtualhost2.com.conf" за виртуалния хост "www.virtualhost2.com".

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

Добавете следното съдържание:

 ServerAdmin [email protected] Име на сървъра www.virtualhost2.com DocumentRoot /var/www/html/www.virtualhost2.com ErrorLog $ {APACHE_LOG_DIR} /www.virtualhost2.com_error.log CustomLog $ {APACHE_LOG_DIR} /www.virtualhost2.com_access. дневник комбиниран 

Запазете и затворете файла.

След като създадете виртуалните хост файлове, трябва да активирате нов виртуален хост.

Можете да направите това, като стартирате

 sudo a2ensite www.virtualhost1.com.conf sudo a2ensite www.virtualhost2.com.conf 

И накрая, рестартирайте услугата Apache.

 sudo /etc/init.d/apache2 рестартирайте 

Тестване на виртуални хостове:

Трябва да добавите запис на хост на всяка дистанционна или локална система, за да разрешите уебсайта по име.

Можете да направите това, като редактирате файла "/ etc / hosts".

 sudo nano / etc / hosts 

Добавете следните редове:

 192.168.1.227 www.virtualhost1.com 192.168.1.227 www.virtualhost2.com 

Запазете и затворете файла.

Отворете уеб браузъра си и отворете URL адресите "http://www.virtualhost1.com" и "http://www.virtualhost2.com".

Трябва да видите примерните страници за демонстрации, които създадохме по-рано.

www.virtualhost1.com демо страница:

www.virtualhost2.com демо страница:

заключение

Надявам се, че тази публикация ще ви помогне да настроите виртуален хост в Ubuntu. Няма ограничение за броя на виртуалните Apache, които могат да се справят, така че можете да създавате и да приемате колкото се може повече сайтове, които искате.