====== Установка DokuWiki на Debian 12 ======
Официальная инструкция по установке
[[https://www.dokuwiki.org/ru:install]]
Системные требования
[[https://www.dokuwiki.org/ru:requirements]]
===== Установка =====
Установить пакеты
apt-get install nginx php8.2-fpm php8.2-gd php8.2-xml
Скачать архив с DokuWiki
[[https://download.dokuwiki.org/]]
Распаковать архив
tar -xzvf dokuwiki-*.tgz
Скопировать архив в /var/www/ или другое место
cp -R dokuwiki /var/www/
Изменить владельца файлов для веб-сервера
chown -R www-data:www-data /var/www/dokuwiki/
===== Настройка Nginx =====
Создать конфигурацию сайта в ngnix
nano /etc/nginx/conf.d/dokuwiki.conf
Добавить и отредактировать настройку
server {
listen 80;
server_name localhost;
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|bin|inc)/ {
deny all;
}
location /data/ {
internal;
}
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/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Проверить добавленную конфигурацию
nginx -t
Применить конфигурацию если все в порядке
nginx -s reload
===== Настройка HTTPS =====
SSL Let’s Encrypt SSL/TLS
apt-get install certbot python3-certbot-nginx
Регистрация и выпуск сертификата, почту и домен заменить на свой
certbot register --email example@example.com
certbot certonly --nginx -d example.com -d www.example.com
Сертификаты будут лежать в каталогах
> Certificate is saved at: /etc/letsencrypt/live/**example.com**/fullchain.pem
> Key is saved at: /etc/letsencrypt/live/**example.com**/privkey.pem
Отредактировать настройку nginx
nano /etc/nginx/conf.d/dokuwiki.conf
server {
listen 80;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
server_name 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;
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
location / {
try_files $uri $uri/ @dokuwiki;
}
location ~ /(conf|bin|inc)/ {
deny all;
}
location /data/ {
internal;
}
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/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
===== Завершение =====
Перейти на сайт для настройки
[[http://localhost/install.php]]
Инструкция по настройке
[[https://www.dokuwiki.org/ru:installer]]
После завершения настройки, можно удалить скрипт install.php
rm /var/www/dokuwiki/install.php