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

Установка DokuWiki на Ubuntu 20.04 с Apache и сертификатом Let's Encrypt

• 6 min read • DevOps • Обновлено 25 Nov 2025
DokuWiki на Ubuntu 20.04 с Apache и Let's Encrypt
DokuWiki на Ubuntu 20.04 с Apache и Let's Encrypt

Вид главной страницы DokuWiki с примером логотипа и навигации

DokuWiki — лёгкая PHP‑вики без базы данных. В этой пошаговой инструкции показано, как установить DokuWiki на Ubuntu 20.04, настроить Apache и получить бесплатный SSL от Let’s Encrypt с автоматическим обновлением сертификата. Приведены также варианты для Nginx и Docker, чек‑листы, рекомендации по безопасности и тесты приёмки.

О чём эта статья

  • Быстрая установка и настройка DokuWiki на Apache.
  • Получение и автоматическое обновление сертификата Let’s Encrypt.
  • Проверки, меры безопасности и альтернативные подходы.

Ключевые требования

  • Сервер с Ubuntu 20.04.
  • Домен, указывающий на ваш сервер (A/AAAA запись).
  • Пароль root или пользователь с sudo-привилегиями.

Обновите пакеты системы

Перед началом обновите пакеты до последних версий:

apt-get update -y  
apt-get upgrade -y

Перезагрузите систему, если обновления этого требуют.

Установка Apache и PHP

DokuWiki написан на 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/src/dokuwiki/dokuwiki-rc.tgz

Создайте каталог в корне веб-сервера и распакуйте архив:

mkdir /var/www/html/dokuwiki  
tar -xvzf dokuwiki-rc.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

Важно: DokuWiki хранит данные в файловой системе. Регулярно делайте резервные копии папки /var/www/html/dokuwiki/conf и /var/www/html/dokuwiki/data.

Настройка Apache для DokuWiki

Создайте виртуальный хост:

nano /etc/apache2/sites-available/dokuwiki.conf

Вставьте конфигурацию (замените ServerName на ваш домен):


        ServerName    dokuwiki.linuxbuz.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

Проверьте синтаксис конфигурации Apache при необходимости:

apachectl configtest

Если появятся ошибки, исправьте их перед продолжением.

Получение SSL от Let’s Encrypt (Certbot)

Установите Certbot и плагин для Apache:

apt-get install certbot python3-certbot-apache -y

Запустите Certbot для вашего домена:

certbot --apache -d dokuwiki.linuxbuz.com

Во время выполнения вам будет предложено ввести email, принять условия и выбрать перенаправление HTTP→HTTPS. В интерактивном режиме выберите перенаправление, если сайт готов к HTTPS.

Пример вывода Certbot показан в исходном руководстве; при успешном завершении Certbot создаст конфигурацию SSL для Apache и сохранит сертификаты в /etc/letsencrypt/live/your-domain/.

Important: сертификаты Let’s Encrypt действуют 90 дней. Настройте автоматическое обновление.

Доступ к установщику DokuWiki

Откройте в браузере:

https://dokuwiki.linuxbuz.com/install.php

Вы увидите страницу установки, где нужно заполнить:

  • Wikiname — отображаемое имя вики.
  • Admin username — логин администратора.
  • Password — надежный пароль администратора.
  • E‑mail — адрес для уведомлений.
  • Политику прав доступа.

После сохранения вы попадёте на страницу завершения настройки и сможете перейти в новую вики.

Экран установщика DokuWiki с полями настройки

Выбор лицензии и условий использования

Окно успешной конфигурации DokuWiki

Главная страница DokuWiki после установки

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

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

Настройка автоматического обновления сертификата

Проверьте работу обновления в режиме dry‑run:

certbot renew --dry-run

Чтобы автоматизировать обновление, добавьте cron‑задачу. Откройте crontab:

crontab -e

Добавьте строку (пример — запуск каждый день в 10:00):

00 10 * * *   root /usr/bin/certbot renew >/dev/null 2>&1

Сохраните файл. Certbot сам перезапускает службы при необходимости.

Критерии приёмки

  • Сайт доступен по HTTPS по адресу https://dokuwiki.linuxbuz.com
  • Сертификат валиден и выдан Let’s Encrypt.
  • Установщик DokuWiki завершён и вы можете войти под админом.
  • Логи Apache не содержат критических ошибок после перезагрузки.

Частые проблемы и способы их решения

  • DNS не указывает на сервер — проверьте A/AAAA записи.

  • Порт 80/443 закрыт — откройте в брандмауэре (ufw/iptables):

    • Для ufw: sudo ufw allow ‘Apache Full’
  • Certbot не может пройти проверку — временно отключите редиректы и проверьте доступ к http://your-domain/.well-known/acme-challenge/

  • Права файлов — директории и файлы веб‑контента должны принадлежать www-data.

