Владимир Старыгин любезно написал небольшое руководство по установке Detrix на Windows. С его, не менее любезного разрешения, это руководство публикуется в описании системы электронного документооборота (СЭД) Detrix.
Установка Detrix-1.2.1 на Windows 2003 / XP
Автор: Владимир Старыгин
Источник: detrix.kz/forums
Что нужно для установки:
1) Дистрибутив веб-сервера Apache.
Скачиваем тут: 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-services-training/pgdownload#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 на сервер, входящий в состав домена Windows, то в этом случае перед установкой необходимо создать доменную учетную запись пользователя postgres и задать ему пароль.
Запускаем установщик СУБД, в процессе установки меняем параметр Data Directory на D:\Detrix\DB (это каталог, в которой будут размещаться файлы БД), далее придумываем и вводим пароль администратора БД (или указываем пароль пользователя домена postgres). Также в процессе установки выбираем поддержку русской локализации.
Проверяем/задаем право чтения-записи пользователю postgres на каталоги C:\Program Files\PostgreSQL\8.4 и D:\Detrix\DB.
Запускаем (или перезапускаем) службу postgresql-8.4, служба должна стабильно работать. Устанавливаем pgadmin, через pgadmin соединяемся для проверки с сервером БД.
2) Ставим веб-сервер Apache.
Установку веб-сервера выполняем в каталог D:\Detrix\Apache. После установки проверяем работоспособность службы Apache 2.2. Для этого можно открыть в браузере адрес http://localhost, на странице мы должны увидеть следующий текст: It works! Если веб-сервер по каким-то причинам не работает, то проверьте запущена ли служба Apache, и настройки браундмауэра.
3) Ставим PHP 5.3
Останавливаем службу Apache. Установку PHP производим в каталог D:\Detrix\php. В опциях установки выбираем установку модуля Apache 2.2.x. Указываем каталог с конфигурационными файлами веб-сервера (в нашем случае это D:\Detrix\Apache\conf). В компонентах установки добавляем полную установку Extras, установку всех расширений (Extensions) за исключением БД Oracle. Особое внимание обратите на установку расширений с поддержкой PostgreSQL.
Во время установки PHP меняются конфигурационные файлы Apache. В конец файла httpd.conf установщик PHP должен добавить:
PHPIniDir "D:\Detrix\php\"
LoadModule php5_module "D:\Detrix\php\php5apache2_2.dll"
В конец файла mime.types установщик PHP должен добавить:
application/x-httpd-php php
application/x-httpd-php-source phps
4) Настраиваем PHP. Для этого редактируем файл D:\Detrix\php\php.ini
Необходимо удостоверится, что в этом файле присутствуют следующие строки:
short_open_tag = On
display_errors = On
log_errors =On
post_max_size = 100M
include_path = ".;D:\Detrix\Apache\htdocs\PEAR"
upload_max_filesize = 100M
extension_dir="D:\Detrix\php\ext"
date.timezone = Asia/Novosibirsk
Для удобства просмотра логов PHP я создал папку D:\Detrix\php\logs и добавил в конфиг строчку:
error_log="D:\Detrix\php\log\php-errors.log"
Также я закомментировал строки
;[PHP_SNMP]
;extension=php_snmp.dll
так как эти опции приводили у меня к появлению ряда ошибок к логах.
Важно! Проверьте системную переменную Path операционной системы Windows (Мой компьютер — Свойства — Дополнительно — Переменные среды), в ней должно присутствовать вот это:
D:\Detrix\php\;D:\Detrix\php\ext
5) Останавливаем службу Apache (если она запущена). Вносим необходимые изменения в файл конфигурации веб-сервера D:\Detrix\Apache\conf\httpd.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:\Detrix\Apache\logs
д) дописываем в конфигурационный файл строку (можно сразу после ErrorLog "logs/error.log")
CustomLog "logs/access.log" combined
Это лог-файл запросов клиентов к серверу.
6) Тестируем работоспособность веб-сервера. Для этого запускаем службу Apache, создаем файл index.php в каталоге D:\Detrix\Apache\htdocs со следующим содержанием:
<?
//Тестируем работоспособность PEAR
require_once ‘System.php’;
var_dump(class_exists(‘System’, false));
// Отображаем информацию о PHP
phpinfo();
?>
Открываем в браузере адрес нашего веб-сервера. Если все настроено верно, то на странице первой строкой будет сообщение:
bool(true)
а далее таблица с параметрами PHP. По данной таблице можно проверить наличие необходимых модулей для Detrix.
7) Устанавливаем СЭД.
Для этого распаковываем содержимое архива Detrix-1.2.1.zip в папку D:\Detrix\Apache\htdoc. Далее создаем БД Detrix. Для этого запускаем SQL Shell (psql) (C:\Program Files\PostgreSQL\8.4\scripts\runpsql.bat). На запрашиваемые параметры подключения (Server, Database, Port, Username) жмем Enter, вводим пароль пользователя postgres. После подключения к СУБД создаем базы данных:
CREATE DATABASE detrix
WITH OWNER = detrix
ENCODING = ‘UTF8′
LC_COLLATE = ‘Russian, Russia’
LC_CTYPE = ‘Russian, Russia’
CONNECTION LIMIT = -1;
CREATE DATABASE "detrix-arc"
WITH OWNER = detrix
ENCODING = ‘UTF8′
LC_COLLATE = ‘Russian, Russia’
LC_CTYPE = ‘Russian, Russia’
CONNECTION LIMIT = -1;
В ответ на каждую команду должно поступить сообщение, что БД создана. Закрываем окно.
Создаем bat-файл со следующим содержанием:
"C:\Program Files\PostgreSQL\8.4\bin\psql.exe" -h localhost -U postgres -d detrix -p 5432 -f D:\Detrix\Apache\htdocs\DB\db.sql
"C:\Program Files\PostgreSQL\8.4\bin\psql.exe" -h localhost -U postgres -d "detrix-arc" -p 5432 -f D:\Detrix\Apache\htdocs\DB\dbarc.sql
pause
Запускам этот файл на выполнение. На запросы пароля вводим пароль пользователя postgres. После успешного завершения скрипта закрываем окно.
В файле D:\Detrix\Apache\htdocs\.htaccess рекомендую удалить следующие строки:
<IfModule mod_rewrite.c>
<IfModule mod_headers.c>
</IfModule>
Данные директивы предотвращают использование механизмов модулей mod_rewrite и mod_headers, если эти модули не были загружены веб-сервером. В нашем настройке Apache они загружаются. После изменения .htaccess необходимо перезапустить Apache.
В файле D:\Detrix\Apache\htdocs\settings.xml нужно задать пароль доступа к БД и временную зону:
<item name="sql_password" value="pass" />
<item name="arch_sql_password" value="pass"/>
<item name="time_zone" value="Asia/Novosibirsk"/>
В файле D:\Detrix\Apache\htdocs\settings.php нужно задать пароль доступа к БД:
$aSettings['db'] = array(
'host' => '127.0.0.1',
'database' => 'detrix',
'user' => 'detrix',
'password' => 'pass',
'scheme' => 'manuscript',
'port' => '5432'
);
После успешной установки проверяем работоспособность Detrix.
Установка завершена.
Ну и не забываем настроить фоновые службы.
Если у вас есть какие-то вопросы, их можно задать тут: http://forum.detrix.kz/viewtopic.php?f=7&t=183