1. Вариант 1 - настройка Lighttpd
Установим веб-сервер Lighttpd и PHP:
# apt-get install lighttpd php5-cgiДля того, чтобы dokuwiki работала на отдельном домене, нужно исправить файл конфигурации /etc/lighttpd/conf-available/50-dokuwiki.conf до следующего состояния:
$HTTP["host"] == "wiki.domain.tld" {
  server.document-root = "/usr/share/dokuwiki"
  $HTTP["url"] =~ "^/" {
    server.follow-symlink = "enable"
  }
  $HTTP["url"] =~ "/(\.|_)ht" {
    url.access-deny = ( "" )
  }
  $HTTP["url"] =~ "^/(bin|data|inc|conf)" {
    url.access-deny = ( "" )
  }
}
В случае, если dokuwiki должна работать из каталога сайта, можно создать такой файл конфигурации /etc/lighttpd/conf-available/50-dokuwiki.conf:$HTTP["host"] == "domain.tld" {
  $HTTP["url"] =~ "^/wiki" {
    server.document-root = "/usr/share/dokuwiki"
    $HTTP["url"] =~ "^/" {
      server.follow-symlink = "enable"
    }
    $HTTP["url"] =~ "/(\.|_)ht" {
      url.access-deny = ( "" )
    }
    $HTTP["url"] =~ "^/(bin|data|inc|conf)" {
      url.access-deny = ( "" )
    }
  }
}
Осталось включить поддержку fastcgi, PHP в fastcgi и только что созданный файл конфигурации:# lighty-enable-mod fastcgi # lighty-enable-mod fastcgi-php # lighty-enable-mod dokuwikiЧтобы настройки веб-сервера вступили в силу, нужно его перезапустить:
# /etc/init.d/lighttpd restart2. Вариант 2 - настройка nginx и php5-fpm
Установим веб-сервер и менеджер управления FastCGI-процессами PHP:
# apt-get install nginx-light php5-fpmphp5-fpm устанавливается с преднастроенным пулом процессов в файле /etc/php/fpm/pool.d/www.conf, так что дополнительные настройки не требуются. Но при желании можно настроить имеющийся пул или создать отдельный пул.
Теперь добавим файл /etc/nginx/sites-available/dokuwiki с настройками для dokuwiki, если нужно настроить её на отдельном домене:
server {
  listen 80;
  server_name wiki.domain.tld;
  root /usr/share/dokuwiki;
  index index.php;
  location /bin/ {
    deny all;
  }
  location /data/ {
    deny all;
  }
  location /inc/ {
    deny all;
  }
  location /conf/ {
    deny all;
  }
  location ~ \.ht {
    deny all;
  }
  location ~ \.php$ {
    fastcgi_pass unix:/var/run/dokuwiki.sock;
    fastcgi_index index.php;
    include fastcgi_params;
  }
}
Или, если dokuwiki должна работать из отдельного каталога на имеющемся сайте, можно добавить в файл конфигурации этого сайта следующие настройки:location /wiki/bin/ {
  deny all;
}
location /wiki/data/ {
  deny all;
}
location /wiki/inc/ {
  deny all;
}
location /wiki/conf/ {
  deny all;
}
location /wiki {
  alias /usr/share/dokuwiki;
  index index.php;
  location ~ \.ht {
    deny all;
  }
  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
  }
}
Осталось включить использование конфигурации сайта, если вы настраивали dokuwiki на отдельном домене:# cd /etc/nginx/sites-enabled # ln -s /etc/nginx/sites-available/dokuwiki .И перезапустить nginx, чтобы его новые настройки вступили в силу:
# /etc/init.d/nginx restartМожно было бы написать ещё и третий вариант настройки - для использования Lighttpd совместно с php5-fpm, но я не стану этого делать. Кому понадобится такой вариант - тот разберётся в нём сам.
3. Установка dokuwiki
Установка dokuwiki проста - нужно лишь установить соответствующий пакет:
# apt-get install dokuwikiВ процессе установки будет задано несколько вопросов:




После установки можно зайти в веб-интерфейс с паролем администратора, который мы указали при установке:


Я также пользуюсь темой arctic для dokuwiki. Пакет с этой темой можно взять у меня: dokuwiki-arctic-theme_0.0.20081104_all.deb
4. Вариант 1 - настройка dokuwiki через файлы конфигурации
dokuwiki можно настраивать как прямым редактированием конфигурационных файлов, так и через веб-интерфейс. Если вам не хочется тратить время на ручную правку файлов, можете перейти к следующему разделу.
Для первичной настройки достаточно лишь прописать в файл /etc/dokuwiki/local.php несколько настроек:
$conf['title'] = 'wiki.domain.tld'; # Название wiki, которое будет на ней отображаться $conf['license'] = ''; # Название лицензии, под которой выкладываются материалы $conf['lang'] = 'ru'; # Язык интерфейса $conf['useacl'] = 1; # Включает использование списков ограничения доступом $conf['superuser'] = '@admin'; # Группа для администраторов $conf['template'] = 'arctic'; # Используемая темаЛюбую из настроек можно не вписывать - у них у всех есть значения по умолчанию.
В файле /etc/dokuwiki/plugins.local.php я отключил использование плагина, отсылающего разработчикам статистику использования dokuwiki:
<?php $plugins['popularity'] = 0; ?>В файле acl.auth.php можно настраивать права доступа к определённым разделам wiki. Например, вот так можно ограничить доступ к разделу private для незарегистрированных пользователей:
* @ALL 1 * @user 8 private:* @ALL 0В теме arctic, которую я использую, в файле /etc/dokuwiki2/themes/arctic/default.php я удаляю из настроек всех правых и левых панелей страницу index, поскольку для каждого раздела я создаю вручную страницу sidebar, которая и выполняет роль оглавления раздела.
5. Вариант 2 - настройка dokuwiki через веб
Для того, чтобы можно было менять настройки из самой DokuWiki, нужно назначить права доступа веб-сервера к каталогу /etc/dokuwiki:
# chgrp www-data /etc/dokuwiki # chmod ug=rwx,o=rx /etc/dokuwikiТакже нужно поменять права доступа веб-сервера к файлу /etc/dokuwiki/local.php и, по желанию, к другим файлам в этом каталоге:
# chown www-data /etc/dokuwiki/local.php # chmod u=rw,go=r /etc/dokuwiki/local.phpПосле этих манипуляций можно настраивать dokuwiki через меню "Управление".
Вот так выглядит настроенная мной dokuwiki с темой arctic:
 
 
 
 Сообщения
Сообщения
 
 
2 комментария:
Разделение доступа - прекрасная штука. В своё время создавал корпоративный Wiki на MediaWiki, и там это не так просто.
Есть опыт использования dokuwiki в достаточно больших проектах, скажем под сотню участников? Насколько стабилен? Нет ли проблем с производительностью?
Лично у меня такого опыта нет, однако на работе используется dokuwiki с интеграцией в LDAP и с использованием групп оттуда.
Не знаю точно, сколько там активных пользователей, занимающихся наполнением системы - возможно около 30 человек. Читают, соответственно, гораздо больше.
Не мне судить о стабильности, поскольку не я администрирую систему, но как пользователь не замечал никаких проблем. С производительностью всё должно быть хорошо, поскольку система не использует SQL для хранения данных - используются текстовые файлы.
Отправить комментарий