We use sudo when root's rights are required. In the doc, we use MySQL, it's easy to adapt it for PostgreSQL.
Download the sources. Extract them (e.g. /var/www/obm). Set the proper owner and group to the newly created files.
wget http://download.obm.org/obm-2.2.x.tar.gz sudo mv obm-2.2.x.tar.gz /var/www cd /var/www sudo tar xzf obm-2.2.x.tar.gz sudo mv obm-2.2.x obm sudo chown www-data.www-data obm/ -R (on Debian-like distributions) sudo chown apache.apache obm/ -R (on Redhat-like distributions)
It is recommended to create a virtualhost to provide apache the specific configuration obm needs (it doesn't interact with other web applications, it's easier to make a clean uninstallation…). On Debian-like distributions, create a file obm dans /etc/apache2/sites-available/ with the following data (obm will be accessed under the url obm.mydomain.tld):
<VirtualHost *:80> ServerName obm.mydomain.tld DocumentRoot "/var/www/obm/php" ErrorLog /var/log/apache2/obm-error.log CustomLog /var/log/apache2/obm-access.log combined RewriteEngine on RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [L,R] </VirtualHost> NameVirtualHost *:443 <VirtualHost *:443> ServerName obm.mydomain.tld DocumentRoot "/var/www/obm/php" SSLVerifyClient none SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0 ErrorLog /var/log/apache2/obm-error.log CustomLog /var/log/apache2/obm-access.log combined SetEnv OBM_INCLUDE_VAR obminclude Alias /images /var/www/obm/resources #OBM 2.2.x use utf8 #AddDefaultCharset ISO-8859-15 DirectoryIndex obm.php Options -Indexes php_value include_path ".:/var/www/obm/" php_value session.bug_compat_42 0 php_value session.bug_compat_warn 0 #php_value session.gc_maxlifetime 2880 php_value magic_quotes_gpc On #les options suivantes sont recommandées ma facultative #php_value memory_limit 128M #php_value post_max_size 10M #php_value upload_max_filesize 10M # section nécessaire uniquement pour le synchro PDA #<Location /funambol> #ProxyPass ajp://_TOMCAT_SERVER_:8009/funambol #</Location> # section nécessaire uniquement pour le module obm-sync #<Location /obm-sync> #ProxyPass ajp://_TOMCAT_SERVER_:8009/obm-sync #</Location> # section nécessaire uniquement pour le webmail minig #<Location /minig> #ProxyPass ajp://_TOMCAT_SERVER_:8009/minig #</Location> # alias /webmail/images /usr/lib/minig/images #If you install minig on an other server, #comment alias /webmail/images, and use #proxyPass ajp: #<Location /webmail/images> #ProxyPass ajp://_TOMCAT_SERVER_Minig:8009/minig/images #</Location> </VirtualHost>
Activate the obm virtualhost and reload apache:
sudo ln -s /etc/apache2/sites-available/obm /etc/apache2/sites-enabled/obm sudo /etc/init.d/apache2 reload
Create a database ('obm'), it's owner ('obm'). You can use PhpMyAdmin]] or use a terminal:
mysql -u root -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> exit
Create tables and import default data:
cd /var/www/obm/scripts/2.2/ ./install_obmdb_mysql_2.2.sh obm obm password en
(syntax: […]/install_obmdb_mysql_2.2.sh db user password lang)
Modify default OBM configuration files:
sudo cp /var/www/obm/conf/obm_conf.inc.sample /var/www/obm/conf/obm_conf.inc sudo cp /var/www/obm/conf/obm_conf.ini.sample /var/www/obm/conf/obm_conf.ini
Edit /var/www/obm/conf/obm_conf.ini et modify the following parameters:
external-url = obm.mydomain.tld external-protocol = https ... dbtype = MYSQL db = obm user = obm password = "password" ... ; Enabled OBM module obm-ldap = false obm-mail = false ... ; backupRoot is the directory used to store backup data backupRoot = "/var/backups/obm"
You still need to create backup folder:
sudo mkdir /var/backups/obm sudo chown www-data /var/backups/obm
Hopefully, obm should work, you can go to next step.
Connect to OBM-UI: https://obm.mydomain.tld/
You have to begin with creating a first domain. Global domain is only a technical domain with normally one unique user (global admin or admin0). Admin0 should be used only to create new domains and their administrators.
Administration > Domains et click on New.| Field | Explanations |
|---|---|
Label | It's the name which is used in forms (e.g. connection form) where a domain must be selected (you can choose 'Domain 1') |
Description | nothing to explain (optional) |
Domain name | means name in DNS (in our example 'mydomain.tld') - warning, this value can't be changed once the domain is created |
Address1 … | These data will become the default data for a new user in this domain; they are optional |
You must now create an administrator for domain 1.
Users > Users and click on New.| Fields | Explanations |
|---|---|
King | Miss/Mrs/Mr (optional) |
Last name | compulsory (e.g. 'admin1' |
First name | (optional) |
Login | compulsory (e.g. 'admin1') - this value can be modified later on |
Password | compulsory , 4 characters minimum, 12 max, the warning message is clear if you type unavailable characters |
Domain | of course, you will choose domain 1 |
Profile | default value admin |
Title, Email address, Phone … | optional |
You can now start creating users with admin1.
Users > Users then New… select this time 'user' profile of course)It's done, OBM-UI should be fully operational.
mysql -u root -p mysql> DROP USER 'obm'@'localhost'; mysql> DROP DATABASE `obm` ; mysql> exit
sudo rm /etc/apache2/sites-available/obm /etc/apache2/sites-enabled/obm sudo /etc/init.d/apache2 reload
sudo rm -rf /var/www/obm /var/backups/obm