====== Установка 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