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

Установка DokuWiki на Alma Linux 8 с Nginx

5 min read Вики Обновлено 26 Nov 2025
DokuWiki на Alma Linux 8 с Nginx
DokuWiki на Alma Linux 8 с Nginx

Скриншот логотипа DokuWiki и интерфейса установки

Обзор

DokuWiki — лёгкая файловая вики-система с хорошими возможностями форматирования, контролем версий и расширяемостью через плагины. Она не требует базы данных, что упрощает установку и обслуживание. Эта инструкция ориентирована на серверы под управлением Alma Linux 8 и веб-сервер Nginx.

Важно: перед началом убедитесь, что у вас есть доступ по root или sudo и корректно настроенный DNS для домена, который будете использовать.

Требования

  • Сервер с Alma Linux 8.
  • Домен, указывающий на IP сервера (например, wiki.example.com).
  • Настроенный root-пароль или доступ через sudo.
  • Рекомендованная версия PHP: 7.4 (или совместимая).

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

Alma Linux 8 по умолчанию не содержит последних версий PHP в базовом репозитории. Добавим EPEL и Remi, чтобы получить нужный модуль PHP.

Выполните:

dnf install epel-release -y  
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Затем включите поток модулей Remi для PHP 7.4:

dnf module enable php:remi-7.4 -y

Установите Nginx, PHP и базовые расширения, необходимые DokuWiki:

dnf install nginx php php-cli php-fpm php-gd php-xml php-zip -y

Отредактируйте конфигурацию PHP-FPM, чтобы процесс работал под пользователем nginx:

nano /etc/php-fpm.d/www.conf

Измените или добавьте:

user = nginx
group = nginx

Сохраните файл. Запустите и включите автозапуск сервисов:

systemctl start nginx php-fpm
systemctl enable nginx php-fpm

Проверьте версию PHP:

php --version

Примечание: если на системе включён SELinux, см. раздел «Жёсткая защита и SELinux» ниже.

Загрузка и установка DokuWiki

Скачайте стабильный архив DokuWiki:

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

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

