Настройка виртуальных хостов apache2

zerg

Пользователь
Регистрация
8 Июн 2017
Сообщения
47
Симпатии
15
Пол
Мужской
#1
После написаной статьи настройки виртуального хоста nginx, решил выложить еще и настройку виртуальных хостов в apache2.
Система та же - Ubuntu 16.04.
Поехали.
Обновляем пакеты и устанавливаем сам apache:
Код:
sudo apt update
sudo apt install apache2
Как и раньше - манипуляции проводим в папке /var/www/
Код:
sudo mkdir -p /var/www/example.ru/html
sudo mkdir -p /var/www/example.ru/logs
Где example.ru указываем свое название сайта или поддомена.
В папке html будут лежать файлы сайта, а в папке logs - логи.
Добавляем не рутового пользователя, в качестве владельца сайта:
Код:
sudo adduser user
Где user указываем имя своего пользователя.
После выполнения данной команды вам нужно будет ввести, а после подтвердить, пароль созданого вами пользователя. Запоминаем или записываем данные. Когда то они нам, возможно, будут нужны.
Создав пользователя нам нужно выдать ему права на директорию сайта, сделаем это:
Код:
sudo chown -R user:user /var/www/example.ru
Где user - имя пользователя, которого вы создали, а example.ru - название вашего сайта или поддомена.

Теперь у нас есть директория под сайт, а так же ее владелец.
Создадим страницу приветствия нашего сайта:
Код:
sudo nano /var/www/example.ru/html/index.html
Вставив внутрь следующий текст:
Код:
<html>
    <head>
        <title>Приветствуем вас на нашем сайте example.ru</title>
    </head>
    <body>
        <h1>Если вы видите данную страницу, значит всё работает :)</h1>
    </body>
</html>
Сохраняем и закрываем файл index.html

Осталось создать виртуальный хост и включить наш сайт.
По умолчанию, Apache имеет файл виртуального хоста 000-default.conf в папке /etc/apache2/sites-available
Скопируем его:
Код:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.ru.conf
Вместо example.ru опять же указываем имя своего сайта или поддомена. Можно и любое другое, но для простоты выбираем имя нашего сайта.
Отредактируем скопированный файл:
Код:
sudo nano /etc/apache2/sites-available/example.ru.conf
Вставим туда следующее:

Код:
<VirtualHost *:80>
    #Указываем адресс почты
    ServerAdmin admin@example.ru
    #Меняем на имя домена/поддомена
    ServerName example.ru
    ServerAlias www.example.ru
    #Ресположение корневого каталога домена
    DocumentRoot /var/www/example.ru/html
    #Логи
    ErrorLog /var/www/example.ru/logs/error_apache2.log
    CustomLog /var/www/example.ru/logs/access_apache2.log combined
</VirtualHost>
Сохраняем и закрываем файл.
Включаем наш сайт:
Код:
sudo a2ensite example.ru.conf
Рестартим apache
Код:
sudo service apache2 restart
Переходим на наш сайт: example.ru , и если всё работает, то вы увидите страницу приветствия, которую мы создавали ранее.
На этом всё.
Спасибо за внимание.
 

SeMax

Пользователь
Регистрация
8 Июн 2017
Сообщения
21
Симпатии
7
Пол
Мужской
#2
Поправочка. Нужно 2 алиаса добавить, чтобы сайт открывался и с www и без
Код:
ServerAlias www.example.ru
ServerAlias example.ru