Egroupware: различия между версиями
Ilis (обсуждение | вклад) Нет описания правки |
Ilis (обсуждение | вклад) Нет описания правки |
||
Строка 6: | Строка 6: | ||
По тексту вместо ''eGroupWare'' может попадаться аббревиатура ''egw'', для краткости. | По тексту вместо ''eGroupWare'' может попадаться аббревиатура ''egw'', для краткости. | ||
== Установка (консольная фаза) == | |||
Для работы eGroupWare нам понадобится Apache+PHP+PostgreSQL/MySQL, и Pear-модуль Auth_SASL. | Для работы eGroupWare нам понадобится Apache+PHP+PostgreSQL/MySQL, и Pear-модуль Auth_SASL. | ||
=== PostgreSQL vs MySQL === | |||
Желающие могут выбрать MySQL, но сразу учтите, что полная установка eGroupWare добавляет в базу больше 130 таблиц, что может не лучшим образом сказаться на производительности MySQL. | Желающие могут выбрать MySQL, но сразу учтите, что полная установка eGroupWare добавляет в базу больше 130 таблиц, что может не лучшим образом сказаться на производительности MySQL. | ||
Ещё один важный для меня аргумент в пользу PostgreSQL — это коллективная работа с БД через OpenOffice.org. Если возникнет такая потребность, то следует учитывать, что | |||
* Для PostgreSQL существует родной (написанный силами сообщества OpenOffice.org) sdbc-драйвер, одинаковый для Windows и Linux и оптимизированный для использования в макросах OOo. Драйвер для MySQL | * Для PostgreSQL существует родной (написанный силами сообщества OpenOffice.org) sdbc-драйвер, одинаковый для Windows и Linux и оптимизированный для использования в макросах OOo. Драйвер для MySQL ведёт себя по-разному под Windows и Linux. | ||
* OOo, в плане работы с базами данных… слабоват. Поэтому очень желательно все более-менее сложные вещи реализовывать на стороне сервера, а OOo отдавать уже | * OOo, в плане работы с базами данных… слабоват. Поэтому очень желательно все более-менее сложные вещи реализовывать на стороне сервера, а OOo отдавать уже пережёванные данные. И здесь PostgreSQL также впреди. Триггеры, хранимые процедуры, view — работают в нём давно и успешно. | ||
В пользу MySQL может оказаться тот аргумент, что на данный момент (v.0.4)только его поддерживает [http://projecterp.org pERP] | В пользу MySQL может оказаться тот аргумент, что на данный момент (v.0.4) только его поддерживает [http://projecterp.org pERP] — молодой, но очень значительно расширяющий функциональность eGroupWare проект. | ||
=== Apache2+PHP5 === | |||
Не описывая установку Apache2+PHP5 просто приведу список установленных у меня пакетов: | Не описывая установку Apache2+PHP5 просто приведу список установленных у меня пакетов: | ||
Строка 47: | Строка 47: | ||
Разумеется, не все они требуются для работы eGroupWare, но найти недостающий пакет вы сможете ;) | Разумеется, не все они требуются для работы eGroupWare, но найти недостающий пакет вы сможете ;) | ||
=== Тюнинг PHP === | |||
Доставляем Pear-модуль: | Доставляем Pear-модуль: | ||
# pear install Auth_SASL | # pear install Auth_SASL | ||
Строка 77: | Строка 77: | ||
# find /usr/share/egroupware/ -type f -name *.lang -exec chown apache2.apache2 {} \; | # find /usr/share/egroupware/ -type f -name *.lang -exec chown apache2.apache2 {} \; | ||
=== PostgreSQL === | |||
Устанавливаем и включаем PostgreSQL | Устанавливаем и включаем PostgreSQL | ||
# apt-get install postgresql8.3 postgresql8.3-server postgresql8.3-contrib | # apt-get install postgresql8.3 postgresql8.3-server postgresql8.3-contrib | ||
Строка 99: | Строка 99: | ||
host egroupware egroupware 192.168.0.0/24 password | host egroupware egroupware 192.168.0.0/24 password | ||
=== MySQL === | |||
Нужно | Нужно описать… | ||
=== Устанавливаем собственно eGroupWare === | |||
Если пакеты не найдены, потребуется найти и подключить репозиторий, содержащий их. | Если пакеты не найдены, потребуется найти и подключить репозиторий, содержащий их. | ||
# apt-get install eGroupWare-* -y | # apt-get install eGroupWare-* -y | ||
== Установка (браузерная фаза) == | |||
Эта фаза делится на две: «редактирование заголовочного файла» и «конфигурация установки» (см. ниже). | Эта фаза делится на две: «редактирование заголовочного файла» и «конфигурация установки» (см. ниже). | ||
Строка 115: | Строка 115: | ||
Умолчания можно изменять в настройках Apache ({{path|/etc/httpd2/conf/addon.d/A.egroupware.conf}}). | Умолчания можно изменять в настройках Apache ({{path|/etc/httpd2/conf/addon.d/A.egroupware.conf}}). | ||
=== Редактирование заголовочного файла === | |||
Настройки доступа к БД, а также реквизиты учётной записи администратора установки будут сохранены в файле {{path|/usr/share/egroupware/header.inc.php}} (который является символической ссылкой на {{path|/var/lib/egroupware/header.inc.php}}). Именно поэтому в русском переводе есть термин «администратор заголовка» (header — англ. заголовок). Переменная {{term|$GLOBALS['egw_info']['server']['header_admin_user']}}. | Настройки доступа к БД, а также реквизиты учётной записи администратора установки будут сохранены в файле {{path|/usr/share/egroupware/header.inc.php}} (который является символической ссылкой на {{path|/var/lib/egroupware/header.inc.php}}). Именно поэтому в русском переводе есть термин «администратор заголовка» (header — англ. заголовок). Переменная {{term|$GLOBALS['egw_info']['server']['header_admin_user']}}. | ||
В норме, правится {{path|header.inc.php}} один раз (при создании) и в дальнейшем имеет смысл установить на {{path|/var/lib/egroupware/header.inc.php}} права только на чтение и/или поставить достаточно сложный пароль плюс ограничение доступа по ip. И забэкапить. | В норме, правится {{path|header.inc.php}} один раз (при создании) и в дальнейшем имеет смысл установить на {{path|/var/lib/egroupware/header.inc.php}} права только на чтение и/или поставить достаточно сложный пароль плюс ограничение доступа по ip. И забэкапить. | ||
Строка 122: | Строка 122: | ||
=== Конфигурация установки === | |||
To be continue… | To be continue… | ||
[[Категория:Admin]] | [[Категория:Admin]] | ||
[[Категория:HOWTO]] |
Версия от 10:35, 3 марта 2009
Данная статья призвана рассказать об особенностях установки, настройки и эксплуатации программы eGroupWare под ALT Linux.
Установка проводилась на ALT Linux 4.0 Office Server, с подключённым Branch 5.0.
По тексту вместо eGroupWare может попадаться аббревиатура egw, для краткости.
Установка (консольная фаза)
Для работы eGroupWare нам понадобится Apache+PHP+PostgreSQL/MySQL, и Pear-модуль Auth_SASL.
PostgreSQL vs MySQL
Желающие могут выбрать MySQL, но сразу учтите, что полная установка eGroupWare добавляет в базу больше 130 таблиц, что может не лучшим образом сказаться на производительности MySQL. Ещё один важный для меня аргумент в пользу PostgreSQL — это коллективная работа с БД через OpenOffice.org. Если возникнет такая потребность, то следует учитывать, что
- Для PostgreSQL существует родной (написанный силами сообщества OpenOffice.org) sdbc-драйвер, одинаковый для Windows и Linux и оптимизированный для использования в макросах OOo. Драйвер для MySQL ведёт себя по-разному под Windows и Linux.
- OOo, в плане работы с базами данных… слабоват. Поэтому очень желательно все более-менее сложные вещи реализовывать на стороне сервера, а OOo отдавать уже пережёванные данные. И здесь PostgreSQL также впреди. Триггеры, хранимые процедуры, view — работают в нём давно и успешно.
В пользу MySQL может оказаться тот аргумент, что на данный момент (v.0.4) только его поддерживает pERP — молодой, но очень значительно расширяющий функциональность eGroupWare проект.
Apache2+PHP5
Не описывая установку Apache2+PHP5 просто приведу список установленных у меня пакетов:
# rpm -qa | grep "^\(apache2\|php5\)" | sort apache2-2.2.6-alt4 apache2-common-2.2.6-alt4 apache2-httpd-prefork-2.2.8-alt1 apache2-manual-2.2.6-alt4 apache2-mod_php5-5.2.5-alt1.M41.2 apache2-mod_ssl-2.2.6-alt4 php5-5.2.5-alt1.M41.2 php5-dom-5.2.5-alt1 php5-gd2-5.2.5-alt1 php5-imap-5.2.5-alt1 php5-ldap-5.2.5-alt1 php5-libs-5.2.5-alt1.M41.2 php5-mbstring-5.2.5-alt1 php5-mcrypt-5.2.5-alt1 php5-mysql-5.2.5-alt1 php5-mysqli-5.2.5-alt1 php5-openssl-5.2.5-alt1 php5-pdo-5.2.5-alt1 php5-pdo_mysql-5.2.5-alt1 php5-pdo_pgsql-5.2.5-alt1 php5-pgsql-5.2.5-alt1 php5-suhosin-0.9.23-alt1 php5-xmlrpc-5.2.5-alt1.M41.2
Разумеется, не все они требуются для работы eGroupWare, но найти недостающий пакет вы сможете ;)
Тюнинг PHP
Доставляем Pear-модуль:
# pear install Auth_SASL
Ослабляем политики по умолчанию для модуля apache2-mod_php5
# control apache2-mod_php5 relaxed; service httpd2 reload
Ослабляем политики по умолчанию для php5-cli (command line interface). Не уверен, что это необходимо.
# control php5-cli relaxed
N.B.! При использовании инструментов перевода, этого может оказаться недостаточно (очень много полей в запросе POST). Тогда:
- в /etc/control.d/facilities/apache2-mod_php5 добавляем строки:
php_rule relaxed "suhosin.request.max_vars" "1000" php_rule relaxed "suhosin.post.max_vars" "1000"
и повторяем:
# control apache2-mod_php5 relaxed
- или то же самое в /etc/php/5.2.5/apache2-mod_php/php.d/suhosin.ini
- или (наилучший путь, если есть другие сайты на этом же сервере) в /etc/httpd2/conf/addon.d/A.egroupware.conf
<Directory /usr/share/egroupware/> ... php5_value suhosin.request.max_vars 1000 php5_value suhosin.post.max_vars 1000 ... </Directory>
В любом случае, не забываем делать:
# service httpd2 reload
Возможно и этого окажется мало и нужно будет дать апачу права на языковые файлы:
# find /usr/share/egroupware/ -type f -name *.lang -exec chown apache2.apache2 {} \;
PostgreSQL
Устанавливаем и включаем PostgreSQL
# apt-get install postgresql8.3 postgresql8.3-server postgresql8.3-contrib # chkconfig postgresql on # service postgresql start
Добавляем пользователя egroupware и одноимённую базу в PostgreSQL.
# createuser -S -D -R -P egroupware -U postgres # createdb --encoding=utf-8 --owner egroupware egroupware -U postgres
N.B.!!! Не нужно использовать команду «su — postgres», как советуют в инструкции по установке eGroupWare. postgres — системный пользователь и его шелл указан, как /dev/null. Используйте ключ -U в командах PostgreSQL.
Умолчальный конфиг доступа к базам postgresql выглядит так:
# cat /var/lib/pgsql/data/pg_hba.conf | grep "^[a-zA-Z]" local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust
Этого должно хватить для беспроблемной работы eGroupWare на той же машине, что и PostgreSQL. Но если вы хотите ужесточить правила и/или добавить доступ к БД с других машин, то можно изменить как-нибудь так:
# cat /var/lib/pgsql/data/pg_hba.conf | grep "^[a-zA-Z]" local all all trust host all all ::1/128 trust host egroupware egroupware 127.0.0.1/32 password host egroupware egroupware 192.168.0.0/24 password
MySQL
Нужно описать…
Устанавливаем собственно eGroupWare
Если пакеты не найдены, потребуется найти и подключить репозиторий, содержащий их.
# apt-get install eGroupWare-* -y
Установка (браузерная фаза)
Эта фаза делится на две: «редактирование заголовочного файла» и «конфигурация установки» (см. ниже).
По умолчанию дальнейшая установка происходит по адресу: http://my_domain/egroupware/setup/ Для быстрого перехода можно набрать только http://my_domain/e
Умолчания можно изменять в настройках Apache (/etc/httpd2/conf/addon.d/A.egroupware.conf).
Редактирование заголовочного файла
Настройки доступа к БД, а также реквизиты учётной записи администратора установки будут сохранены в файле /usr/share/egroupware/header.inc.php (который является символической ссылкой на /var/lib/egroupware/header.inc.php). Именно поэтому в русском переводе есть термин «администратор заголовка» (header — англ. заголовок). Переменная $GLOBALS['egw_info']['server']['header_admin_user']. В норме, правится header.inc.php один раз (при создании) и в дальнейшем имеет смысл установить на /var/lib/egroupware/header.inc.php права только на чтение и/или поставить достаточно сложный пароль плюс ограничение доступа по ip. И забэкапить.
Там же в header.inc.php сохраняются реквизиты второй учётки — «администратора установки», которые позволяют перейти к следующему этапу. Переменная $GLOBALS['egw_domain']['default']['config_user'].
Конфигурация установки
To be continue…