Установка DokuWiki на FreeBSD |
Добавил(а) Гусев Александр |
Задача Выполнить установку Dokuwiki на ОС FreeBSD. Получить рабочий прототип системы любым способом, даже жертвуя оптимальностью, производительностью, безопасностью. Исходные данные
Вместо вступленияПонадобилась wiki для написания технических статей на разные темы с логическими связями между собой. Применение плоской структуры (файлы статей в каталогах на файловой системе) не устраивала по причине ограничения создаваемых зависимостей (одна). А вот материал, который можно связать между собой логически (http линками) не привязываясь к физическому нахождению самой статьи, соответствует ожиданиям от системы. Требования, которые выдвигались: · Open Source. В конечном итоге была выбрана DokuWiki. Так как нет полного понимания как оптимально настроить компоненты системы, но вообще как их правильно настраивать, то все настройки, где это возможно, используются по умолчанию. Все конфигурационные файлы находятся в тех местах, где их создал инсталлятор. Структура статьи блочная, для улучшенного понимания, редактирование текста, исправления ошибок и неточностей, а также для ввода новых блоков, когда во время введения нового функционала сценарий установки будет меняться. В заглавии компонент присутствует их общее название, но в примерах фигурируют версии применяемого ПО. Есть отдельная глава «Общая сборка системы» в который приведены сценарии сборки системы в зависимости от применяемых версий установленного ПО. Некоторых описанные подходы могут «смущать», но я считаю, что лучше людей сразу сориентировать в своих начальных познаниях, нежели «корчить» из себя знатока. Как бы там не было приведённая инсталляции системы работающая, а как говорил Ульянов (Ленин) - «Критерий истины заключается в практике». Install: nginx 1.0.12_1,1 (без поддержки SSL)cd /usr/ports/www/nginx make config Options for nginx 1.0.12_1,1: [X] HTTP_MODULE Enable HTTP module [X] HTTP_REWRITE_MODULE Enable http_rewrite module [X] HTTP_STATUS_MODULE Enable http_stub_status module [X] WWW Enable html sample files make install clean PS: Порты от которых зависит данное ПО был установлены с параметрами по умолчанию. Install: php5 5.3.10_1/usr/ports/lang/php5 make config Options for php5 5.3.10_1: [X] CLI Build CLI version [X] CGI Build CGI version make install clean PS: Порты от которых зависит данное ПО был установлены с параметрами по умолчанию. Install: php5-xml-5.3.10_1cd /usr/ports/textproc/php5-xml make install clean Install: php5-session-5.3.10_1cd /usr/ports/www/php5-session make install clean Install: spawn-fcgi-1.6.3cd /usr/ports/www/spawn-fcgi make install clean PS: Порты от которых зависит данное ПО было установлено с параметрами по умолчанию. Install: dokuwiki-2012-01-25.tgz "Angua"
Команды для распаковки и подготовки работы дистрибутива Dokuwiki: set restoreDir=/usr/local/www set workUser=www tar -xzv -f dokuwiki-2012-01-25.tgz -C $restoreDir mv $restoreDir/dokuwiki-2012-01-25 $restoreDir/dokuwiki chown -R "$workUser":"$workUser" $restoreDir/dokuwiki chmod -R 770 $restoreDir/dokuwiki Использования стандартных настроек PHP. cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini Реализовать автоматический старт spawn-fcgi во время загрузки ОСКонфигурационный файл /etc/rc.conf spawn_fcgi_enable="YES" Ручной запуск spawn_fcgi/usr/local/etc/rc.d/spawn-fcgi start Пример отклика об спешном старте spawn_fcgi: Starting spawn_fcgi. spawn-fcgi: child spawned successfully: PID: 56535 Реализовать автоматический старт nginx во время загрузки ОСКонфигурационный файл /etc/rc.conf nginx_enable="YES" "Холодный пуск" Dokuwiki с шаблоном первоначальной настройкиКонфигурационный файл /usr/local/etc/nginx/nginx.conf # First start config dokuwiki user www; worker_processes 1; events { worker_connections 10; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen xxx.xxx.xxx.xxx:80; #ip:port на которых будет работать dokuwiki server_name C.ru; # полное доменное имя хоста, указывается # в адресной строке браузера root /usr/local/www/dokuwiki; index install.php; try_files $uri $uri/ /install.php; location ~ .php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index install.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } } Ручной запуск nginx/usr/local/etc/rc.d/nginx start Пример отклика об спешном старте nginx: Performing sanity check on nginx configuration: nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful Starting nginx. Первоначальное конфигурированиеПервоначальное конфигурирование сводится к заполнению полей:
Запуск Dokuwiki с основной настройкой
/usr/local/etc/rc.d/nginx stop; /usr/local/etc/rc.d/spawn-fcgi stop
# Work config Dokuwiki user www; worker_processes 1; events { worker_connections 10; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen xxx.xxx.xxx.xxx:80; #ip:port на которых будет работать dokuwiki server_name C.ru; # полное доменное имя хоста, которое # указывается в адресной строке браузера root /usr/local/www/dokuwiki; index index.php doku.php; try_files $uri $uri/ /duku.php; location ~ .php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index doku.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } }
/usr/local/etc/rc.d/spawn-fcgi start; /usr/local/etc/rc.d/nginx start
[Ссылки] 1. DokuWiki.org. |