Для дистрибутивов отличных от Debian другого варианта установки OBM кроме использования исходных текстов нет. Процесс вообщем стандартен, хотя и со своими тонкостями. К слову чтобы лучше понять OBM, установка с помощью исходных текстов рекомендуемый процесс. Для работы нам понадобится типичная LAMP среда (в примере в качестве БД будем использовать MySQL).
$ sudo apt-get install php5 php5-cgi php5-mysql php5-gd apache2 libapache2-mod-php5
Далее скачиваем архив с исходными текстами, распаковываем его в рабочий каталог веб-сервера и устанавливаем права доступа.
$ wget -c http://download.obm.org/obm-2.3.7.tar.gz
$ sudo tar -xzvf obm-2.3.7.tar.gz -C /var/www
$ cd /var/www
$ sudo mv obm-2.3.7 obm
$ cd obm
$ sudo chown -R www-data:www-data *
Обязательно добавляем путь к рабочему каталогу OBM в настройках PHP5, для этого в файле /etc/php5/apache2/php.ini прописываем строку:
include_path = ".:/var/www/obm"
Плюс другие рекомендуемые настройки:
extension=mysql.so
session.bug_compat_42 = Off
session.bug_compat_warn = Off
magic_quotes_gpc = On
safe_mode = On
Cоздаем виртуальный узел Apache:
$ sudo nano /etc/apache2/sites-available/obm
ServerAdmin root@localhost
DocumentRoot /var/www/obm/php
ServerName obm
ErrorLog /var/log/apache2/obm-error.log
CustomLog /var/log/apache2/obm-access.log common
SetEnv OBM_INCLUDE_VAR obminclude
Alias /images /var/www/obm/resources
DirectoryIndex obm.php
# AddDefaultCharset ISO-8859-15
Конечно, это самый простой пример конфигурационного файла. В идеальном случае следует перенаправлять всех пользователей на защищенный HTTPS порт, установить ограничения и так далее.
Включаем узел и перезапускаем веб-сервер:
$ sudo a2ensite obm
$ sudo service apache2 restart
Основные настройки OBM UI производятся в двух конфигурационных файлах obm_conf.inc и obm_conf.ini. В поставке доступны шаблоны.
$ cd /var/www/obm/conf
$ sudo cp obm_conf.inc.sample obm_conf.inc
$ sudo cp obm_conf.ini.sample obm_conf.ini
В obm_conf.inc настраивается внешний вид, нас он интересовать не будет. Для работы нам потребуется подправить obm_conf.ini. К слову в DEB пакетах доступен PERL скрипт genobmconf.pl (/usr/share/obm-conf) предназначенный для автоматической генерации obm_conf.ini.
$ sudo nano obm_conf.ini
# Вид URL и протокол
external-url = obm
# для HTTPS пишем соответственно https
external-protocol = http
obm-prefix = /
# подключение к базе данных
host = localhost
; dbtype = PGSQL
dbtype = MYSQL
db = obm
user = obm
# пароль обязательно в кавычках
password = "passwd"
# язык по умолчанию
lang = en
# модули, здесь устанавливаем в true действительно необходимые
obm-ldap = true
obm-mail = true
obm-samba = false
obm-web = false
obm-contact = false
Далее в obm_conf.ini идет описание каталогов для резервных копий, документов, подключения к LDAP и другие. Назначение большинства из них будет понятно из описания, поэтому останавливаться на них не будем. Все упоминаемые каталоги необходимо создать вручную. Например, для резервных копий:
$ sudo mkdir /var/backups/obm
$ sudo chown www-data /var/backups/obm
Создаем базу данных необходимую для работы OBM и учетную запись, обладающую всеми нужными привилегиями.
$ mysql -uroot –p
mysql> CREATE USER 'obm'@'localhost' IDENTIFIED BY 'password';
mysql> CREATE DATABASE IF NOT EXISTS `obm` ;
mysql> GRANT ALL PRIVILEGES ON `obm` . * TO 'obm'@'localhost';
mysql> flush privileges;
mysql> exit
На сайте доступен пример (для версии 2.1), в котором привилегии расписаны более тонко, но в дальнейшем выяснилось, что там указаны не все права.
Для создания базы данных и нужных каталогов используются скрипты находящиеся в scripts
$ cd /var/www/obm/scripts/2.3/
$ sudo ./install_obmdb_2.3.sh
Скрипт берет из obm_conf.ini параметры для подключения к БД и языковые настройки. Но можно их указать прямо в строке запуска:
$ sudo ./install_obmdb_2.3.sh obm obm password en
Теперь можно подключаться и начинать работу.
Синхронизация OBM Sync и Funambol выполнена в виде модуля, который написан на Java, поэтому установка его выглядит чуть по-другому. Проверяем наличие JDK в системе:
$ java -version
Если вывод ничего не показал, устанавливаем. Кроме JDK понадобится Ant и Tomcat.
$ sudo apt-get install sun-java6-jdk tomcat6 ant
Вместо sun-java6-jdk можно использовать openjdk-6-jdk, разработчики по этому поводу ничего не говорят, но проблем с OpenJDK у меня не было.
Скачиваем архивы с исходными текстами.
$ wget -c http://download.obm.org/obm-funambol-2.3.0.tar.gz
$ wget -c http://download.obm.org/obm-sync-2.3.9.tar.gz
Установка модулей вообщем похожа, дальше приведу пример для OBM Sync. Распаковываем и собираем:
$ sudo tar -xzvf obm-sync-2.3.9.tar.gz
$ cd obm-sync-2.3.9
$ ant dist
На этом этапе получил ошибку:
Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "/usr/lib/jvm/java-6-openjdk/jre"
Решается она созданием символической ссылки tools.jar
$ sudo ln -s /usr/share/java/libgcj-tools-4.4.jar /usr/lib/jvm/java-6-openjdk/jre/lib/tools.jar
После этого повторяем сборку:
$ sudo ant dist
Копируем все jar файлы в подкаталог Apache Tomcat:
$ sudo cp ./classes/common/*.jar $TOMCAT_HOME/common/lib/ $ sudo cp $OBM_SYNC_HOME/log4j.properties $TOMCAT_HOME/common/classes/
Все настройки производятся в конфигурационном файле obm-sync.xml в поставке доступен шаблон, требующий минимальных правок:
$ sudo mkdir -p $TOMCAT_HOME/conf/Catalina/localhost
$ sudo cp ./obm-sync.xml $TOMCAT_HOME/conf/Catalina/localhost/
Редактируем obm-sync.xml, указав значение $OBM_SYNC_HOME и параметры подключения к базе данных:
$ sudo nano obm-sync.xml
В файле Apache Tomcat conf/server.xml между добавляем следующую строку:
Теперь можно развертывать.
$ sudo ant deploy
Для проверки работоспособности достаточно перейти по адресу http://obm-server:8080/obm-sync/services, где получим информацию о сервисе OBM-Sync.
Также необходимо настроить OpenLDAP и Samba сервер. В архиве имеются готовые шаблоны. Настройка OpenLDAP хорошо расписана в документе http://www.obm.org/doku.php?id=docs:configuration:obmldap.