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

Установка и настройка DokuWiki на Debian 9.2

• 8 min read • DevOps • Обновлено 25 Nov 2025
DokuWiki на Debian 9.2 — установка и настройка
DokuWiki на Debian 9.2 — установка и настройка

DokuWiki — лёгкая PHP-вики без SQL, отлично подходит для документации. В этой пошаговой инструкции показано, как подготовить Debian 9.2, установить Apache и PHP, настроить SSL и безопасность, развернуть последнюю стабильную версию DokuWiki, настроить права и .htaccess, а также выполнить базовую отладку и резервное копирование.

В этом руководстве описан процесс установки и настройки DokuWiki на Debian 9.2. DokuWiki — это свободная open source вики-платформа на PHP, не требующая реляционной базы данных: все данные хранятся в простых текстовых файлах. Она проста, гибка и удобна для коллективной документации.

Кому пригодится это руководство:

  • Сисадминам и инженерам по DevOps, которые разворачивают внутренние справочные порталы.
  • Командам документации, которым нужен приватный вики с простым бэкендом.
  • Тем, кто хочет лёгкую альтернативу более тяжёлым CMS.

Важно: все команды в примерах выполняются от имени пользователя с sudo-привилегиями или root.

Ключевые варианты использования (intent)

  • Установка DokuWiki на Debian 9.2
  • Настройка Apache+PHP для DokuWiki
  • Включение HTTPS и редиректов
  • Базовая безопасность и резервное копирование

Требования

  • Минимальная установка Debian 9 на физическом сервере или VPS.
  • Права root или sudo.
  • Статический IP или корректная настройка сети.
  • Домен (рекомендуется) либо доступ по IP.
  • При использовании почтовых функций — доступ к SMTP/IMAP-серверу.

Краткое определение терминов

  • DokuWiki — вики-платформа на PHP, хранящая данные в текстовых файлах.
  • ACL — контроль доступа (permissions для страниц/групп).
  • OPCache — кеширование байткода PHP для ускорения выполнения.

Что будет показано

  • Подготовка Debian (обновление, утилиты, hostname)
  • Установка ImageMagick, Apache, PHP и модулей
  • Настройка брандмауэра (UFW / iptables)
  • Включение модулей Apache и SSL
  • Настройка php.ini и OPCache
  • Установка DokuWiki и права доступа
  • Настройка .htaccess и редиректов на HTTPS
  • Рекомендации по безопасности, резервному копированию и эксплуатации

1. Подготовка системы

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

apt update
apt upgrade

Установите базовые утилиты:

apt install wget bash-completion zip unzip curl

Установите hostname (замените на ваш FQDN):

hostnamectl set-hostname www.mywiki.com

Проверьте hostname и файлы хостов:

hostnamectl
cat /etc/hostname
hostname -s
hostname -f

Установите ImageMagick — используется для создания миниатюр изображений:

apt install imagemagick

Перезагрузите сервер, чтобы применить изменения ядра и hostname:

init 6

Важно: перед перезагрузкой убедитесь, что у вас есть доступ по IP/консоли.


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

DokuWiki — это PHP-приложение, поэтому нужен HTTP-сервер и PHP-интерпретатор. Установите Apache и необходимые модули PHP 7.0:

apt install apache2 libapache2-mod-php7.0 php7.0 php7.0-curl php7.0-gd php7.0-opcache php7.0-json php7.0-mbstring php7.0-intl php-imagick php7.0-xml

Проверьте, что Apache слушает порт 80:

netstat -tlpn

Если netstat отсутствует, установите net-tools:

apt install net-tools

Альтернатива (предпочтительна в современных системах):

ss -tulpn

Если у вас включён брандмауэр UFW, разрешите HTTP:

ufw allow WWW

или

ufw allow 80/tcp

Если используете iptables и netfilter-persistent:

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -I INPUT -p tcp --destination-port 22 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent
systemctl enable netfilter-persistent.service

3. Включение модулей Apache и проверка

Включите модуль rewrite (необходим для красивых URL и .htaccess):

a2enmod rewrite

Перезапустите Apache:

systemctl restart apache2

Откройте в браузере http://your_domain.tld или IP-адрес сервера. По умолчанию видна страница Apache.

/files/ad1bea63-e861-4461-ae90-f8de76490105.png

ALT: Страница по умолчанию Apache на Debian с приветственным текстом


4. Включение SSL в Apache (самоподписанный сертификат)

Для HTTPS включите SSL-модуль и дефолтный SSL-сайт:

a2enmod ssl
a2ensite default-ssl.conf

Откройте файл SSL-конфигурации и включите AllowOverride, чтобы .htaccess работал:

nano /etc/apache2/sites-enabled/default-ssl.conf

Добавьте внутри конфигурации после DocumentRoot:


  Options +FollowSymlinks
  AllowOverride All
  Require all granted

Убедитесь, что VirtualHost слушает 443:

/files/c93f85e8-4d3c-435a-9dc3-a078ba46d305.png

ALT: Фрагмент конфигурации Apache для SSL с включённым AllowOverride

Также откройте основной виртуальный хост и добавьте те же правила:

nano /etc/apache2/sites-enabled/000-default.conf

Вставьте тот же блок после DocumentRoot.

Перезапустите Apache:

systemctl restart apache2

Зайдите на https://yourdomain.tld — браузер покажет предупреждение о самоподписанном сертификате.

/files/d93d6c15-bd25-4ccf-bfe1-db50ad91eb57.png

ALT: Предупреждение браузера о самоподписанном сертификате

Примите предупреждение, чтобы продолжить.

/files/0008b399-03e8-44d1-9cea-50f22bed0b48.png

ALT: Пример продолжения к самоподписанному сайту в браузере

Если UFW блокирует HTTPS, разрешите порт 443:

ufw allow 'WWW Full'

или

ufw allow 443/tcp

Для iptables:

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
netfilter-persistent save
systemctl restart netfilter-persistent

5. Настройка PHP

Создайте резервную копию php.ini и откройте файл для редактирования:

cp /etc/php/7.0/apache2/php.ini{,.backup}
nano /etc/php/7.0/apache2/php.ini

Найдите и установите следующие параметры (пример):

file_uploads = On
default_charset = UTF-8
memory_limit = 128M
max_execution_time = 300
upload_max_filesize = 100M
short_open_tag = Off
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
max_input_time = 60
max_input_vars = 10000
error_reporting = E_ALL & ~E_NOTICE
display_startup_errors = Off
log_errors = On
variables_order = "EGPCS"
register_argc_argv = Off
session.use_cookies = 1
date.timezone = Europe/London

Измените date.timezone на ваш часовой пояс согласно списку PHP: http://php.net/manual/en/timezones.php

Если хотите ускорить сайт — включите OPCache, добавив в конец php.ini:

[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Перезапустите Apache:

systemctl restart apache2

Проверьте настройки PHP через phpinfo:

echo ''| tee /var/www/html/info.php

Откройте https://domain.tld/info.php и проверьте date.timezone.

/files/c4b893be-e5d4-4fe2-9a1c-f2b27bd49190.png

ALT: Страница phpinfo с отображением timezone и загруженных модулей

Удалите info.php после проверки.


6. Скачивание и установка DokuWiki

Перейдите на страницу загрузки DokuWiki и скачайте стабильный архив. Команда wget:

wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Распакуйте архив и очистите веб-документ рут от дефолтного index и временных файлов:

tar xzvf dokuwiki-stable.tgz
ls
rm /var/www/html/index.html
rm /var/www/html/info.php

Скопируйте файлы DokuWiki в веб-корень. Название каталога может отличаться по версии — проверьте текущий каталог после распаковки:

ls dokuwiki-*/

Например:

cp -rf dokuwiki-2017-02-19e/* /var/www/html/

Копируем файл .htaccess:

cp dokuwiki-2017-02-19e/.htaccess.dist /var/www/html/

Установите владельца www-data для файлов:

chown -R www-data:www-data /var/www/html/

Проверьте права:

ls -al /var/www/html/

7. Веб-инсталлятор DokuWiki

Откройте установочный скрипт в браузере:

https://yourdomain.tld/install.php

На первом экране заполните: имя вики, отметьте Enable ACL, задайте суперпользователя (логин, полное имя, email) и надёжный пароль.

Выберите политику ACL: Public Wiki (чтение для всех, запись и загрузка для зарегистрированных) — при желании отключите саморегистрацию посетителей. Выберите лицензию контента и отключите отправку телеметрии.

Нажмите Save.

/files/a6edf414-f910-493b-86bd-01c500e9f323.png

ALT: Экран установщика DokuWiki с настройками имени вики и суперпользователя

После успешного сохранения установщик предложит удалить install.php.

/files/40343397-5b0c-4c85-acf7-f7fcff7e4c53.png

ALT: Сообщение установщика о том, что конфигурация успешно сохранена

Удалите установщик и скорректируйте права, чтобы защитить файлы конфигурации:

rm -rf /var/www/html/install.php
chown -R root:root /var/www/html/
chown -R www-data:root /var/www/html/data/
chown -R www-data:root /var/www/html/lib/plugins/
chown -R www-data:root /var/www/html/lib/tpl/
chown -R www-data:root /var/www/html/conf/local.php*
chown -R www-data:root /var/www/html/conf/users.auth.php
chown -R www-data:root /var/www/html/conf/acl.auth.php
chown -R www-data:root /var/www/html/conf/plugins.local.php*

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

https://yourdomain.tld

/files/7718771d-adde-4990-8425-fccd7874ebfe.png

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

Войдите в панель управления через ссылку Log In, используя учётные данные суперпользователя.

/files/632b4725-b95b-4a12-8d14-38b5f7ed68af.png

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

Администрирование доступно по кнопке Admin — можно настраивать пользователей, права (ACL), плагины и шаблон.

/files/3dac0ca6-f0c1-47b6-8eba-9fdd1b121f15.png

ALT: Раздел администратора DokuWiki с управлением расширениями и шаблонами


8. Настройка .htaccess: PHP и редиректы на HTTPS

Скопируйте .htaccess.dist в .htaccess:

cp /var/www/html/.htaccess.dist /var/www/html/.htaccess

Откройте .htaccess:

nano /var/www/html/.htaccess

В конце можно изменить настройки PHP:

# Modify PHP settings
php_value session.use_trans_sid 0
php_value register_globals 1
php_value upload_max_filesize 100M
php_value post_max_size 100M

Вставьте правила редиректа на HTTPS для всех страниц:

# Redirect to HTTPS for all pages including the main web page

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]

Options -Indexes

Если нужно редиректить на HTTPS только страницы входа и профиля (главная остаётся HTTP), используйте альтернативный блок:

# Switch to HTTPS on login, profile and admin actions
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{QUERY_STRING} do=(log|profile|admin)
RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R,QSA,L,NE]

Примечание: для корректной работы редиректов убедитесь, что в VirtualHost настроены правильные ServerName/ServerAlias.


9. Рекомендации по безопасности и эксплуатация

Общие меры безопасности:

  • Получите доверенный SSL-сертификат (Let’s Encrypt поддерживается и бесплатен). Самоподписанные сертификаты ухудшают доверие и SEO.
  • Регулярно обновляйте Debian и пакеты: apt update && apt upgrade.
  • Ограничьте регистрацию пользователей, если вики предназначена для внутреннего использования.
  • Настройте автоматическое резервное копирование конфигурации и каталога data (см. раздел резервного копирования).
  • Используйте fail2ban для защиты SSH и панелей администратора.

Поддержка Let’s Encrypt (короткий пример с certbot):

apt install certbot python-certbot-apache
certbot --apache -d yourdomain.tld -d www.yourdomain.tld

Это автоматически получит и установит сертификат, а также настроит редиректы HTTPS.

Права файлов:

  • /var/www/html/conf — доступен только для чтения веб-сервером, конфигурация должна быть защищена.
  • /var/www/html/data — веб-сервер должен иметь права на запись (хранение страниц и вложений).

Резервное копирование — рекомендуемые объекты:

  • /var/www/html/data — все страницы и вложения
  • /var/www/html/conf — конфигурации (local.php, users.auth.php, acl.auth.php)
  • /var/www/html/lib/plugins — установленные плагины

Пример простого скрипта резервного копирования (выполнять под root или пользователем с доступом):

#!/bin/bash
BACKUP_DIR=/srv/backups/dokuwiki
TIMESTAMP=$(date +"%F-%H%M")
mkdir -p "$BACKUP_DIR"
cd /var/www/html
tar czf "$BACKUP_DIR/dokuwiki-data-$TIMESTAMP.tar.gz" data conf lib/plugins
find "$BACKUP_DIR" -type f -mtime +30 -delete

Критерии приёмки (что проверить после установки):

  • Доступность сайта по HTTPS без ошибок (после установки доверенного сертификата).
  • Вход в админ-панель суперпользователем.
  • Возможность создавать новые страницы и загружать файлы.
  • Корректная работа миниатюр изображений (ImageMagick).
  • Наличие резервных архивов.

10. Отладка — частые проблемы и решения

  1. Ошибка 500 при обращении к установщику или после установки
  • Проверьте логи Apache: /var/log/apache2/error.log
  • Восстановите базовые права и владельцев (www-data для web-директории): chown -R www-data:www-data /var/www/html/
  • Проверьте директивы php_value в .htaccess — некоторые настройки в глобальной конфигурации PHP запрещены в .htaccess.
  1. Файлы не загружаются или изображения не миниатюризируются
  • Убедитесь, что ImageMagick установлен и PHP-модуль imagick включён.
  • Проверьте права на /var/www/html/data/media и /var/www/html/data/pages.
  1. PHP показывает неправильный timezone
  • Проверьте значение date.timezone в /etc/php/7.0/apache2/php.ini и перезапустите Apache.
  1. Rewrite / ЧПУ не работают
  • Убедитесь, что модуль rewrite включён: a2enmod rewrite и AllowOverride All в конфигурации виртуального хоста.
  1. Проблемы с правами и редактированием файлов конфигурации
  • Защитите конфиг-файлы: chown root:root /var/www/html/conf/local.php и chown www-data:root /var/www/html/conf/. Если сайт должен записывать конфиг — регулируйте права аккуратно.

11. Модели зрелости и расширения (когда делать что)

  • Начальный уровень: одна публичная вики, базовая ОС и регулярные обновления.
  • Средний уровень: SSL от Let’s Encrypt, регулярные резервные копии, ограниченная регистрация, базовые правила брандмауэра.
  • Продвинутый уровень: централизованное логирование, мониторинг (Prometheus/ELK), CI для экспорта/импорта страниц, настройка бэкенда хранения (например, внешняя файловая система), политики ретенции резервных копий.

12. Переход с другой вики / миграция данных — краткие советы

  • Экспортируйте страницы из старой системы в формат, совместимый с DokuWiki (Markdown/Plain text) и адаптируйте синтаксис.
  • Проверьте плагины импорта/конвертации в плагин-репозитории DokuWiki.
  • Планируйте окно миграции и проверьте резервные копии исходной системы.

13. Короткое руководство по обновлению DokuWiki

  • Скачайте новую версию и распакуйте на временную директорию.
  • Копируйте только изменённые файлы или следуйте официальной инструкции по обновлению.
  • Сохраните custom-темы и плагины отдельно.
  • Перед обновлением сделайте полную резервную копию /var/www/html/data и /var/www/html/conf.

14. Чек-листы по ролям

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

  • Установить и обновлять Debian и пакеты.
  • Настроить брандмауэр, Fail2Ban, SSL.
  • Проверять логи и доступность веб-сервиса.

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

  • Управлять пользователями и ACL.
  • Устанавливать и обновлять плагины.
  • Контролировать структуру страниц и шаблонов.

Разработчик/документация:

  • Следить за форматированием и лицензией контента.
  • Проводить ревью ключевых страниц.

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

  • Создать тестовую страницу, сохранить, отредактировать, проверить историю.
  • Загрузить тестовый файл (PDF/изображение) и открыть его.
  • Выполнить вход/выход под суперпользователем и под тестовым пользователем.
  • Проверить корректность редиректа HTTP→HTTPS (если настроен).

16. Заключение

Вы успешно установили DokuWiki на Debian 9.2: подготовили систему, установили Apache и PHP, настроили SSL и права, развернули DokuWiki, выполнили базовую настройку безопасности и резервного копирования. Для продуктивной эксплуатации рекомендуется получить доверенный SSL-сертификат (Let’s Encrypt), настроить регулярные резервные копии и мониторинг доступности.

Важно: храните резервные копии конфигурации и данных отдельно от основного сервера и проверяйте восстановление по расписанию.


Краткие ссылки и полезные ресурсы:

Конец руководства.

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