Гид по технологиям

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

• 4 min read • Инфраструктура • Обновлено 25 Nov 2025
Установка DokuWiki на Ubuntu 22.04 — Apache + SSL
Установка DokuWiki на Ubuntu 22.04 — Apache + SSL

DokuWiki — логотип и интерфейс

Коротко о 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

Установщик DokuWiki — форма установки

Заполните: название вики, логин администратора, пароль, email и политику хранения. Нажмите «Save». После успешной установки откроется приветственная страница.

Выбор лицензии и условий

Установка успешно завершена

Главная страница DokuWiki

Экран входа в DokuWiki

Панель администратора DokuWiki

Настройка авто‑продления сертификата

Сертификаты 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 хранит контент в файлах.
  • Перед обновлением создайте резервную копию файлов и конфигураций.
  • Обновление: скачайте новую версию и распакуйте поверх, предварительно сняв резервную копию.

Мини‑методология развертывания (быстрая)

  1. Подготовить сервер и DNS.
  2. Установить Apache и PHP.
  3. Скачать и распаковать DokuWiki.
  4. Настроить виртуальный хост и права.
  5. Получить SSL через Certbot и включить редирект.
  6. Завершить установку через веб‑интерфейс.
  7. Настроить автопродление и мониторинг.

Заключение

Поздравляем — вы установили DokuWiki и защитили сайт сертификатом Let’s Encrypt на Ubuntu 22.04. Пройдите чек‑листы, выполните тесты и настройте резервное копирование для надёжной эксплуатации.

Вопросы и улучшения: если нужно, я могу помочь подготовить Ansible‑плейбук для автоматизации установки или шаблон виртуального хоста под несколько сайтов.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро