Создание и настройка локального веб-сервера (Часть 2)

В предыдущей статье я рассказывал как устанавливать веб-сервер для Linux вводом минимального набора команд, теперь посмотрим, как добавить к нему крайне необходимый функционал — виртуальные хосты.

В давние-давние времена, когда интернет был еще маленький, сайтов было мало, а серверов много, то положение дел, что на одном сервере находился один сайт всех устраивало. Но, со временем, Интернет начал расти и количества серверов стало уже не хватать, так как сайтов становилось все больше и больше.

Решением такой проблемы стало использование виртуальных серверов или виртуальных хостов. Напомню, что о виртуализации тогда речи еще не шло, один компьютер — одна операционная система.

Создание виртуальных хостов  в Апаче — дело несложное. Для начала, нужно определиться, где на Вашем веб-сервере хранится информация о виртуальных хостах. Для начала нужно посмотреть файл /etc/apache2/httpd.conf или /etc/apache2/apache2.conf. Если файл заканчивается такими строками:

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

то информация о виртуальных хостах хранится в папке /etc/apache2/sites-enable/, если же такой строчки в конце файла нет, то здесь и идет описание виртуальных хостов. На мой взгляд, лучше, когда описание хостов живет отдельно от конфигурации самого сервера — и безопаснее, и сложнее сломать весь сервис неправильной конфигурацией хоста. Да и файл глобальной конфигурации не удалишь по случайности.

Далее, создадим какой-нибудь виртуальный хост. Он, в данном случае, будет являться опубликованной в Интернет папкой. Для начала нужно ее создать где-нибудь в удобном месте. Затем нужно создать запись об этой папке как о виртуальном хосте. Если у Вас информация обо всех виртуальных хостах хранится в одном файле apache2.conf, то код нужно дописывать в конец файла, если файлы хостов хранятся отдельно, то создаем новый файл в директории /etc/apache2/sites-enabled/.

Запись имеет следующий вид:

[sourcecode]<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName wp

DocumentRoot /home/neo/www/wp

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>

<Directory /home/neo/www/wp/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>[/sourcecode]

Не отрицаю, что здесь много букофф, тем не менее, конфигурировать нам нужно всего несколько строк. Давайте посмотрим, какие именно.

ServerName wp

В этой строке прописано, что на данном сервере находится виртуальных хост wp.

DocumentRoot /home/neo/www/wp

Здесь мы указываем папку, в которой хранятся файлы нашего хоста.

Все, что мы написали уже достаточно для создания виртуального хоста, остается только перезапустить веб-сервер, чтобы изменения применились. Для этого вводим команду:

[sourcecode]# service httpd restart[/sourcecode]

Тем не менее, если мы откроем страницу http://wp/ в браузере, то мы ничего не увидим — такое доменное имя не найдено. Чтобы рассказать нашему компьютеру, что имя wp соответствует только что созданному виртуальному хосту нужно отредактировать файл /etc/hosts и вписать в него всего одну строку:

[sourcecode]127.0.0.1 wp[/sourcecode]

Записи в этом файле устанавливают соответствие между доменными и IP адресами. Все, теперь, после сохранения файла, в браузере должно отобразиться содержимое папки /home/neo/www/wp.

РЕКЛАМА
СЧЕТЧИКИ
 
ДРУЗЬЯ САЙТА
МОИ ПРОЕКТЫ
  • theLesenok.ru
  • 7genkov.ru