======Apache======
[[https://httpd.apache.org/|Apache]] — наиболее широко используемый веб-сервер с DokuWiki. Большинство хостинг-провайдеров, предлагающих хостинг PHP, также будут использовать Apache.
=====Установка=====
В основном все дистрибутивы Linux предлагают пакет Apache для легкой установки. Пожалуйста, обратитесь к документации вашего дистрибутива, чтобы узнать, как установить программные пакеты.
Пользователь Windows может выбрать установочные пакеты от различных [[https://httpd.apache.org/docs/current/platform/windows.html#down|сторонних поставщиков]]. Хорошей альтернативой также является наша [[wiki:install:dokuwiki_on_a_stick|]] .
FIXME MacOS?
=====Добавление поддержки PHP=====
PHP можно добавить через mod_php или fpm.
FIXME добавить информацию
=====Включение поддержки .htaccess=====
[[wp>.htaccess]]
FIXME добавить информацию
См. также: [[https://stackoverflow.com/questions/8551740/centos-htaccess-not-being-read|Stackoverflow: htaccess не читается]].
=====Переписывание для более удобных URL-адресов=====
Чтобы включить [[wiki:rewrite|перезапись]] URL, вам сначала нужно включить модуль [[https://httpd.apache.org/docs/current/mod/mod_rewrite.html|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''
====Статус Apachectl нарушен====
Правила перезаписи Dokuwiki могут повлиять на команду apachectl status и заставить ее возвращать страницу DokuWiki 404 вместо страницы статуса сервера. Вы можете исправить это, добавив исключение в правила перезаписи
RewriteCond %{REQUEST_URI} !^/server-status$
или создав пустой файл статуса сервера в корневой папке dokuwiki, где находится doku.php.
См. сообщение на форуме [[http://forum.dokuwiki.org/post/32858|Статус Apachectl нарушен с dokuwiki]]
====Смотрите также====
* [[https://stackoverflow.com/questions/9153262/tips-for-debugging-htaccess-rewrite-rules | Советы по отладке правил перезаписи .htaccess]]