Установка DokuWiki на FreeBSD |
![]() |
Добавил(а) Гусев Александр |
Задача Выполнить установку Dokuwiki на ОС FreeBSD. Получить рабочий прототип системы любым способом, даже жертвуя оптимальностью, производительностью, безопасностью. Исходные данные
Вместо вступленияПонадобилась wiki для написания технических статей на разные темы с логическими связями между собой. Применение плоской структуры (файлы статей в каталогах на файловой системе) не устраивала по причине ограничения создаваемых зависимостей (одна). А вот материал, который можно связать между собой логически (http линками) не привязываясь к физическому нахождению самой статьи, соответствует ожиданиям от системы. Требования, которые выдвигались: · Open Source.
Структура статьи блочная, для улучшенного понимания, редактирование текста, исправления ошибок и неточностей, а также для ввода новых блоков, когда во время введения нового функционала сценарий установки будет меняться. В заглавии компонент присутствует их общее название, но в примерах фигурируют версии применяемого ПО. Есть отдельная глава «Общая сборка системы» в который приведены сценарии сборки системы в зависимости от применяемых версий установленного ПО. Некоторых описанные подходы могут «смущать», но я считаю, что лучше людей сразу сориентировать в своих начальных познаниях, нежели «корчить» из себя знатока. Как бы там не было приведённая инсталляции системы работающая, а как говорил Ульянов (Ленин) - «Критерий истины заключается в практике». 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. |