mkdir -p /var/www/html/dokuwiki
tar xvf dokuwiki-stable.tgz
mv dokuwiki-*/* /var/www/html/dokuwiki/

Установите владельца файлов на nginx:

chown -R nginx:nginx /var/www/html/dokuwiki

Важно: используйте абсолютный путь /var/www/html/dokuwiki, как в примерах дальше.

Создание виртуального хоста Nginx для DokuWiki

Создайте файл конфигурации:

nano /etc/nginx/conf.d/dokuwiki.conf

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

server {
    listen 80;
    server_name wiki.example.com;
    root /var/www/html/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:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Проверьте синтаксис Nginx и перезапустите сервис:

nginx -t
systemctl restart nginx

Проверьте статус, если нужно:

systemctl status nginx

Доступ к веб-интерфейсу установки

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

http://wiki.example.com/install.php

Страница мастера установки DokuWiki

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

rm -rf /var/www/html/dokuwiki/install.php

Интерфейс DokuWiki после установки

Главная страница новой вики

Страница входа в DokuWiki

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

Защита сайта с помощью Let’s Encrypt

Установите Certbot и получите сертификат для Nginx:

dnf install epel-release -y  
dnf install certbot -y
certbot --nginx -d wiki.example.com

Следуйте инструкциям: укажите email, примите условия и выберите опцию автоматического перенаправления HTTP на HTTPS. После успешного выпуска вы получите путь к сертификатам в /etc/letsencrypt/live/.

Важно: сертификаты Let’s Encrypt действуют 90 дней. Настройте автоматическое обновление через cron или systemd timer (certbot renew).

Жёсткая защита и SELinux

  • Убедитесь, что права на файлы и каталоги минимальны: веб-серверу нужен доступ к чтению файлов и записи в каталоги data и conf только в необходимых случаях.
  • Если SELinux включён, установите правильный контекст для каталогов DokuWiki:
chcon -R -t httpd_sys_rw_content_t /var/www/html/dokuwiki/data
chcon -R -t httpd_sys_content_t /var/www/html/dokuwiki
  • Установите заголовки безопасности в конфигурации Nginx (Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy).
  • Рассмотрите установку fail2ban для защиты от перебора паролей.

Резервное копирование и обновления

  • Резервные копии: копируйте папки conf, data и шаблоны (dokuwiki root). Бэкап делайте регулярно.
  • Обновления: повторно загрузите архив DokuWiki и перезапишите файлы (с сохранением conf и data) либо используйте git/плагины, если поддерживается.

Когда этот сценарий не подходит

  • Если вам нужна масштабируемая многосерверная конфигурация с базой данных и кластеризацией, DokuWiki (файловая) может потребовать дополнительной архитектуры.
  • Для крупных организаций с требованиями к централизованной БД и сложной аудиторией возможно лучше рассмотреть вики-решения с СУБД.

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

  • Docker: запустите DokuWiki в контейнере (официальные/сообщества образы) для изоляции и удобства миграции.
  • Apache: если вы привыкли к Apache, настройка DokuWiki под него проще для некоторых модулей и .htaccess.
  • Управляемые хостинги и SaaS-вики: экономят время поддержания сервера, но ограничивают контроль.

Роль‑ориентированные контрольные списки

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

  • настроил DNS и обратный DNS;
  • установил Nginx и PHP-FPM;
  • настроил SELinux-контексты и права файлов;
  • настроил бэкапы и обновления.

DevOps/оператор:

  • проверил SSL и автоматическое обновление certbot;
  • настроил мониторинг и логирование;
  • установил fail2ban и настраивает правила.

Контент‑менеджер (редактор):

  • создал суперпользователя и первые страницы;
  • настроил права редактирования и плагины;
  • протестировал экспорт/импорт страниц.

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

  • При обращении по http://wiki.example.com сайт переадресуется на https://wiki.example.com.
  • Страница установки недоступна (install.php удалён).
  • Вход под суперпользователем проходит, редактирование и сохранение страниц работают.
  • Резервное копирование папок conf и data выполняется и проверяется.

Безопасность и конфиденциальность

  • Логи и данные пользователей храните в соответствии с локальными законами о защите данных. Для ЕС/ЕЭЗ проверьте соответствие требованиям GDPR: минимизируйте персональные данные, документируйте основания обработки.
  • Ограничьте доступ к папкам conf и data только для процессов веб-сервера.

Краткая методология быстрой проверки (mini-checklist)

  1. Проверить доступность порта 80 и 443.
  2. Убедиться, что PHP-FPM отвечает на сокет /run/php-fpm/www.sock.
  3. Выполнить nginx -t и перезапустить nginx.
  4. Пройти через веб-инсталлятор и удалить install.php.
  5. Настроить Certbot и протестировать обновление certbot renew –dry-run.

Модель принятия решений (эвристика)

Если важна простота и отсутствие СУБД — DokuWiki подходит. Для интеграции с корпоративной БД и LDAP/SSO — оцените плагины или альтернативы.

Однофразный глоссарий

  • DokuWiki: файловая вики-система без СУБД.
  • Nginx: веб-сервер и обратный прокси.
  • PHP-FPM: обработчик PHP через пул процессов.
  • Certbot: инструмент автоматизации получения сертификатов Let’s Encrypt.

Тестовые сценарии / Критерии приёмки

  • Попытаться создать страницу, сохранить, отредактировать и вернуть старую версию.
  • Проверить доступ к ресурсам /conf и /data — должен быть 403.
  • Попытка выполнить PHP-файл вне корня должна вернуть 404.

Короткое объявление (100–200 слов)

Установлен и настроен DokuWiki на Alma Linux 8 с Nginx. Включены PHP-FPM, базовые расширения PHP, настроен виртуальный хост Nginx, получен бесплатный SSL от Let’s Encrypt. Подготовлены базовые рекомендации по безопасности: права файлов, контекст SELinux, исключение доступа к конфигурациям и директориям данных, а также инструкции по бэкапам и тестам приёмки. Это решение подходит для небольших команд и проектов, которые хотят лёгкую, быст‑рую и управляемую вики‑систему без СУБД.

Короткий список действий после установки

  • Удалить install.php (если ещё не удалён).
  • Настроить бэкап каталогов conf и data.
  • Включить автоматическое обновление сертификатов certbot renew.
  • Проверить права и SELinux-контексты.

Заключение

Поздравляем! Вы установили и настроили DokuWiki на Alma Linux 8 с Nginx. Теперь можно начинать наполнять вики содержимым, настраивать плагины и подключать интеграции. Если возникли вопросы по адаптации под ваш окружение (Docker, кластер, LDAP), опишите сценарий — и мы подскажем дальнейшие шаги.

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

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

Устранение ошибки Epson 1131: полное руководство
Поддержка принтеров

Устранение ошибки Epson 1131: полное руководство

Отключить Bluetooth в Arch Linux быстро и безопасно
Linux

Отключить Bluetooth в Arch Linux быстро и безопасно

Windows netstat: прослушиваемые порты
Сеть

Windows netstat: прослушиваемые порты

Ограничения ресурсов в Kubernetes: CPU, память и хранилище
Kubernetes

Ограничения ресурсов в Kubernetes: CPU, память и хранилище

Вредоносное ПО в облаке: что это и как защититься
Кибербезопасность

Вредоносное ПО в облаке: что это и как защититься

Установка и настройка tmux в Linux
Linux

Установка и настройка tmux в Linux