Павел Лебедев
Многие из вас задумываются об альтернативе таким Groupware-продуктам, как
MS Exchange и Lotus Notes. Наконец, нам стала доступна свободная версия
Novell/SUSE Linux Open-Xchange-сервера (SLOX).
Open-Xchange (OX) базируется на компонентах с открытым исходным кодом, таких
как веб-сервер, почтовый сервер c IMAP, база данных и сервер директорий. Сервер
почти целиком написан на JAVA с присутствием элементов на языке С для участков,
которые требуют большей безопасности. OX предоставляет пользователю такие
модули: портал, календарь, контакты, адреса, задачи, проекты, документы,
знания, закладки, доска голосований, форум, веб-интерфейс для почты. Доступ к
серверу OX можно получить из многих браузеров и программных пакетов, например:
KDE Kontact, Apples iCAL, Konqueror, Mozilla Suite и многих других, основанных
на открытых стандартах и интерфейсах. Также можно подключаться из MS Outlook
или Palm-устройств с помощью OX-клиента, который доступен для скачивания с
сайта.
В данной статье как операционную систему для OX
будем использовать FreeBSD версии 5.3, с локально установленными пакетами:
Apache2/Tomcat, Postfix/Cyrus, PostgreSQL, OpenLDAP и т. д. Но это не говорит о
том, что вы жестко привязаны к такому набору компонентов. OX прекрасно работает
на многих UNIX/Linux-подобных системах. Связки пакетов можно менять по вашему
вкусу или основываясь на уже установленных программных комплексах. Например,
Apache2/Tomcat можно заменить на Apache1.3/jserv, Postfix/Cyrus на Exim/Сourier,
использовать внешние базы данных, серверы директорий, почтовые серверы и т. д.
До того как вы приступите к установке OX, чтоб
лучше представлять себе, как выглядит система, ее возможности, интерфейс
пользователя, рекомендую посмотреть скриншоты (http://mirror.open-xchange.org/ox/EN/community/screenshots.htm),
поработать в demo-режиме с порталом и веб-интерфейсом для почты (http://mirror.open-xchange.org/ox/EN/community/online.htm).
Будьте внимательны! Автор не несет
ответственности за возможную потерю данных при использовании данной статьи.
Все бренды и названия продуктов являются или
могут быть торговыми марками и используются, чтобы идентифицировать продукты
или услуги, их соответствующих владельцев.
Подготовим окружение для OX
Введем переменные для простоты написания и понимания:
n OX_home=/usr/local/openxchange – папка, в
которую будет установлен OX;
n OX_install=/home/user/OX – в эту папку будем
складывать файлы, требуемые для установки;
n p_dir=/usr/ports – папка, где лежит дерево
портов FreeBSD.
Для компиляции, инсталляции и
работы OX потребуется установить такие программы из коллекции портов:
n shells/bash – мощный интерпретатор команд,
требуется для запуска OX и просто в повседневной жизни админа;
n security/sudo – программа для ограниченной
раздачи прав администратора пользователям, нужна для запуска OX-сервера;
n java/jdk15 – Sun’s Java Development Kit под
FreeBSD;
n www/jakarta-tomcat5 – веб-сервер, позволяющий
запускать Java Servlet и JavaServer Pages;
n lang/perl5.8 – язык программирования Perl;
n www/apache2 – очень распространенный
веб-сервер;
n devel/apache-ant – основанная на Java утилита для
сборки приложений;
n net/openldap22-server – сервер директорий LDAP.
Java
Мы будем устанавливать Native JDK для FreeBSD (http://www.freebsd.org/java/install.html).
Напомню, что при установке Java понадобится около 2 Гб свободного места для
раздела, на котором будет происходить компиляция пакета. Также для этого
потребуются исходники и бинарные архивы Java.
Замечание: файлы надо скачать самостоятельно в связи с
лицензионными ограничениями. Для этого надо зарегистрироваться на сайте www.sun.com, а потом со страницы http://www.sun.com/software/java2/download.htm,
выбрав платформу Java(TM) SDK 1.5.0, скачать:
n jdk-1_5_0-src-scsl.zip
n jdk-1_5_0-bin-scsl.zip
Со страницы http://www.eyesbeyond.com/freebsddom/java/jdk15.html:
n bsd-jdk15-patches-1.tar.bz2
И положить архивы в папку $p_dir/distfiles.
Как написано в BUILD, для начала процесса
компиляции нужен рабочий javac-компилятор. По умолчанию порт ставит
java/linux-sun-jdk14, но можно использовать и родной java/jdk14 и
java/linux-blackdown-jdk14:
> cd $p_dir/java/jdk15
> sudo make install
Замечание: если процесс завис, нужно остановить
его нажатием <Ctrl-C> и добавить Linux proc-файловую систему командами:
> sudo kldload linprocfs
> sudo mount -t linprocfs
linprocfs /compat/linux/proc
Запускаем процесс компиляции еще раз,
предварительно почистив порт java/jdk15 от уже скомпилированного кода. По
окончании проверяем, если вывод команды java -version похож на приведенный
ниже, значит, установка прошла успешно:
> sudo make
clean && sudo make install clean
> java
-version
java version
"1.5.0-p1"
Java(TM) 2
Runtime Environment, Standard Edition (build 1.5.0-p1-root_08_apr_2005_22_00)
Java
HotSpot(TM) Client VM (build 1.5.0-p1-root_08_apr_2005_22_00, mixed mode)
Для работы OX потребуются
дополнительные jar-компоненты:
n mail.jar – http://java.sun.com/products/javamail/downloads/index.htm
n activation.jar – http://java.sun.com/products/javabeans/glasgow/jaf.html
n xerces.jar – http://xml.apache.org/xerces2-j/download.cgi
n jdom.jar – http://www.jdom.org/dist/binary
На момент написания статьи были
использованы следующие версии jar-архивов:
n javamail-1_3_2.zip
n jaf-1_0_2-upd.zip
n Xerces-J-bin.2.6.2.tar.gz
n jdom-1.0.tar.gz
Теперь создадим папки и распакуем в них архивы:
> cd $OX_install
> unzip javamail-1_3_2.zip
> sudo mv ./javamail-1.3.2
/usr/local/javamail
> unzip jaf-1_0_2-upd.zip
> sudo mv ./jaf-1.0.2
/usr/local/jaf
> tar xzvf
Xerces-J-bin.2.6.2.tar.gz
> sudo mv ./xerces-2_6_2
/usr/local/xerces
> tar xzvf jdom-1.0.tar.gz
> sudo mv ./jdom-1.0
/usr/local/jdom
Tomcat
Установим сервлет-сервер и проверим его работу, для этого нужно запустить
сервис Tomcat и пройти по ссылке http://127.0.0.1:8180. В результате должна
появиться страница с информацией о Tomcat:
> cd
$p_dir/www/jakarta-tomcat5
> sudo make install clean
> sudo
/usr/local/etc/rc.d/020.jakarta-tomcat50.sh start
> lynx
http://127.0.0.1:8180
Perl + модули, требуемые для OX
Из дерева портов нам нужно установить следующие компоненты:
n devel/p5-Storable
n devel/p5-Time-Local
n net/p5-URI
n net/p5-perl-ldap
n www/p5-CGI.pm
n converters/p5-MIME-Base64
n converters/p5-Convert-ASN1
n security/p5-Net-SSLeay
n security/p5-Digest-MD5
n security/p5-Authen-SASL
n security/p5-IO-Socket-SSL
n textproc/p5-XML-NamespaceSupport
n textproc/p5-XML-SAX-Base
Установка perl-модулей происходит так же, как и
обычных портов, например, установим devel/p5-Storable:
> cd
$p_dir/devel/p5-Storable
> sudo make install clean
PostgreSQL
Установим SQL-сервер и добавим автоматический запуск при старте системы. Для
этого в файл /etc/rc.conf внесем строку: postgresql_enable=”YES”:
> cd
$p_dir/databases/postgresql80-server
> sudo make install clean
Запустим скрипт инициализации базы данных OX.
Следует напомнить, что пароль для пользователя openxchange в PostgreSQL-сервере
будет использоваться при конфигурировании OX в директиве --with-dbpass=:
> sudo
/usr/local/etc/rc.d/010.pgsql.sh initdb
> sudo
/usr/local/etc/rc.d/010.pgsql.sh start
После этого добавляем пользователя и создаем
базу:
> sudo su -l
-m pgsql
%createuser
–pwprompt
Введите имя
нового пользователя: openxchange
Введите пароль
для нового пользователя:
Введите снова:
Разрешить
новому пользователю создавать базы данных? (y/n) y
Разрешить
новому пользователю создавать пользователей? (y/n) n
CREATE USER
%createdb -O
openxchange -E UNICODE openxchange
CREATE DATABASE
Кроме этого, для работы OX с PostgreSQL надо
скачать JDBC (http://jdbc.postgresql.org).
В портах есть версия 8.0
databases/postgresql-jdbc, но мы предлагаем использовать коннектор версии
pg74.215.jdbc3.jar, скачать который можно с сайта http://jdbc.postgresql.org/download.htm:
> sudo mkdir
/usr/local/jdbc
> sudo cp
pg74.215.jdbc3.jar /usr/local/jdbc
Apache2 и Ant
Настала очередь веб-сервера, установим его и
настроим автозапуск. Также установим утилиту для сборки приложений. Для
автозапуска Apache2 при старте системы в файл /etc/rc.conf добавляем строку:
apache2_enable=”YES”.
> cd $p_dir/www/apache2
> sudo make install clean
> cd $p_dir/devel/apache-ant
> sudo make install clean
Для соединения сервлет-сервера Tomcat и
веб-сервера Apache2 нам потребуется установить модуль mod_jk. На данный момент
есть 2 версии этого модуля – mod_jk и mod_jk2, но так как mod_jk2
официально больше не поддерживается, использовать его не будем. Опираясь на
рекомендации разработчиков, вместо него возьмем www/mod_jk-apache2.
> cd
$p_dir/www/mod_jk-apache2
> sudo make install clean
LDAP
Для работы OX надо собрать LDAP-сервер с
экспериментальной функцией ACI (inside-the-tree access controls). Эта функция
дает контроль над правами объекта в дереве.
> cd
$p_dir/net/openldap22-server
> sudo make -DWITH_ACI
install clean
Добавляем автоматический запуск при старте
системы и разрешаем слушать только на внутреннем интерфейсе, для этого в файл
/etc/rc.conf добавляем строки:
slapd_enable="YES"
slapd_flags='-h
"ldap://127.0.0.1/"'
Установливаем OX и настраиваем
взаимодействие с окружением
Инсталляция OX
Все готово для начала инсталляции OX. Первым делом
необходимо скачать исходники OX с сайта (www.open-xchange.org).
Я взял исходники версии 0.7.5, так как для нее на момент установки была
русификация. Нам потребуются файлы:
n open-xchange-0.7.5.tar.gz
n OX-RU-Groupware.0.7.5.tar.gz
n OX-RU-Webmail.0.7.5.tar.gz
Далее делаем такие операции:
> cd $OX_install
> tar xzvf
open-xchange-0.7.5.tar.gz
> cd open-xchange-0.7.5
Чтобы посмотреть возможные опции конфигурации,
выполняем команду:
> ./configure -help
Конфигурируем, компилируем и устанавливаем пакет
OX. При этом обратите внимание на опцию --with-dbpass= и укажите тот самый
пароль, который задан для пользователя openexchnge в PostgreSQL.
> ./configure
–prefix=$OX_home \
> --enable-webdav
--enable-doc \
>
--with-mailjar=/usr/local/javamail/mail.jar \
>
--with-activationjar=/usr/local/jaf/activation.jar \
>
--with-jdomjar=/usr/local/jdom/build/jdom.jar \
>
--with-xercesjar=/usr/local/xerces/xercesImpl.jar \
>
--with-jsdkjar=/usr/local/jakarta-tomcat5.0/common/lib/servlet-api.jar \
> --with-jdbcjar=/usr/local/jdbc/pg74.215.jdbc3.jar
\
> --with-dbpass=open \
> --with-runuid=www
–with-rungid=www
> make
> sudo make install
На данный момент у нас есть установленный OX и
его окружение, приступим к пост-инсталляционному конфигурированию.
Login.pl (Perl/CGI)
Настроим и проверим окно авторизации пользователя OX:
> cd $OX_home/share/perl/
> sudo cp login.pl
login.pm /usr/local/www/cgi-bin/
> sudo
/usr/local/etc/rc.d/apache2.sh start
> lynx
http://127.0.0.1/cgi-bin/login.pl
Замечание: если окно ввода имени и пароля
пользователя OX не появилось, нужно смотреть настройки и лог-файлы, веб-сервера
Apache2.
Servlets
Настроим servlet-движок так, чтоб он обрабатывал
запросы OX. Для этого скопируем нужные файлы из пакета OX.
> cd
/usr/local/jakarta-tomcat5.0/webapps
> sudo mkdir -p
servlet/WEB-INF/classes servlet/WEB-INF/lib
> sudo cp
$OX_home/share/servlets/*.class ./servlet/WEB-INF/classes
> cd servlet/WEB-INF/
Создаём файл web.xml с таким содержимым. Этот
файл требуется для того, чтобы Tomcat понимал, как обрабатывать запросы к
groupware и webmail:
<?xml
version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun
Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Servlet OpenXchange</display-name>
<description>Servlet OpenXchange 0.7.5</description>
<servlet>
<servlet-name>intranet</servlet-name>
<servlet-class>intranet</servlet-class>
<display-name>OX
Groupware</display-name>
<description>OX</description>
</servlet>
<servlet-mapping>
<servlet-name>intranet</servlet-name>
<url-pattern>/intranet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>webmail</servlet-name>
<servlet-class>webmail</servlet-class>
<display-name>OX
Webmail</display-name>
<description>OX</description>
</servlet>
<servlet-mapping>
<servlet-name>webmail</servlet-name>
<url-pattern>/webmail</url-pattern>
</servlet-mapping>
</web-app>
Скопируем jar-файлы для Tomcat из установленного
пакета OX и проверим правильность работы Tomcat, просмотрев в браузере вывод
http://127.0.0.1:8180/servlet/intranet:
> cd
/usr/local/jakarta-tomcat5.0/webapps/servlet/WEB-INF/lib
> sudo cp
$OX_home/lib/*.jar .
> sudo chown -R www:www
/usr/local/jakarta-tomcat5.0/webapps/
> sudo
/usr/local/etc/rc.d/020.jakarta-tomcat50.sh stop
> sudo
/usr/local/etc/rc.d/020.jakarta-tomcat50.sh start
> lynx
http://127.0.0.1:8180/servlet/intranet
Если сервер ответил:
No running
Server found. Please inform the Administrator!
это говорит о том, что всё идет нормально, продолжаем настраивать OX.
mod_jk
Настроим взаимодействие Apache2 и Tomcat с
помощью mod_jk. Для этого добавим в файл /usr/local/etc/apache2/httpd.conf,
такие строки:
LoadModule jk_module
libexec/apache2/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile
/usr/local/etc/apache2/workers.properties
JkLogFile
/var/log/apache2/mod_jk.log
JkLogLevel error
JkMount /servlet/* test
Alias /servlet
"/usr/local/jakarta-tomcat5.0/webapps/servlet"
<Location
"/servlet/WEB-INF/">
AllowOverride None
deny from all
</Location>
</IfModule>
Скопируйте
/usr/local/etc/apache/workers.properties.sample в workers.properties. Измените
hostname. Убедитесь, что две последние строки с правильными путями, в нашем
случае файл должен выглядеть так:
worker.list=test
worker.test.port=8009
worker.test.host=localhost
worker.test.type=ajp13
worker.test.lbfactor=1
workers.tomcat_home=/usr/local/jakarta-tomcat5.0
workers.java_home=/usr/local/jdk1.5.0
PostgreSQL
С базой данных PostgreSQL проведем те же операции, которые написаны в [1],
сначала инициализируем базу, а потом наполним данными из файла, который идёт с
пакетом OX:
> sudo su -l
-m pgsql
%psql -U
openxchange openxchange < $OX_home/share/init_database.sql
%psql -U
openxchange openxchange
openxchange=>INSERT
INTO sys_gen_rights_template values
openxchange->('now','admin','now','','default_template','y','y','y','y',
openxchange(>'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y',
openxchange(>'y','y','y','y','y','y','y','y','y','y','y','y','y','y','y',
openxchange(>'y','y','y','y','y','y','y','y','y','y','y','y','y');
openxchange=>
\q
Также потребуется изменить файлы
конфигурации servers.conf в папках:
n /usr/local/openxchange/etc/groupware
n /usr/local/openxchange/etc/webmail
Для того чтобы OX получил доступ к созданной нами
базе данных, нужно изменить:
NAS_CON_CLASS_NAME:
jdbc:postgresql://localhost/openexchange
NAS_CON_USER: openexchange
на
NAS_CON_CLASS_NAME:
jdbc:postgresql://localhost/openxchange
NAS_CON_USER: openxchange
OpenLDAP
Приступим к настройке сервера директорий. Обратите внимание
на то, что, если поменять суффикс «dc=example,dc=org» на что-то более родное
типа «dc=good-domain,dc=ua», то это надо будет сделать во всех файлах
конфигурации (до запуска OpenLDAP), а именно:
n /usr/local/etc/openldap/ldap.conf
n /usr/local/etc/openldap/slapd.conf
n /usr/local/openxchange/share/init_ldap.ldif
n /usr/local/openxchange/etc/admintools.conf
Изменяем конфигурацию OpenLDAP. Для этого в файле
/usr/local/etc/openldap/ldap.conf добавляем строки:
BASE dc=example,dc=org
HOST localhost
а в файл /usr/local/etc/openldap/slapd.conf такие:
database bdb
suffix
"dc=example,dc=org"
rootdn
"cn=Manager,dc=example,dc=org"
rootpw secret
directory
/var/db/openldap-data
index objectClass eq
index
uid,mailEnabled,cn,sn,givenname,lnetMailAccess,alias,loginDestination eq,sub
Теперь запускаем OpenLDAP:
> sudo
/usr/local/etc/rc.d/slapd.sh start
Редактируем файл
/usr/local/openxchange/share/init_ldap.ldif и меняем пароль для доступа к базе:
userPassword:
{CRYPT}newmailadminpass
В этой строке newmailadminpass меняем на вывод
команды:
> perl -e 'print
crypt(YOURPASSHERE,pack("C2",(int(rand 26)+65),(int(rand 26)+65)));'
где YOURPASSHERE – пароль для доступа к OpenLDAP.
Теперь импортируем данные для OX из файла
/usr/local/openxchange/share/init_ldap.ldif командой:
> sudo slapadd -l
$OX_home/share/init_ldap.ldif
Создадим символические ссылки для OX на
ldap.conf:
> sudo ln -s
/usr/local/etc/openldap/ldap.conf $OX_home/etc/groupware/ldap.conf
> sudo ln -s
/usr/local/etc/openldap/ldap.conf $OX_home/etc/webmail/ldap.conf
Добавляем пользователя
Так как многие скрипты в папке /usr/local/openxchange/sbin используют в
качестве оболочки /bin/bash, а оригинальное расположение bash в FreeBSD
/usr/local/bin/bash, сделаем символическую ссылку и добавим первого
пользователя OX:
> sudo ln -s
/usr/local/bin/bash /bin/bash
> sudo
$OX_home/sbin/adduser_ox \
>
--username="test" \
>
--passwd="test" \
> --name="Pavel"
\
> --sname="Lebedev"
\
>
--maildomain="example.org" \
>
--ox_timezone="Europe/Kiev"
Если скрипт запустить от обычного пользователя,
он выдаст:
Execute as
root...or make sure slappasswd is in PATH
Запускаем от root, появилась надпись зеленого
цвета, что с LDAP все хорошо, а красным цветом, что база openexchange в
PostgreSQL не существует:
LDAP
Success
psql:
FATAL: database "openexchange" does not exist
SQL Error
Deleting User from
LDAP
Возвращаемся в пункт PostgreSQL и смотрим, наша
база называлась openxchange, а OX использует для доступа базу openexchange,
находим и исправляем строки, в файле
/usr/local/openxchange/etc/admintools.conf, который отвечает за конфигурацию
сервера:
DEFAULT_SQL_DB="openxchange"
DEFAULT_SQL_USER="openxchange"
Запускаем еще раз и получаем в ответ:
LDAP Success
SQL Success
Теперь добавим группу:
> sudo
$OX_home/sbin/addgroup_ox –group=developers
Added Group
developers to LDAP
Добавление первого пользователя и группы успешно
завершено.
Apache2 / Website
Настроим взаимодействие веб-сервера и OX. Для этого создаем папки в
директории data веб-сервера и скопируем в них контент, который идет вместе с
OX.
> cd /usr/local/www/data
> sudo mkdir -p
cfintranet/webmail
> cd
$OX_home/share/groupware/data/
> sudo cp -R images css
javascript/usr/local/www/data/cfintranet/
> cd
$OX_home/share/webmail/data/
> sudo cp -R images css
javascript/usr/local/www/data/cfintranet/webmail
Хранилище файлов
Создадим хранилище данных, для этого запустим скрип, который на медленных
машинах, с многими файловыми системами, может выполняться довольно долго.
Как написано в [2], файл sbin/correctfilespool в
качестве интерпретатора содержит «#!/bin/sh», но, скорее всего, это какая-то
модификация bash. Так что поменяем «#!/bin/sh» на «#!/usr/local/bin/bash».
Также скрипт sbin/correctfilespool использует GNU seq для счета от 0 до 255, но
в составе FreeBSD ее нет. Для решения проблемы можно выбрать два пути. Первый
поставить порт sysutils/coreutils и заменить все seq на gseq. Второй вместо seq
использовать программу jot, идущую в стандартной поставке FreeBSD, и везде
заменить «seq 0 255» на «jot 256 0».
> cd $OX_home/sbin/
> sudo sh
./correctfilespool
Русификация интерфейса
Перейдем в папку, где лежат архивы, скачанные с сайта OX, раз архивируем и
установим русификацию для Groupware и Webmail:
> cd $OX_install
> tar xzvf
./OX-RU-Groupware.0.7.5.tar.gz
> sudo cp -r ~/opt/html/RU
$OX_home/share/groupware/data/templates/
> sudo cp -r
~/opt/locales/RU.dlc $OX_home/etc/groupware/locales/
> rm -r ./opt
> tar xzvf
./OX-RU-Webmail.0.7.5.tar.gz
> sudo cp -r ~/opt/html/RU
$OX_home/share/webmail/data/templates/
> sudo cp -r
~/opt/locales/RU.dlc $OX_home/etc/webmail/locales/
> rm -r ./opt
Теперь надо открыть файл login.pm. в папке
/usr/local/www/cgi-bin и для добавления возможности выбора языка интерфейса
изменить строку:
my $languages = ['DE','EN'];
на
my $languages = ['EN','RU'];
Замечание: если после перезапуска Groupware,
Webmail и Apache2, появится ошибка в файлах webmail.log или groupware.log:
Language RU is
in the wrong version
Значит установлена неправильная версия
OX-русификации. Скачайте пакет русификации с такой же версией, как и
устанавливаемый пакет OX.
Как, оказалось, для отображения иконок панели в
русифицированном интерфейсе потребуется создать папки RU и скопировать в них
содержимое папок EN. Или как в примере сделать ссылку:
> sudo ln -s
/usr/local/www/data/cfintranet/images/top/EN ./RU
> sudo ln -s
/usr/local/www/data/cfintranet/webmail/images/top/EN ./RU
Запускаем ОХ
Вот наступил долгожданный момент первого запуска OX. Чтобы вступили в силу
сделанные изменения в настройках веб сервера и сервера сервлетов, нужно
перезапустить службы Apache2 и Tomcat, для этого надо выполнить такие команды:
>cd /usr/local/etc/rc.d
>sudo
./020.jakarta-tomcat50.sh stop
>sudo
./020.jakarta-tomcat50.sh start
>sudo ./apache2 .sh stop
>sudo ./apache2.sh start
Перед запуском OX нужно
отредактировать скрипты:
n /usr/local/openxchange/etc/init.d/groupware
n /usr/local/openxchange/etc/init.d/sessiond
n /usr/local/openxchange/etc/init.d/webmail
на предмет того, что в FreeBSD используется синтаксис команды ps, отличный
от GNU/Linux ps. Для этого нужно заменить «ps xao “%p %a”» на «ps xao “pid
args”», и раскомментировать строки:
sudo -u $USER $OX_BIN
>> $LOGFILE 2>&1 &
ps xao "pid args" |
grep -E '.*java.*-DappName=groupwareApp' | grep -v grep | awk '{print $1}'
После этого надо закомментировать строки:
ps axwww | grep -E
'.*java.*-DappName=groupwareApp' | grep -v grep | awk '{print $1}'
и
su $USER -s /bin/bash $OX_BIN
>> $LOGFILE 2>&1 &
Далее можно пробовать запустить openxchange:
> sudo
$OX_home/etc/init.d/openexchange start
Если появились ошибки при старте groupware,
webmail и sessiond, нужно по аналогии со скриптами из папки
/usr/local/openxchange/sbin в папке /usr/local/openxchange/etc/init.d для всех
файлов заменить командный интерпретатор с «#!/bin/sh» на «#!/bin/bash».
После пробных неудачных запусков выяснились еще
некоторые изменения, которые нужно внести. Для файлов в папке
/usr/local/openxchange/bin изменить командный интерпретатор с «#!/bin/sh» на «#!/bin/bash»
и заменить строку:
SERVER=$(test
"$HOSTTYPE" == "i386" && echo "-server")
на
SERVER=$(test
"$HOSTTYPE" == "FreeBSD" && echo
"-server")
Хочется обратить внимание на то, что скрипт
/usr/local/openxchange/etc/init.d/openexchange с опцией start будет работать,
но вот опция status и stop работать не будут. Это связанно с тем, что в FreeBSD
очень длинная командная строка с опциями, в выводе команды ps укорачивается до
названия команды, и однозначно определить, что запущено под этой командой,
будет невозможно.
Для проверки после старта openexchange советую
зайти по адресу: http://server_ip/cgi-bin/login.pl, где server_ip – адрес
вашего сервера, ввести логин и пароль созданного пользователя, выбрать
groupware, язык локализации RU и нажать login. Во время входа портал будет
медленнее работать. Но это нормально, OX проверяет новую почту для
пользователя, а почтовый сервер еще не настроен. По наступлению тайм-аута
ответа почтового сервера отобразится главная страница портала. Все остальные
функции портала будут работать, и можно будет насладиться проделанной работой.
В следующей статье вы узнаете, как настроить дополнительную
функциональность OX-сервера:
n почтовый сервер для работы с OX;
n настройка доступа через webdav;
n безопасные соединения HTTPS;
n контроль над доступом к данным пользователей.
Литература:
1. Файл
INSTALL из архива пакета OX.
2. Установка
OX на FreeBSD от Peter Schober – http://homepage.univie.ac.at/peter.schober/OX_on_FreeBSD.html.
3. Форум OX
– http://www.open-xchange.org/cgi-bin/simpleforum.cgi.
4. Документация
по установке на другие операционные системы – http://www.open-xchange.org/oxwiki/OXInstallations.