Перейти к основному контенту

<h1>Глава 8: Активация — Симлинки и запуск сайта</h1>

Мы вышли на финишную прямую. У нас запущен Docker-контейнер, настроены DNS-записи, а Certbot полностью подготовил конфигурационный файл Nginx и снабдил его SSL-сертификатами безопасности. Остался последний технический штрих — указать Nginx, что этот файл конфигурации нужно активировать и запустить в работу.


1. Что такое sites-available и sites-enabled?

В веб-сервере Nginx по умолчанию реализована очень удобная и логичная структура управления сайтами:

  • Папка /etc/nginx/sites-available/ (Доступные сайты) — это склад, где лежат текстовые файлы конфигураций всех ваших сайтов и сервисов. Сами по себе файлы здесь просто лежат и ни на что не влияют.
  • Папка /etc/nginx/sites-enabled/ (Включенные сайты) — это рабочая зона. Веб-сервер Nginx при запуске читает конфигурации строго из этой папки.

Чтобы активировать сайт, нам не нужно копировать файл из одной папки в другую (иначе при редактировании пришлось бы менять оба файла). Вместо этого мы создаем символическую ссылку (симлинк / symlink) — цифровой ярлык, который указывает из рабочей папки sites-enabled на оригинальный файл в папке sites-available.


2. Практические шаги по активации

Шаг 2.1: Создание символической ссылки

Выполните в консоли сервера команду для создания симлинка (замените wiki.myserver.ru на ваше реальное имя файла):

sudo ln -s /etc/nginx/sites-available/wiki.myserver.ru /etc/nginx/sites-enabled/

Шаг 2.2: Проверка конфигурации на наличие синтаксических ошибок

Перед тем как перезапускать веб-сервер, обязательно нужно проверить, не допустили ли мы (или Certbot) случайную опечатку, пропустив точку с запятой или фигурную скобку. Если перезапустить Nginx с ошибкой в конфиге, он упадет и заблокирует работу вообще всех остальных сайтов на сервере.

Запустите встроенный тестер конфигурации:

sudo nginx -t

Если всё сделано правильно, вы должны увидеть строго два таких ответа:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Что делать, если тест выдал ошибку (Emerg / Error)? Внимательно прочитайте вывод терминала. Там будет указана конкретная строка файла конфигурации, в которой допущена ошибка. Откройте файл через nano, исправьте опечатку и запустите sudo nginx -t повторно, пока не добьетесь успешного теста.

Шаг 2.3: Перезапуск Nginx

Когда тест пройден успешно, дайте команду веб-серверу перечитать конфигурационные файлы и применить изменения на лету:

sudo systemctl reload nginx

(Использование команды reload предпочтительнее, чем restart, так как она обновляет конфигурацию плавно, без физической остановки службы веб-сервера).


3. Финальный триумф и проверка работы

Поздравляем! Полная цепочка публикации успешно построена и запущена.

  1. Откройте браузер на вашем основном компьютере или смартфоне.
  2. Ведите в адресную строку ваш адрес: https://wiki.myserver.ru.
  3. Перед вами откроется чистая, быстрая и невероятно красивая приветственная страница вашей собственной базы знаний BookStack.

В верхнем левом углу строки браузера вы увидите закрытый замочек. Кликнув на него, вы сможете убедиться, что соединение полностью защищено верифицированным сертификатом Let's Encrypt, а ваши данные находятся в абсолютной безопасности.

Дефолтные данные для самого первого входа в BookStack:

  • Email: admin@admin.com
  • Пароль: password

⚠️ Сразу же после первого успешного входа перейдите в профиль пользователя и измените эти стандартные данные на ваш личный email и новый сложный административный пароль!


Заключение: Памятка сисадмину

Вы проделали колоссальную работу и развернули классический отказоустойчивый стек публикации приложений.

Когда в будущем вы захотите поднять новый селфхост-сервис (например, файловое облако или панель автоматизации), вам нужно будет повторить только Главу 4 (создать новую А-запись для субдомена у регистратора), Главу 5 (поднять новый Docker-контейнер на свободном порту хоста) и Главу 6-7-8 (написать для него конфиг в Nginx и защитить через Certbot). Архитектура вашего сервера готова к масштабированию до бесконечности!