Ce tuto fait partie de Open-change + Funambol
L'installation part d'un debian etch tout frais
apt-get install phpmyadmin apache2 php-pear php5-gd mysql-server apt-get install zip unzip bzip2 arj libglib2.0-data apt-get install php5-imagick imagemagick
Voici les dépôts pour debian :
#Dépot xchange : deb http://ftp.fr.debian.org/debian/ etch main contrib non-free deb-src http://ftp.fr.debian.org/debian/ etch main contrib non-free #Dépot plugin ldap xchange : deb http://software.open-xchange.com/OX6/stable/DebianEtch/ /
On ajoute l'emprunte pour valider les nouveaux dépôts
wget http://software.open-xchange.com/oxbuildkey.pub -O - | apt-key add -
Pour vérifier :
apt-key list
Maintenant si vous faites une recherche sur le mot clef “open-xchange”, vous voyez tous les paquets diponible :
apt-get update apt-cache search open-xchange
Installez les paquest suivants :
aptitude install open-xchange-admin-client open-xchange-admin-doc open-xchange-admin-plugin-hosting-doc open-xchange-admin-plugin-hosting open-xchange-admin open-xchange-authentication-database open-xchange-cache open-xchange-charset open-xchange-common open-xchange-configjump-generic open-xchange-configread open-xchange-control open-xchange-data-conversion-ical4j open-xchange-global open-xchange-group-managerequest open-xchange-gui open-xchange-i18n open-xchange-imap open-xchange-jcharset open-xchange-mailfilter open-xchange-management open-xchange-monitoring open-xchange-online-help-he-de open-xchange-online-help-he-en open-xchange-online-help-he-fr open-xchange-passwordchange-database open-xchange-passwordchange-servlet open-xchange-push-udp open-xchange-resource-managerequest open-xchange-server open-xchange-sessiond open-xchange-settings-extensions open-xchange-smtp open-xchange-spamhandler-default open-xchange open-xchange-imap
Open-xchange est installé par défault dans le dossier /opt/open-xchange
Jettez un oeil dans le répertoire /opt/open-xchange/sbin, ox mets à disposition
toute une série de script bien pratique
On va maintenant, créer les tables mysql dont open-xchange à besoin
Cette db s'appellera configdb
/opt/open-xchange/sbin/initconfigdb --configdb-pass=open -a
Le -a,va créer un user mysql qui aura accès à la bd configdb, il faut lancer cette commande en tant que root pour que ca fonctionne
Pour connaitre toutes les options de cette commande, tapez :
/opt/open-xchange/sbin/initconfigdb -h
Conseil, ne pas changer le nom du oxadminmaster
Pour servername, il est conseillé de pas mettre le nom de machine
/opt/open-xchange/sbin/oxinstaller --servername=oxserver --configdb-user=open --configdb-pass=open --master-pass=toto22 --imapserver=mail.mondomaine.be --smtpserver=smtp.mondomaine.be
Ici on crée le user “oxadminmaster”, avec comme mot de passe toto22 Ce user va servir pour utiliser les différentes commandes disponibles dans /opt/open-xchange/sbin Il s'agit d'un user système et non pas d'un utilisateur ox !
Pour toutes les options tapez :
/opt/open-xchange/sbin/oxinstaller -h
Note : Les options, smtp, imap peuvent être changé par après.
On peut maintenant démarrer le service admin d'ox :
/etc/init.d/open-xchange-admin start
Pour vérifier que le système démarre correctement, vérifiez les fichiers de logs dans /var/log/open-xchange/
Vous pouvez également vérifier les ports ouvert par le système en tapant :
netstat -ntlp
Maintenant on va crée une nouvelle instance dans ox Ce système d'instance permet d'avoir plusieurs ox sur une même install, à l'instar par exemple de plone
On va lui donner comme nom “oxserver”
/opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P toto22
Pour lister les instances crées :
/opt/open-xchange/sbin/listserver -A oxadminmaster -P toto22
Dans mon cas l'id = 2
Id Name
2 oxserver
Garder en tête, le numéro id, il va servir pour ci-dessous, normalement lors de la première install, celui-ci vaut 1
Les fichiers uploader via l'interface web d'ox seront stockés dans le dossier /var/opt/filestore
mkdir /var/opt/filestore chown open-xchange:open-xchange /var/opt/filestore
Ensuite on enregistre ce dossier dans la config d'ox
/opt/open-xchange/sbin/registerfilestore -A oxadminmaster -P toto22 -t file:///var/opt/filestore -s 100000
Le -s 10000 pour taille max en octets, par défaut c'est 1000
Pour lister :
/opt/open-xchange/sbin/listfilestore -A oxadminmaster -P toto22
Pour changer une valeur :
/opt/open-xchange/sbin/changefilestore -i 2 -A oxadminmaster -P toto22 -x 10000
le -i 2 correspondant à la colonne id en faisant un /opt/open-xchange/sbin/listfilestore
/opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P toto22 -n oxdatabase -p open -m true
-n nom de la bd qui va être crée -p mot de passe root, ou user mysql capable de crée une bd -m true signifie que ce sera la base principale, il ne peut y avoir qu'une seule base principale !
Comme d'hab, un -h pour toutes les options
Listes les bd :
/opt/open-xchange/sbin/listdatabase -A oxadminmaster -P toto22
Au dessus, nous avons crée une nouvelle instance d'ox Maintenant nous allons crée un contexte dans cette instance
Note : plusieurs contextes dans une instance ?? je ne comprends pas bien moi même
/opt/open-xchange/sbin/createcontext -A oxadminmaster -P toto22 -c 2 -u oxadmin -d "Context Admin" -g Admin -s User -p secret -e admin@mondomaine.be -l fr_FR -t Europe/Brussels -q 1024 -L defaultcontext --access-combination-name=all context 2 created
Un peu d'explication sur toutes ces options :
-c 2 : correspond à mon id obtenu plus haut avec la commande /opt/open-xchange/sbin/listserver
-u : sera le nom du compte administrateur de votre ox, contrairement à oxadminmaster, celui-ci se connectera à l'interface web gui
-p : le mdp de oxadmin
-g, -d, -s sont des noms indicatifs (givenName, surname…)
Maintenant, on crée un compte user test :
/opt/open-xchange/sbin/createuser -c 2 -A oxadmin -P secret -u testjf -d "Test User" -g Test -s User -p titi -e testuser@mondomaine.be --imaplogin testuser --imapserver mail.mondomaine.be --smtpserver smtp.mondomaine.be -l fr_Fr -t Europe/Brussels
On démarre le groupware :
/etc/init.d/open-xchange-groupware start
Ca y est !, vous allez enfin pouvoir vous connectez à l'interface web d'ox ! Allez sur l'adresse web de votre serveur : http://www.mondomaine.be/ox6
L'interface web installé via le paquet open-xchange-gui Celle-ci a été installée dans le répertoire /var/www/ox6
Pour rendre le système plus performant, il est nécessaire d'installer aussi le paquet libapache2-mod-proxy-html
apt-get install libapache2-mod-proxy-html
Ensuite on active les modules dans apache :
a2enmod proxy a2enmod proxy_balancer a2enmod proxy_ajp a2enmod expires a2enmod headers a2enmod deflate
Commenter les lignes dans le fichier /etc/apache2/mods-enabled/proxy.conf
#<Proxy *> # AddDefaultCharset off # Order deny,allow # Deny from all # Allow from .example.com #</Proxy>
Voici une config type d'un virtualHost :
/etc/apache2/sites-available/ox.conf NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName oxserver.mondomaine.be DocumentRoot /var/www/ox6 <Directory /var/www/ox6> AllowOverride None Order allow,deny allow from all #RedirectMatch ^/$ /ox6/ </Directory> <IfModule mod_proxy_ajp.c> <Proxy /ajax> AddDefaultCharset UTF-8 Order allow,deny Allow from all </Proxy> <Proxy /servlet> AddDefaultCharset UTF-8 Order allow,deny Allow from all </Proxy> <Proxy balancer://oxcluster> BalancerMember ajp://oxserver:8009 smax=0 ttl=60 retry=5 loadfactor=50 route=OX-1 #BalancerMember ajp://ox2:8009 smax=0 ttl=60 retry=5 loadfactor=50 route=OX-2 </Proxy> ProxyPass /ajax/ balancer://oxcluster/ajax/ stickysession=JSESSIONID ProxyPass /servlet/ balancer://oxcluster/servlet/ stickysession=JSESSIONID </IfModule> <IfModule mod_deflate.c> # Logging DeflateFilterNote ratio LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate CustomLog /var/log/apache2/deflate.log deflate <Directory /var/www/ox6> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css \ text/javascript application/x-javascript # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # Make sure proxies don't deliver the wrong content #Header append Vary User-Agent env=!dont-vary AddDefaultCharset UTF-8 AddCharset UTF-8 .js </Directory> </IfModule> ExpiresActive On ExpiresByType image/gif "access plus 23 hours" ExpiresByType image/png "access plus 23 hours" ExpiresByType image/jpg "access plus 23 hours" ExpiresByType image/jpeg "access plus 23 hours" ExpiresByType text/javascript "access plus 23 hours" ExpiresByType text/css "access plus 23 hours" ExpiresByType text/html "access plus 23 hours" ExpiresByType application/x-javascript "access plus 23 hours" <Files ~ "\.(js|css|gif|jpe?g|png)$"> Header append Cache-Control "public" </Files> DeflateFilterNote ratio AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html Header append Vary User-Agent env=!dont-vary CustomLog /var/log/apache2/ox.log combined ErrorLog /var/log/apache2/ox-error.log </VirtualHost>
Source : http://www.open-xchange.com/wiki/index.php?title=Quick_install_guide_for_the_Server_Edition_Debian4
Discussion