Альтернативные подходы

  • Nginx: используйте certbot-nginx и настройте server_name, root. Nginx даёт более тонкую настройку производительности.
  • Docker: откажитесь от системных пакетов и запустите DokuWiki и/или Certbot в контейнерах. Удобно для изоляции и миграций.
  • Reverse proxy: если вы используете балансировщик, настройте SSL на фронтенде, а backend оставьте за http.

Когда не применять DokuWiki

  • Если вам нужна вики с реляционной БД и сложными расширениями (например, многие привязки к БД), лучше рассмотреть MediaWiki или Confluence.

План действий (мини‑методология)

  1. Обновить систему и установить Apache/PHP.
  2. Загрузить DokuWiki в /var/www/html/dokuwiki.
  3. Настроить виртуальный хост и права доступа.
  4. Протестировать доступ по HTTP.
  5. Установить Certbot и получить сертификат.
  6. Настроить cron для автообновления.
  7. Выполнить базовую настройку в интерфейсе DokuWiki и сделать резервную копию.

Чек‑лист ролей

Администратор сервера:

  • Обновил систему.
  • Настроил DNS и порты.
  • Установил Apache, PHP, Certbot.
  • Настроил cron для certbot.

Администратор DokuWiki:

  • Заполнил данные установщика (admin/login).
  • Настроил политики прав доступа.
  • Установил нужные плагины и тему.
  • Сделал резервную копию конфигурации и данных.

Безопасность и жёсткое укрепление

  • Права: chown -R www-data:www-data для каталога DokuWiki.
  • Ограничьте доступ к папкам conf, inc, data, bin через .htaccess и конфигурацию Apache (как в примере).
  • Включите заголовки безопасности (Content-Security-Policy, X-Frame-Options, X-Content-Type-Options) в конфигурации Apache.
  • Делайте регулярные бэкапы: конфиг (/conf), данные (/data), и плагины (/lib/plugins).
  • Ограничьте количество пользователей с правами администратора.

Конфигурация резервного копирования (рекомендация)

Пример простой команды для бэкапа данных:

tar -czvf /backups/dokuwiki-$(date +%F).tar.gz /var/www/html/dokuwiki/{conf,data}

Храните резервные копии вне сервера (S3, удалённый SFTP и т.п.).

Тесты приёмки

  • Открыть https://dokuwiki.linuxbuz.com/install.php — установка доступна.
  • Зайти под админом — панель управления доступна.
  • Создать страницу, сохранить и проверить отображение и редактирование.
  • Проверить, что при попытке доступа к /conf/ или /data/ возвращается 403.
  • Выполнить certbot renew –dry-run — завершение без ошибок.

Совместимость и миграция

  • DokuWiki не требует СУБД; достаточно PHP 7.2+ (проверьте требования к версии в релиз-нотах).
  • Для Ubuntu 22.04 и 18.04 шаги аналогичны, но пакеты PHP и зависимости могут иметь другие имена.
  • При миграции копируйте /data и /conf и устанавливайте такую же версию DokuWiki или более новую.

Примечания по GDPR и приватности

Если ваша вики хранит персональные данные:

  • Ограничьте доступ к страницам с персональными данными.
  • Храните логи доступа ограниченное время.
  • Документируйте обработку данных и выполняйте запросы субъектов данных согласно регламенту.

Быстрые команды и сниппеты (cheat sheet)

  • Проверка Apache: apachectl configtest
  • Запуск Certbot: certbot –apache -d your-domain
  • Тест обновления сертификатов: certbot renew –dry-run
  • Резервное копирование: tar -czvf /backups/dokuwiki-$(date +%F).tar.gz /var/www/html/dokuwiki/{conf,data}

Резюме

DokuWiki — надежное и простое решение для вики без необходимости в базе данных. На Ubuntu 20.04 установка включает подготовку сервера, загрузку файлов, настройку Apache и получение SSL от Let’s Encrypt. Обязательно настройте автоматическое обновление сертификатов и регулярные бэкапы.

Summary (ключевые выводы):

  • DokuWiki проста и не требует СУБД.
  • Let’s Encrypt даёт бесплатный SSL с 90‑дневной валидностью.
  • Настройте автоматическое обновление и резервное копирование.
  • Рассмотрите Nginx или Docker как альтернативы.

Фактбокс

  • Формат хранения: файловая система (no‑DB).
  • Типичный срок сертификата Let’s Encrypt: 90 дней.
  • Рекомендуемая периодичность бэкапов: ежедневно или еженедельно в зависимости от активности.

Глоссарий — 1 строка

  • Certbot: клиент для получения SSL от Let’s Encrypt; DokuWiki: вики‑движок на PHP, хранящий данные в файлах.

Если нужно, могу дополнить инструкцию примером конфигурации Nginx, Docker‑compose файлом или шаблоном политики доступа для DokuWiki.

Поделиться: 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 быстро