Apache — наиболее широко используемый веб-сервер с DokuWiki. Большинство хостинг-провайдеров, предлагающих хостинг PHP, также будут использовать Apache.
В основном все дистрибутивы Linux предлагают пакет Apache для легкой установки. Пожалуйста, обратитесь к документации вашего дистрибутива, чтобы узнать, как установить программные пакеты.
Пользователь Windows может выбрать установочные пакеты от различных сторонних поставщиков. Хорошей альтернативой также является наша «Докувики» на флешке .
MacOS?
PHP можно добавить через mod_php или fpm.
добавить информацию
Чтобы включить перезапись URL, вам сначала нужно включить модуль mod_rewrite. В большинстве дистрибутивов Linux это можно сделать, вызвав:
sudo a2enmod rewrite sudo apache2ctl restart
Правила перезаписи затем можно настроить на основе vhost или через .htaccess
файл. Последнее является более распространенным вариантом использования — см. выше, как включить .htaccess
файлы.
Dokuwiki поставляется с дистрибутивной копией файла .htaccess , который называется .htaccess.dist, просто переименуйте файл в .htaccess
и отредактируйте его, раскомментировав соответствующие строки.
Вот пример того, как должны выглядеть правила переписывания.
RewriteEngine on RewriteBase /dokuwiki RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L] RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L] RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L] RewriteRule ^$ doku.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) doku.php?id=$1 [B,QSA,L] RewriteRule ^index.php$ doku.php
Обратите внимание, что эта строка RewriteBase /dokuwiki
может вообще не понадобиться. Если вы ее используете, вам нужно заменить путь /dokuwiki
на любой каталог, который вы используете в своем URL для перехода к вики. Если ваша вики находится на верхнем уровне домена (например, http://example.com указывает на начальную страницу вики), то используйте RewriteBase /
.
Флаг B требуется в Apache 2.4.56, чтобы избежать ошибок AH10411: Rewritten query string contains control characters or spaces
Правила перезаписи Dokuwiki могут повлиять на команду apachectl status и заставить ее возвращать страницу DokuWiki 404 вместо страницы статуса сервера. Вы можете исправить это, добавив исключение в правила перезаписи
RewriteCond %{REQUEST_URI} !^/server-status$
или создав пустой файл статуса сервера в корневой папке dokuwiki, где находится doku.php.
См. сообщение на форуме Статус Apachectl нарушен с dokuwiki