Установить пакеты
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/
Создать конфигурацию сайта в 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
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; } }
Перейти на сайт для настройки
Инструкция по настройке
https://www.dokuwiki.org/ru:installer
После завершения настройки, можно удалить скрипт install.php
rm /var/www/dokuwiki/install.php