ПАВЕЛ ЛЕБЕДЕВ
Open-Xchange – свободу группам!
Многие из вас задумываются об альтернативе таким 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
Введем переменные для простоты написания и понимания:
- OX_home=/usr/local/openxchange – папка, в которую будет установлен OX;
- OX_install=/home/user/OX – в эту папку будем складывать файлы, требуемые для установки;
- p_dir=/usr/ports – папка, где лежит дерево портов FreeBSD.
Для компиляции, инсталляции и работы OX потребуется установить такие программы из коллекции портов:
- shells/bash – мощный интерпретатор команд, требуется для запуска OX и просто в повседневной жизни админа;
- security/sudo – программа для ограниченной раздачи прав администратора пользователям, нужна для запуска OX-сервера;
- java/jdk15 – Sun’s Java Development Kit под FreeBSD;
- www/jakarta-tomcat5 – веб-сервер, позволяющий запускать Java Servlet и JavaServer Pages;
- lang/perl5.8 – язык программирования Perl;
- www/apache2 – очень распространенный веб-сервер;
- devel/apache-ant – основанная на Java утилита для сборки приложений;
- 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, скачать:
- jdk-1_5_0-src-scsl.zip
- jdk-1_5_0-bin-scsl.zip
Со страницы http://www.eyesbeyond.com/freebsddom/java/jdk15.html:
- 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
Замечание: если процесс завис, нужно остановить его нажатием и добавить 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-компоненты:
На момент написания статьи были использованы следующие версии jar-архивов:
- javamail-1_3_2.zip
- jaf-1_0_2-upd.zip
- Xerces-J-bin.2.6.2.tar.gz
- 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
Из дерева портов нам нужно установить следующие компоненты:
- devel/p5-Storable
- devel/p5-Time-Local
- net/p5-URI
- net/p5-perl-ldap
- www/p5-CGI.pm
- converters/p5-MIME-Base64
- converters/p5-Convert-ASN1
- security/p5-Net-SSLeay
- security/p5-Digest-MD5
- security/p5-Authen-SASL
- security/p5-IO-Socket-SSL
- textproc/p5-XML-NamespaceSupport
- 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
Кроме этого, для работы 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, так как для нее на момент установки была русификация. Нам потребуются файлы:
- open-xchange-0.7.5.tar.gz
- OX-RU-Groupware.0.7.5.tar.gz
- 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 в папках:
- /usr/local/openxchange/etc/groupware
- /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), а именно:
- /usr/local/etc/openldap/ldap.conf
- /usr/local/etc/openldap/slapd.conf
- /usr/local/openxchange/share/init_ldap.ldif
- /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"
Запускаем еще раз и получаем в ответ:
Теперь добавим группу:
> 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 нужно отредактировать скрипты:
- /usr/local/openxchange/etc/init.d/groupware
- /usr/local/openxchange/etc/init.d/sessiond
- /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-сервера:
- почтовый сервер для работы с OX;
- настройка доступа через webdav;
- безопасные соединения HTTPS;
- контроль над доступом к данным пользователей.
Литература:
- Файл INSTALL из архива пакета OX.
- Установка OX на FreeBSD от Peter Schober – http://homepage.univie.ac.at/peter.schober/OX_on_FreeBSD.html.
- Форум OX – http://www.open-xchange.org/cgi-bin/simpleforum.cgi.
- Документация по установке на другие операционные системы – http://www.open-xchange.org/oxwiki/OXInstallations.