======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]]