Как да настроите виртуални хостове в Apache 2

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

В Debian 5.0.4 сървърът Apache-2 е готов за работа с виртуални хостове веднага след инсталирането. Но конфигуриран само за един (по подразбиране) хост.

За да добавите друг виртуален хост, направете следното:

1. Добавете празен файл с произволно име към директорията /etc/apache2/sites-available (по-добре е да дадете името на файла, съдържащ името на виртуалния хост). Например, ако планирате да добавите виртуален хост с име studio.ru, файлът трябва да се наименува като studio.ru.conf.

2. В този файл трябва да въведете нещо като следното:

  • ServerName, ServerAlias ​​​​е URL адресът, въведен в браузъра, на който този виртуален хост трябва да отговори;
  • DocumentRoot е основната директория на този виртуален хост;
  • Раздел Директория - задаване на права за достъп до посочената директория. В този случай правата за достъп до основната директория на виртуалния хост са конфигурирани.

Трябва да обърнете внимание на параметъра на секцията VirtualHost. Тук е написано като "*:80". Но не забравяйте да погледнете във файла /etc/apache2/sites-available/default и да видите какъв параметър е записан там в същата секция VirtualHost. Ако е написано "*", то в нашия файл трябва да напишем и "*".

Най-общо казано, най-добре е да погледнете във файла /etc/apache2/ports.conf. Там трябва да намерите директивата:

Каква стойност има в тази директива (тук - "*: 80"), тази стойност трябва да бъде посочена като параметър на секцията VirtualHost във всички файлове на директорията /etc/apache2/sites-available, в противен случай хостовете няма да бъдат видими.

Често срещана грешка е, когато в /etc/apache2/ports.conf„*.80“ е написано и „*“ е написано в секцията VirtualHost на хост файла. В този случай Apache сървърът няма да намери хоста!

3. Трябва да отидем в директорията /etc/apache2/sites-enabled и да създадем там символна връзка към файла, който създадохме:

# ln -s /etc/apache2/sites-available/studio.ru.conf studio.ru.conf

4. Трябва да рестартирате Apache с командите:

Спиране на уеб сървър: apache2. очакване.

Стартиране на уеб сървър: apache2.

по време на рестартирането трябва да погледнете дали в конзолата се появяват съобщения за грешка или предупреждения. В нормално конфигуриран Apache не трябва да се издават съобщения за грешка или предупреждения.

5. Последната стъпка е да отворите файла /etc/hosts и да напишете нов ред там със следното съдържание:

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

Всичко, конфигурацията е завършена. Не е необходимо рестартиране.