Содержание

Apache

Apache — наиболее широко используемый веб-сервер с DokuWiki. Большинство хостинг-провайдеров, предлагающих хостинг PHP, также будут использовать Apache.

Установка

В основном все дистрибутивы Linux предлагают пакет Apache для легкой установки. Пожалуйста, обратитесь к документации вашего дистрибутива, чтобы узнать, как установить программные пакеты.

Пользователь Windows может выбрать установочные пакеты от различных сторонних поставщиков. Хорошей альтернативой также является наша «Докувики» на флешке .

FIXME MacOS?

Добавление поддержки PHP

PHP можно добавить через mod_php или fpm.

FIXME добавить информацию

Включение поддержки .htaccess

.htaccess

FIXME добавить информацию

См. также: Stackoverflow: htaccess не читается.

Переписывание для более удобных URL-адресов

Чтобы включить перезапись 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

Статус Apachectl нарушен

Правила перезаписи Dokuwiki могут повлиять на команду apachectl status и заставить ее возвращать страницу DokuWiki 404 вместо страницы статуса сервера. Вы можете исправить это, добавив исключение в правила перезаписи

RewriteCond %{REQUEST_URI} !^/server-status$

или создав пустой файл статуса сервера в корневой папке dokuwiki, где находится doku.php.

См. сообщение на форуме Статус Apachectl нарушен с dokuwiki

Смотрите также