Настройка виртуальных хостов Apache в Ubuntu 12.04 LTS

Что такое виртуальные хосты?

Виртуальные хосты используются для запуска более одного домена с одного IP-адреса. Это особенно полезно для тех пользователей, которым необходимо запустить несколько сайтов с одного виртуального выделенного сервера. Ограничений на количество виртуальных хостов, которые можно добавить на один VPS, нет.

Что значит красный цвет?

Строки, выделенные красным, пользователь должен отредактировать или ввести самостоятельно. Остальное можно просто скопировать и вставить.

Требования

Для выполнения данного руководства необходимы привилегии root; чтобы узнать, как создать пользователя с такими привилегиями, читайте руководство «Начальная настройка сервера Ubuntu 12.04».

Кроме того, понадобится уже установленный и запущенный сервер Apache. Если Apache еще не установлен, его можно установить при помощи команды:

sudo apt-get install apache2

1: Создайте новый каталог

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

Это – так называемый root-каталог (раздел Document Root в файле конфигурации Apache). При помощи флага -p команда автоматически сгенерирует все каталоги высшего порядка для нового каталога.

sudo mkdir -p /var/www/example.com/public_html

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

При использовании неутвержденного домена для проверки работы хоста обратитесь к разделу 7, который содержит инструкции по запуску хостов на локальном компьютере.

2: Передайте привилегии

Теперь нужно передать все права на только что созданный каталог пользователю:

sudo chown -R $USER:$USER /var/www/example.com/public_html

Кроме того, необходимо убедиться, что все желающие смогут прочитать новые файлы.

sudo chmod -R 755 /var/www

3: Создайте страницу

Теперь необходимо создать новый файл с именем index.html в конфигурационном каталоге.

sudo nano /var/www/example.com/public_html/index.html

В данный файл можно добавить текст, чтобы при переходе на IP на странице отображался некоторый контент.

<html>
<head>
<title>www.example.com</title>
</head>
<body>
<h1>Success: You Have Set Up a Virtual Host</h1>
</body>
</html>

Сохраните изменения и закройте файл.

4: Создайте новый виртуальный хост

На данном этапе можно приступать к настройке веб-сервера. Для этого нужно создать копию файла; скопируйте следующий файл (назвав его именем домена) в тот же каталог:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.com

5: Активируйте виртуальный хост

Откройте новый конфигурационный файл:

sudo nano /etc/apache2/sites-available/example.com

Данный файл и будет служить виртуальным хостом.

Для начала нужно внести в него строку ServerName под строкой ServerAdmin.

ServerName example.com

Директива ServerName задает доменное имя, которое будет использовать виртуальный хост.

Чтобы сайт был доступен по нескольким именам (например, с www в URL-адресе), в файле виртуального хоста нужно указать альтернативные имена, добавив строку ServerAlias. Итак, начало файла виртуального хоста будет иметь следующий вид:

<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
[...]

Далее нужно правильно заполнить Document Root. В этот раздел файла нужно внести  расширение нового каталога, созданного в первом разделе руководства. Если Document Root указан неверно или отсутствует, настроить виртуальный хост будет невозможно.

Данный раздел должен иметь следующий вид:

DocumentRoot /var/www/example.com/public_html

Больше не нужно вносить какие-либо изменения в этот файл. Сохраните и закройте его.

В завершение нужно активировать хост с помощью следующей команды:

sudo a2ensite example.com

6: Перезапустите Apache

В ходе настройки виртуального хоста было внесено немало изменений. Однако ни одно из внесенных изменений не вступит в силу до тех пор, пока веб-сервер Apache не будет перезапущен.

Используйте эту команду, чтобы перезапустить Apache:

sudo service apache2 restart

На данном этапе может появиться сообщение об ошибке:

Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

Тем не менее, это просто предупреждение; теперь можно без проблем получить доступ к виртуальному хосту.

7: Настройка локальных хостов (дополнительно)

Если вы направили доменное имя на IP-адрес виртуального сервера, можете пропустить этот шаг – устанавливать локальные хосты вам не понадобится, виртуальные хосты будут работать и без этого. Тем не менее, чтобы протестировать работу новых виртуальных хостов, не подключаясь при этом к домену, можно настроить на компьютере локальные хосты.

Примечание: прежде чем начать выполнять действия, описанные в данном разделе, убедитесь, что вы перешли с сервера на локальную машину.

Для выполнения следующих действий  нужно знать пароль администратора компьютера, в противном случае для проверки виртуальных хостов придется использовать имя домена.

Пользователям Mac или Linux нужно войти в систему как пользователь root (su) и открыть файл hosts:

nano /etc/hosts

Примечание: пользователи Windows могут найти все необходимые инструкции на сайте Microsoft.

В этот файл можно внести все данные локальных хостов, как показано в примере ниже. Пока выделенная красным строка находится в этом файле, example.com будет выводить всю информацию виртуальных хостов на соответствующий IP.

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
#Virtual Hosts
12.34.56.789    example.com

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

8: Итоги

Завершив настройку виртуального хоста, можно посмотреть, как он работает в сети. Для этого введите в браузер ip-адрес в таком формате: http://12.34.56.789. Готово!

Чтобы добавить больше виртуальных хостов, просто повторите вышеописанный процесс, создав новый document root с соответствующим доменным именем и активировав новый файл виртуального хоста.

Читайте также

Настроив виртуальные хосты, можно создать SSL-сертификат или установить FTP-сервер.

Tags: , , , , , ,

Добавить комментарий