Установка DokuWiki на Ubuntu 22.04 с Apache и SSL Let's Encrypt

Коротко о DokuWiki
DokuWiki — простое и гибкое вики‑ПО на PHP. Данные хранятся в файловом формате (без СУБД), что облегчает резервное копирование и перенос. Подходит для персональных и корпоративных вики с чистым читаемым синтаксисом.
Определение: Let’s Encrypt — бесплатный центр сертификации, выдающий сертификаты с периодом действия 90 дней.
Основные варианты использования (по намерению)
- Установка DokuWiki на новый Ubuntu 22.04 сервер
- Добавление HTTPS (Let’s Encrypt) к сайту на Apache
- Быстрая настройка прав и виртуального хоста Apache
Предварительные требования
- Сервер с Ubuntu 22.04
- Домен или поддомен, указывающий на IP сервера
- Доступ root или sudo
Установка Apache и PHP
Установите Apache, PHP и необходимые расширения:
apt-get install apache2 php php-gd php-xml php-json -yЗапустите Apache и включите автозапуск:
systemctl start apache2
systemctl enable apache2После этого переходите к установке DokuWiki.
Скачивание и установка DokuWiki
Скачайте последний архив с официальной страницы (в примере используется конкретный файл):
wget https://download.dokuwiki.org/out/dokuwiki-24117f7f9e0362c4b1782ff29220b0ab.tgzСоздайте папку в корне веб‑сайта и распакуйте в неё содержимое:
mkdir /var/www/html/dokuwiki
tar -xvzf dokuwiki-24117f7f9e0362c4b1782ff29220b0ab.tgz -C /var/www/html/dokuwiki/ --strip-components=1Скопируйте пример файла .htaccess и установите права:
cp /var/www/html/dokuwiki/.htaccess{.dist,}
chown -R www-data:www-data /var/www/html/dokuwikiНастройка виртуального хоста Apache для DokuWiki
Создайте файл конфигурации виртуального хоста:
nano /etc/apache2/sites-available/dokuwiki.confВставьте конфигурацию (замените ServerName на ваш домен):
ServerName doku.example.com
DocumentRoot /var/www/html/dokuwiki
AllowOverride All
Require all denied
Order allow,deny
Deny from all
ErrorLog /var/log/apache2/dokuwiki_error.log
CustomLog /var/log/apache2/dokuwiki_access.log combined
Включите сайт и перезагрузите Apache:
a2ensite dokuwiki.conf
systemctl reload apache2Проверьте статус сервера:
systemctl status apache2(В выводе вы увидите состояние сервиса — оставьте вывод как в примере в оригинале.)
Включение HTTPS через Let’s Encrypt
Установите Certbot и плагин для Apache:
apt-get install certbot python3-certbot-apache -yЗапустите получение сертификата (замените домен на ваш):
certbot --apache -d dokuwiki.linuxbuz.comВо время работы Certbot вас попросят указать email и принять условия обслуживания. Затем можно выбрать, перенаправлять ли HTTP на HTTPS — для новых сайтов рекомендуется выбрать перенаправление.
Один из фрагментов вывода Certbot приведён в оригинале — он демонстрирует успешную установку и путь к файлам сертификата.
Доступ к инсталлятору DokuWiki
Откройте в браузере:
https://<ваш-домен>/install.php
Заполните: название вики, логин администратора, пароль, email и политику хранения. Нажмите «Save». После успешной установки откроется приветственная страница.





Настройка авто‑продления сертификата
Сертификаты Let’s Encrypt действуют 90 дней. Рекомендуется настроить автоматическое продление через cron. Перед созданием задачи можно выполнить тестовый прогон:
certbot renew --dry-runЧтобы выполнять проверку продления ежедневно в 06:00, добавьте строчку в crontab:
crontab -e
00 06 * * * root /usr/bin/certbot renew >/dev/null 2>&1Сохраните и закройте редактор.
Важно: certbot при продлении может перезапускать Apache, убедитесь, что это допустимо для вашего окружения.
Критерии приёмки
- Веб‑страница https://<ваш-домен>/ доступна по HTTPS и содержит интерфейс DokuWiki.
- На сервере присутствуют файлы сертификата в /etc/letsencrypt/live/<ваш-домен>/.
- Виртуальный хост Apache корректно настроен и не отдаёт директории bin/, conf/, data/, inc/ внешним пользователям.
- Панель администратора доступна после логина.
Тестовые сценарии и приемочные проверки
- Открыть https://<ваш‑домен>/install.php и пройти инсталляцию — ожидаемый результат: успешная установка и перенаправление на домашнюю страницу.
- Выполнить команду certbot renew –dry-run — ожидаемый результат: успешный тест продления без ошибок.
- Попытаться получить содержимое /var/www/html/dokuwiki/conf/local.php из браузера — доступ должен быть запрещён.
Чек‑лист по ролям
Администратор сервера:
- Убедиться, что DNS указывает на IP сервера.
- Установить Apache, PHP и расширения.
- Настроить права на /var/www/html/dokuwiki.
Администратор приложения:
- Завершить установку через /install.php.
- Настроить параметры в conf/local.php (при необходимости).
DevOps / безопасность:
- Включить автоматическое продление сертификатов.
- Настроить брандмауэр (разрешить 80/443).
Рекомендации по безопасности и жёсткая настройка
- Регулярно обновляйте систему: apt update && apt upgrade. Это уменьшит риск уязвимостей в PHP/Apache.
- Отключите неиспользуемые модули Apache и PHP.
- Ограничьте доступ к административным страницам по IP (если возможно).
- Храните резервные копии каталога /var/www/html/dokuwiki и папки data/ отдельно.
- Рассмотрите настройку Content Security Policy и HTTP Strict Transport Security (HSTS) в конфигурации Apache после подтверждения стабильности HTTPS.
Пример включения HSTS (осторожно — влияет на доступность при ошибках HTTPS):
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"Частые ошибки и как их исправить
- Ошибка при выдаче сертификата: проверьте DNS и доступ по HTTP к серверу, Certbot должен пройти http-01 challenge.
- После распаковки DokuWiki пустая страница: проверьте права (chown -R www-data:www-data) и логи Apache.
- Проблемы с модулем rewrite: включите mod_rewrite: a2enmod rewrite && systemctl restart apache2.
Миграция и обновление DokuWiki
- Для переноса DokuWiki достаточно скопировать папки conf/, data/ и pages/ (если есть) — DokuWiki хранит контент в файлах.
- Перед обновлением создайте резервную копию файлов и конфигураций.
- Обновление: скачайте новую версию и распакуйте поверх, предварительно сняв резервную копию.
Мини‑методология развертывания (быстрая)
- Подготовить сервер и DNS.
- Установить Apache и PHP.
- Скачать и распаковать DokuWiki.
- Настроить виртуальный хост и права.
- Получить SSL через Certbot и включить редирект.
- Завершить установку через веб‑интерфейс.
- Настроить автопродление и мониторинг.
Заключение
Поздравляем — вы установили DokuWiki и защитили сайт сертификатом Let’s Encrypt на Ubuntu 22.04. Пройдите чек‑листы, выполните тесты и настройте резервное копирование для надёжной эксплуатации.
Вопросы и улучшения: если нужно, я могу помочь подготовить Ansible‑плейбук для автоматизации установки или шаблон виртуального хоста под несколько сайтов.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента