Установка DokuWiki на Debian 10 (buster)

О чём статья
В этом руководстве пошагово показано, как установить DokuWiki на Debian 10 (buster). Мы пройдём подготовку системы, установку PHP и расширений, получение TLS-сертификатов с помощью acme.sh (Let’s Encrypt), настройку Nginx и саму установку DokuWiki. В конце — рекомендации по безопасности, варианты для других веб-серверов и чек-листы для разных ролей.
Требования
Убедитесь, что сервер соответствует требованиям:
- Веб-сервер с поддержкой PHP (Apache, NGINX, IIS, Lighttpd, LiteSpeed).
- PHP 5.6 или новее; рекомендуется современная поддерживаемая версия (в Debian 10 — PHP 7.3).
Предварительные условия
- Сервер с Debian 10 (buster).
- Непользователь root с правами sudo.
Начальные шаги
Проверьте версию Debian:
lsb_release -ds
# Debian GNU/Linux 10 (buster)Настройте часовой пояс, если нужно:
sudo dpkg-reconfigure tzdataОбновите пакеты операционной системы — это обязательный шаг перед установкой ПО:
sudo apt update && sudo apt upgrade -yУстановите утилиты для администрирования:
sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-httpsШаг 1 — Установка PHP и расширений
Установите PHP и обязательные расширения (в Debian 10 — PHP 7.3):
sudo apt install -y php7.3 php7.3-cli php7.3-fpm php7.3-gd php7.3-xml php7.3-zipПроверить список загруженных модулей PHP:
php -mПроверить версию PHP:
php --versionВ Debian 10 служба php7.3-fpm обычно запускается и включается в автозагрузку автоматически.
Шаг 2 — acme.sh и сертификаты Let’s Encrypt (опционально)
Защита сайта через HTTPS рекомендуема. Для получения TLS-сертификатов используем acme.sh — лёгкий клиент на shell без внешних зависимостей.
Установка acme.sh:
sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~Проверка версии acme.sh:
acme.sh --version
# например v2.8.2Получение сертификатов RSA и ECDSA (замените example.com на ваш домен):
# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256Для тестирования используйте флаг –staging, чтобы не исчерпать лимиты CA.
После успешного выпуска сертификаты будут храниться в домашней директории пользователя, например /home/username/example.com или /home/username/example.com_ecc.
Создайте глобальную директорию для сертификатов на сервере и скопируйте туда файлы (замените на ваши имена):
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_eccУстановка/копирование сертификатов и настройка перезагрузки Nginx:
# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"По умолчанию acme.sh обновляет сертификаты автоматически (репликация поведения Let’s Encrypt с периодом обновления; по умолчанию клиенты запускают проверку и обновление регулярно).
Выйдите из-под root, вернувшись к обычному sudo-пользователю:
exitImportant: если у вас публичный сайт, всегда используйте реальные сертификаты для защиты учётных данных и сессий.
Шаг 3 — Установка и настройка Nginx
DokuWiki работает на любом веб-сервере, поддерживающем PHP. Здесь показана конфигурация для Nginx. Если вы предпочитаете Apache — переход ниже в разделе “Альтернативный веб-сервер“.
Установка Nginx:
sudo apt install -y nginxПроверка версии:
sudo nginx -vСоздайте файл конфигурации сайта:
sudo vim /etc/nginx/sites-available/dokuwiki.confПример конфигурации Nginx — сохраните точно как ниже, заменив пути сертификатов и server_name на ваши значения:
server {
listen [::]:443 ssl;
listen 443 ssl;
listen [::]:80;
listen 80;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name wiki.example.com;
root /var/www/dokuwiki;
index index.html index.htm index.php doku.php;
client_max_body_size 15M;
client_body_buffer_size 128K;
location / {
try_files $uri $uri/ @dokuwiki;
}
location ^~ /conf/ { return 403; }
location ^~ /data/ { return 403; }
location ~ /\.ht { deny all; }
location @dokuwiki {
rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
rewrite ^/(.*) /doku.php?id=$1 last;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Активируйте сайт и проверьте конфигурацию:
sudo ln -s /etc/nginx/sites-available/dokuwiki.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx.serviceШаг 4 — Установка DokuWiki
Создайте директорию для сайта и перейдите в неё:
sudo mkdir -p /var/www/dokuwiki
cd /var/www/dokuwikiСкачайте последнюю стабильную версию DokuWiki и распакуйте её:
sudo wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
sudo tar xvf dokuwiki-stable.tgz
sudo rm dokuwiki-stable.tgz
sudo mv dokuwiki-*/.* . || true
sudo mv dokuwiki-*/* . || true
sudo rmdir dokuwiki-*(Примечание: имена выпуска могут содержать дату; команда mv с шаблонами перемещает файлы из распакованной папки. Проверьте, какие именно каталоги появились после распаковки и скорректируйте команды при необходимости.)
Установите владельца веб-контента на www-data:
sudo chown -R www-data:www-data /var/www/dokuwikiПерезапустите PHP-FPM:
sudo systemctl restart php7.3-fpm.serviceОткройте в браузере установщик DokuWiki: http://wiki.example.com/install.php и следуйте инструкциям мастера. Установщик проверит необходимые функции PHP, права на файлы и предложит создать администратора и базовую политику ACL.
Шаг 5 — Доступ и первоначальная настройка
Откройте в браузере адрес http://example.com/install.php (или ваш server_name/install.php). Вы увидите страницу инсталлятора.

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

Перейдите в новую DokuWiki и выполните вход через кнопку Войти.



После успешной установки обязательно удалите файл install.php из корня DokuWiki:
sudo rm /var/www/dokuwiki/install.phpПоздравляем — DokuWiki установлена и готова к использованию.
Безопасность и рекомендации по эксплуатации
- Удаляйте install.php после установки и ограничьте доступ к директориям /conf и /data через конфигурацию веб-сервера.
- Ограничьте размер загружаемых файлов client_max_body_size (в примере 15M).
- Настройте регулярное резервное копирование каталога /var/www/dokuwiki и директорий с сертификатами.
- Обновляйте PHP и плагины DokuWiki; проверяйте совместимость плагинов перед обновлением.
- Разместите DokuWiki за WAF/прокси, если требуется дополнительная фильтрация трафика.
Альтернативный веб-сервер — Apache
Если вы предпочитаете Apache:
- Установите apache2 и PHP-FPM модуль или libapache2-mod-php.
- Для php-fpm добавьте ProxyPassMatch конфигурацию или используйте модуль fcgid.
- Конфигурация DokuWiki для Apache типична: DocumentRoot указывает на /var/www/dokuwiki, защищайте /conf и /data с помощью
и
Плюс Apache: легко включить .htaccess и некоторые модули переписывания. Минус: чуть большая память на тяжелых нагрузках по сравнению с Nginx.
Когда DokuWiki не подходит
- Если вам нужна сложная структура версионности и контроль изменений уровня git — возможны ограничения по удобству.
- Для экосистем с потребностью в масштабируемых кластерных решениях и высокой нагрузке без адаптаций потребуется дополнительная архитектура (кеширование, CDN, балансировка).
- Если нужен WYSIWYG-редактор с тесной интеграцией форм и кастомных полей, возможно лучше рассмотреть CMS или платформы типа Confluence.
Чек-листы по ролям
Администратор:
- Подготовить сервер и создать sudo-пользователя.
- Обновить систему и установить PHP, Nginx/Apache.
- Настроить брандмауэр и TLS.
- Настроить резервное копирование и мониторинг.
DevOps / Системный инженер:
- Автоматизировать установку через сценарии (Ansible, Terraform для инфраструктуры).
- Настроить доступ к журналам и метрикам.
- Подготовить план отката при обновлении PHP/плагинов.
Контент-менеджер / Редактор:
- Создать структуру пространства имён и шаблоны страниц.
- Настроить права доступа (ACL) и группы пользователей.
- Обучить коллег базовой синтаксису DokuWiki.
Мини-методология установки (быстрая сводка)
- Обновите систему: apt update && apt upgrade.
- Установите PHP и нужные расширения.
- Установите веб-сервер (Nginx) и настройте виртуальный хост.
- При желании получите TLS-сертификаты (acme.sh).
- Скачайте DokuWiki, распакуйте, смените владельца на www-data.
- Перезапустите PHP-FPM, запустите install.php в браузере.
- Удалите install.php и настройте бэкапы.
Критерии приёмки
- Страница установки доступна по указанному домену.
- Установщик проходит все проверки PHP, прав доступа и создаёт админа.
- Веб-интерфейс DokuWiki открывается, вход под созданной учётной записью успешен.
- install.php удалён или недоступен из сети.
- HTTPS работает и сертификаты корректно применяются (если настроены).
Модель мышления: почему DokuWiki
DokuWiki — простая, файловая вики-система без СУБД. Ментальная модель: если вам нужна лёгкая, быстрая к установке и простой в обслуживании вики для документации и рабочих процессов — DokuWiki часто лучше, чем тяжёлые корпоративные решения. Плагины закрывают большинство потребностей, а отсутствие базы упрощает бэкап и миграцию.
Факты и ключевые параметры
- Минимальный PHP: 5.6, в Debian 10 по умолчанию PHP 7.3.
- Примерный лимит загрузки: client_max_body_size 15M (из примера).
- Сертификаты Let’s Encrypt по умолчанию обновляются каждые ~60 дней (клиенты проверяют и обновляют до истечения).
Миграция и совместимость
- Поскольку DokuWiki хранит контент в файловой структуре, миграция между серверами проста: скопируйте /var/www/dokuwiki и данные конфигурации.
- При переходе между версиями PHP проверяйте совместимость плагинов.
Рутинные тесты и приёмка
- Проверить доступность страницы: curl -I https://wiki.example.com
- Проверить работу загрузки файлов и рендеринга страниц
- Протестировать вход под админом и базовые операции редактирования
Ссылки
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone