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

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

6 min read Sysadmin Обновлено 16 Nov 2025
Установка DokuWiki на Debian 10
Установка DokuWiki на Debian 10

Скриншот главной страницы DokuWiki

О чём статья

В этом руководстве пошагово показано, как установить 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-пользователю:

exit

Important: если у вас публичный сайт, всегда используйте реальные сертификаты для защиты учётных данных и сессий.

Шаг 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). Вы увидите страницу инсталлятора.

Инсталлятор DokuWiki — ввод данных

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

Установка имени и пароля

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

Страница с успешной установкой

Форма входа

Добро пожаловать в 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.

Мини-методология установки (быстрая сводка)

  1. Обновите систему: apt update && apt upgrade.
  2. Установите PHP и нужные расширения.
  3. Установите веб-сервер (Nginx) и настройте виртуальный хост.
  4. При желании получите TLS-сертификаты (acme.sh).
  5. Скачайте DokuWiki, распакуйте, смените владельца на www-data.
  6. Перезапустите PHP-FPM, запустите install.php в браузере.
  7. Удалите 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
  • Проверить работу загрузки файлов и рендеринга страниц
  • Протестировать вход под админом и базовые операции редактирования

Ссылки

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

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство