1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  1. zerg

    zerg Новичок

    Регистрация:
    8 июн 2017
    Сообщения:
    29
    Симпатии:
    11
    Пол:
    Мужской
    Многие начинающие администраторы когда либо задавались вопросом как привязать домен или создать поддомен для своего сайта.
    В этой статье мы рассмотрим пример настройки виртуального хоста под управлением ubuntu 16.04.
    Поехали.

    Для начала у вас должен быть установлен веб-севрер nginx, если он еще не установлен, тогда проделываем следующие шаги от рутового пользователя:
    Код:
    sudo apt update
    sudo apt install nginx
    За стандартом, директории сайтов находится по пути /var/www/html, по этому мы будем проводить манипуляции в папке /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 - название вашего сайта или поддомена.

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

    Осталось создать виртуальный хост и включить наш сайт.
    В качестве дефолтного сайта nginx отвечает файл default, который находится по пути /etc/nginx/sites-available
    Скопируем его:
    Код:
    sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.ru
    Вместо example.ru опять же указываем имя своего сайта или поддомена. Можно и любое другое, но для простоты выбираем имя нашего сайта.
    Отредактируем скопированный файл:
    Код:
    sudo nano /etc/nginx/sites-available/example.ru
    Дальше вносим некоторые изминения в файл:
    Код:
    server {
    
      
        #Слушаем 80 порт и указываем имя своего домена
        listen 80;
        server_name example.ru www.example.ru;
    
        #Указываем путь, куда будут писатся логи
        access_log /var/www/example.ru/logs/nginx_access.log;
        error_log /var/www/example.ru/logs/nginx_error.log;
    
        #Указываем директорию, где будет размещен наш сайт
        root /var/www/example.ru/html;
        index index.php index.html index.htm;
    
        #Некоторые настройки для виртуального хоста
        location ~ \.php$ {
            #Если не найден файл - выдаем ошибку 404
            try_files $uri $uri/ =404;
        }
    }
    Закрываем и сохраняем файл нашего виртуального хоста.
    Включаем наш сайт, прописывав в терминале:
    Код:
    sudo ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
    Рестартим nginx и проверяем работоспособность сайта.
    Код:
    sudo systemctl restart nginx
    Дальше в браузере переходим на наш сайт: example.ru
    Если всё работает, то вы увидите страницу приветствия, которую мы создавали ранее.
    На этом настройка виртуального хоста завершена, после этого можно наполнять наш сайт.

    Спасибо за внимание, это моя первая статья, которая рассчина на новичков. Строго не судите.
    p.s. Мог что то пропустить, если такое есть - прошу поправить.
     
    Gudaus, MakapoH. и Vesuvius нравится это.