Здравствуйте.
Для популяризации данной СЭД решил поделиться своим опытом установки Detrix-1.2.1 на Windows 2003 x86 Server. Уверен, что описанный алгоритм установки применим и к другим ОС Microsoft (например Windows XP).
Получилось так, что на работе потребовалось срочно внедрить бесплатную СЭД. После изучения различных систем мой выбор пал на Detrix. Установка Detrix производилась на старый старый (но рабочий) многопроцессорный сервер XEON под управлением Windows 2003 SP1 x86.
Что нужно для установки:
1) дистрибутив веб-сервера апачи версии 2.2
Скачиваем тут
http://www.apache.org/dist/httpd/binaries/win32/ Я использовал httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
2) дистрибутив сервера баз данных postgresql версии 8.4
Скачиваем тут
http://www.enterprisedb.com/products-se ... ad#windows Я использовал postgresql-8.4.9-1-windows.exe
3) дистрибутив pgAdmin
Скачиваем тут
http://www.pgadmin.org/ 4) дистрибутив php версии 5.3
Скачиваем тут
http://windows.php.net/downloads/releases/archives/ Я использовал php-5.3.24-Win32-VC9-x86.msi
5) сам Detrix, скачиваем Detrix-1.2.1.zip с данного сайта
Перед установкой в файловой системе ОС был создан отдельный раздел для будущей СЭД (локальный диск D:). Установка СЭД производилась в папку D:Detrix
Процесс установки:
1) Ставим сервер БД postgresql.
Если вы ставите postgresql на контроллер домена, то в этом случае перед установкой необходимо создать доменную учетную запись пользователя postgres и задать ему пароль.
Запускаем установщик СУБД, в процессе установки меняем параметр Data Directory на D:DetrixDB (это каталог, в которой будут размещаться файлы БД), далее придумываем и вводим пароль администратора БД (или указываем пароль пользователя домена postgres). Также в процессе установки выбираем поддержку русской локализации.
Проверяем/задаем право чтения-записи пользователю postgres на каталоги C:Program FilesPostgreSQL8.4 и D:DetrixDB.
Запускаем (или перезапускаем) службу postgresql-8.4, служба должна стабильно работать. Устанавливаем pgadmin, через pgadmin соединяемся для проверки с сервером БД.
2) Ставим веб-сервер Apache 2.2
Установку веб-сервера выполняем в каталог D:DetrixApache. После установки проверяем работоспособность службы Apache2.2. Для этого можно открыть в браузер сайт localhost, на странице мы должны увидеть следующий текст: It works! Если веб-сервер по каким-то причинам не работает, то проверьте запущенна ли служба Apache2.2 и настройки браундмауэра.
3) Ставим php 5.3
Останавливаем службу Apache2.2. Установку PHP производим в каталог D:Detrixphp. В опциях установки выбираем установку модуля Apache 2.2.x. Указываем каталог с конфигурационными файлами веб-сервера (в нашем случае это D:DetrixApacheconf). В компонентах установки добавляем полную установку Extras, установку всех расширений (Extensions) за исключением БД Оракла. Особое внимание обратите на установку расширений с поддержкой postgresql.
Во время установки PHP меняются конфигурационные файлы Apache. В конец файла httpd.conf установщик PHP должен добавить:
PHPIniDir "D:Detrixphp"
LoadModule php5_module "D:Detrixphpphp5apache2_2.dll"
В конец файла mime.types установщик PHP должен добавить:
application/x-httpd-php php
application/x-httpd-php-source phps
4) Настраиваем PHP. Для этого редактируем файл D:Detrixphpphp.ini
Необходимо удостоверится, что в этом файле присутствуют следующие строки:
short_open_tag = On
display_errors = On
log_errors =On
post_max_size = 100M
include_path = ".;D:DetrixApachehtdocsPEAR"
upload_max_filesize = 100M
extension_dir="D:Detrixphpext"
date.timezone = Asia/Novosibirsk
Для удобства просмотра логов PHP я создал папку D:Detrixphplogs и добавил в конфиг строчку:
error_log="D:Detrixphplogphp-errors.log"
Также я закоментирвал строки
;[PHP_SNMP]
;extension=php_snmp.dll
так как эти опции приводили у меня к появлению ряда ошибок к логах.
Важно, проверьте системную переменную Path операционной системы Windows (Мой компьютер - Свойства - Дополнительно - Переменные среды), в ней должно присутствовать вот это: D:Detrixphp;D:Detrixphpext
5) Останавливаем службу Apache2.2 (если она запущена). Вносим необходимые изменения в файл конфигурации веб-сервера D:DetrixApacheconfhttpd.conf :
а) убираем символ комментария # у следующих сток:
LoadModule headers_module modules/mod_headers.so
LoadModule rewrite_module modules/mod_rewrite.so
Эти модули используются в Detrix
б) приводим секцию <Directory "D:/Detrix/Apache/htdocs"> к виду:
<Directory "D:/Detrix/Apache/htdocs">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Тут кстати можно вставить ограничения по доступу к вашему веб-серверу, ограничив диапазон подключений только из локальной сети. Как это сделать описано в мануалах к веб-серверу Apache.
в) Добавляем поддержку индексных файлов PHP. Для этого приводим секцию <IfModule dir_module> к виду:
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>
Также стоит проверить наличие раскомментированных строк
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
в файле конфигурации Apache.
г) проверяем наличие в конфигурационном файле строки
ErrorLog "logs/error.log"
Это лог-файл ошибок, если что-то пойдет не так, то там можно посмотреть возникшие ошибки в работе веб-сервера. Файл расположен в папке D:DetrixApachelogs
д) дописываем в конфигурационный файл строку (можно сразу после ErrorLog "logs/error.log")
CustomLog "logs/access.log" combined
Это лог-файл запросов клиентов к серверу.
6) Тестируем работоспособность веб-сервера. Для этого запускаем службу Apache2.2, создаем файл index.php в каталоге D:DetrixApachehtdocs со следующим содержанием:
<?
//Тестируем работоспособность PEAR
require_once 'System.php';
var_dump(class_exists('System', false));
// Отображаем информацию о PHP
phpinfo();
?>
Открываем в браузере адрес нашего веб-сервера. Если все настроено верно, то на странице первой строкой будет сообщение bool(true) D:DetrixApachehtdoc, а далее таблица с параметрами PHP. По данной таблице можно проверить наличие необходимых модулей для Detrix.
7) Устанавливаем СЭД.
Для этого распаковываем содержимое архива Detrix-1.2.1.zip в папку D:DetrixApachehtdoc. Далее создаем БД Detrix. Для этого запускаем SQL Shell (psql) (C:Program FilesPostgreSQL8.4scriptsrunpsql.bat). На запрашиваемые параметры подключения жмем Enter, после подключения к СУБД создаем базу данных следующей командой:
CREATE DATABASE detrix
WITH OWNER = detrix
ENCODING = 'UTF8'
LC_COLLATE = 'Russian, Russia'
LC_CTYPE = 'Russian, Russia'
CONNECTION LIMIT = -1;
В ответ на команду должно поступить сообщение, что БД создана. Закрываем окно.
Создаем bat-файл со следующим содержанием:
"C:Program FilesPostgreSQL8.4binpsql.exe" -h localhost -U postgres -d detrix -p 5432 -f D:DetrixApachehtdocsDBdb.sql
"C:Program FilesPostgreSQL8.4binpsql.exe" -h localhost -U postgres -d detrix -p 5432 -f D:DetrixApachehtdocsDBdbarc.sql
pause
Запускам этот файл на выполнение. Все должно пройти без ошибок.
В файле D:DetrixApachehtdocs.htaccess, на мой взгляд, нужно изменить строки
<IfModule mod_rewrite.c>
<IfModule mod_headers.c>на строки вида
<IfModule mod_rewrite>
<IfModule mod_headers>
После успешной установки проверяем работоспособность Detrix.
Установка завершена!