<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 oknginx: 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. Финальный триумф и проверка работы
Поздравляем! Полная цепочка публикации успешно построена и запущена.
- Откройте браузер на вашем основном компьютере или смартфоне.
- Ведите в адресную строку ваш адрес:
https://wiki.myserver.ru. - Перед вами откроется чистая, быстрая и невероятно красивая приветственная страница вашей собственной базы знаний BookStack.
В верхнем левом углу строки браузера вы увидите закрытый замочек. Кликнув на него, вы сможете убедиться, что соединение полностью защищено верифицированным сертификатом Let's Encrypt, а ваши данные находятся в абсолютной безопасности.
Дефолтные данные для самого первого входа в BookStack:
- Email:
admin@admin.com - Пароль:
password
⚠️ Сразу же после первого успешного входа перейдите в профиль пользователя и измените эти стандартные данные на ваш личный email и новый сложный административный пароль!
Заключение: Памятка сисадмину
Вы проделали колоссальную работу и развернули классический отказоустойчивый стек публикации приложений.
Когда в будущем вы захотите поднять новый селфхост-сервис (например, файловое облако или панель автоматизации), вам нужно будет повторить только Главу 4 (создать новую А-запись для субдомена у регистратора), Главу 5 (поднять новый Docker-контейнер на свободном порту хоста) и Главу 6-7-8 (написать для него конфиг в Nginx и защитить через Certbot). Архитектура вашего сервера готова к масштабированию до бесконечности!