openXchange

12/08/2009 Avertissement, Ce billet est outdaté, (périmé?) Les dépots d'open X Change pour Lenny n'étant plus accessibles.

Quelques liens:

Pré requis

  • Une débian 5.0 installé, à jour.
  • Une connection internet

Installation d'Open-X-change

Pour les essais, j'ai adapté un script. A tester sur une machine virtuelle, ça met à plat beaucoup de fichiers de configuration. Je ne suis pas allé jusqu'au bout, les mails ne passent pas.

#!/bin/bash

# Fonction confirmation des paramètres entrés par l'utilisateur

confirmer() {
   echo -e "\033[1;31m Voulez-vous continuer avec cette valeur : "$1" (o/N) \033[0;39m"
   read confirmation
}

# Fonction permettant de demander confirmation pour continuer à
faire_une_pause() {
   echo -n "Continuer [O/n] ? "
   read lettre
   case $lettre in
      "n" | "N") exit 1;;
      *);;
   esac
}

#Fonction pour télécharger un fichier de configuration
#Sauver l'original avec un .old
Change_fichier_de_config(){
 
  #Liste des parametres:
  #    $1: url du fichier
  #    $2: nom du fichier
  #    $3: chemin du fichier de configuration
 
  cp  $3/$2 $3/$2.old 2>/dev/null
  wget $1
  cp $2 $3/$2
  echo - Mise en place du nouveau fichier $3/$2 [OK]

}

##############################   Variables   #####################


export URL_DL="http://blog-du-grouik.tinad.fr/public/OpenXchange"
export DL_DIR=~/oxdl

confirmation="n"
while [ "$confirmation" != "o" ]
do
echo "Entrez le nom du domaine (sous la forme domaine.fr) :"
read DOMAIN
confirmer $DOMAIN
done

confirmation="n"
while [ "$confirmation" != "o" ]
do
echo "Entrez le mot de passe de l'utilisateur MysQl OPENXCHANGE) :"
read OPENXCHANGE_MYSQL_PWD
confirmer $OPENXCHANGE_MYSQL_PWD
done


confirmation="n"
while [ "$confirmation" != "o" ]
do
echo "Entrez le mot de passe OX_ADMIN_MASTER (le 'root' de OpenXchange) :"
read OX_ADMIN_MASTER_PASSWORD
confirmer $OX_ADMIN_MASTER_PASSWORD
done

confirmation="n"
while [ "$confirmation" != "o" ]
do
echo "Entrez le mot de passe OX_ADMIN (l'administrateur de OpenXchange) :"
read OX_ADMIN_PASSWORD
confirmer $OX_ADMIN_PASSWORD
done

mkdir -p $DL_DIR

############################### INSTALLATION DES PAQUETS #######################

echo Le fichier de configuration des sources de paquets sera sauvé dans /etc/apt/sources.list.old et sera remplacé.
faire_une_pause

cp /etc/apt/sources.list /etc/apt/sources.list.old 2>/dev/null
echo "
#Les depots 'classiques':
deb http://ftp.fr.debian.org/debian/ lenny main
deb-src http://ftp.fr.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

#debian non-free
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free

#Depot pour Open-X-change
deb http://download.opensuse.org/repositories/server:/OX:/ox6/DebianLenny/ /
" > /etc/apt/sources.list

apt-get update

# Basics
echo Installation des paquets.
echo Lors de l installation, Si les paquets sont déja présents, ce sera signalé,  ça ne pose pas de problème.
echo Lors de l installation de Java, Vous devrez accepter la license.
echo Lors de l installation de postfix, Vous devrez choisir Internet Site et le domaine des mails.
echo Lors de l installation de MySql, choisissez le mot de passe root MysQl et souvenez vous en!
faire_une_pause

apt-get install nano ssh wget sun-java5-bin sun-java5-jdk \
cyrus-imapd-2.2 cyrus-admin-2.2 sasl2-bin libsasl2-modules libpam-mysql \
libnss-mysql-bg \
postfix postfix-mysql \
cyrus-clients-2.2 \
mysql-server mysql-client \
mysql-server 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-conversion-engine open-xchange-conversion-servlet \
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-de \
open-xchange-online-help-en open-xchange-online-help-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-contactcollector \
libapache2-mod-jk cyrus-nntpd-2.2


/etc/init.d/cyrus2.2 stop
/etc/init.d/saslauthd stop
/etc/init.d/postfix stop

########################### CONFIGURATION DES PAQUETS INSTALLES

echo Mise en place des fichiers de configuration. Les fichiers d origine seront copiés avec l extension .old
echo par exemple le fichier /etc/postfix/main.cf sera sauvé dans le fichier  /etc/postfix/main.cf.old
faire_une_pause

cd $DL_DIR
mkdir hyperion-install/
cd hyperion-install
mkdir configfiles/
cd configfiles

# APACHE
echo Changement des fichiers de configuration d Apache
mkdir apache/
cd apache

#Change_fichier_de_config $URL_DL/apache/default default
/etc/apache2/sites-available
awk '{gsub("oxadmin@example.com", "oxadmin@" "'"$DOMAIN"'", $0); print > FILENAME}' /etc/apache2/sites-available/default
Change_fichier_de_config $URL_DL/apache/ox.conf ox.conf /etc/apache2/conf.d
#Change_fichier_de_config $URL_DL/apache/workers.properties workers.properties /etc/apache2
echo "ServerName `hostname`.$DOMAIN" >> /etc/apache2/httpd.conf

a2enmod proxy
a2enmod proxy_ajp
a2enmod expires
a2enmod deflate
a2enmod headers
a2enmod jk


echo "
<Proxy *>
Order deny,allow
allow from all
</Proxy>

ProxyPass /axis2 ajp://127.0.0.1:8009/axis2 smax=0 ttl=60 retry=5
ProxyPass /ajax ajp://127.0.0.1:8009/ajax smax=0 ttl=60 retry=5
ProxyPass /servlet ajp://127.0.0.1:8009/servlet smax=0 ttl=60 retry=5
ProxyPass /infostore ajp://127.0.0.1:8009/infostore smax=0 ttl=60 retry=5
" > /etc/apache2/conf.d/proxy_ajp.conf

sed -i "14G" /etc/apache2/sites-available/default
sed -i "14G" /etc/apache2/sites-available/default
#sed -i "15s/^/RedirectMatch \^\/\$ \/ox6/" /etc/apache2/sites-available/default
sed -i "s/<\/VirtualHost>//" /etc/apache2/sites-available/default

echo '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
</VirtualHost>
' >> /etc/apache2/sites-available/default




#Cyrus
echo Changement des fichiers de configuration de Cyrus / Pam
mkdir $DL_DIR/hyperion-install/configfiles/cyrus
cd $DL_DIR/hyperion-install/configfiles/cyrus

Change_fichier_de_config $URL_DL/cyrus/imap imap /etc/pam.d
cp /etc/pam.d/pop /etc/pam.d/pop.old 2>/dev/null
cp /etc/pam.d/sieve /etc/pam.d/sieve.old 2>/dev/null
cp /etc/pam.d/imap /etc/pam.d/pop
cp /etc/pam.d/imap /etc/pam.d/sieve
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/pam.d/imap
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/pam.d/pop
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/pam.d/sieve

Change_fichier_de_config $URL_DL/cyrus/imapd.conf imapd.conf /etc
awk '{gsub("example.com", "'"$DOMAIN"'", $0); print > FILENAME}' /etc/imapd.conf
cp /etc/imapd.conf /etc/imap.conf


cp /etc/cyrus.conf /etc/cyrus.conf.old 2>/dev/null
awk '{gsub("#imaps\t\tcmd=\"imapd", "imaps\t\tcmd=\"imapd", $0); print > FILENAME}' /etc/cyrus.conf
awk '{gsub("\"timsieved\"", "\"/usr/lib/cyrus/bin/timsieved\"", $0); print > FILENAME}' /etc/cyrus.conf
echo - Modification du fichier /etc/cyrus.conf [OK]

#Postfix
echo Changement des fichiers de configuration de Postfix
mkdir $DL_DIR/hyperion-install/configfiles/postfix
cd $DL_DIR/hyperion-install/configfiles/postfix

Change_fichier_de_config $URL_DL/postfix/main.cf main.cf /etc/postfix
awk '{gsub("example.com", "'"$DOMAIN"'", $0); print > FILENAME}' /etc/postfix/main.cf

Change_fichier_de_config $URL_DL/postfix/master.cf master.cf /etc/postfix

Change_fichier_de_config $URL_DL/postfix/ox_aliases.cf ox_aliases.cf /etc/postfix
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/postfix/ox_aliases.cf

Change_fichier_de_config $URL_DL/postfix/ox_resource_aliases.cf ox_resource_aliases.cf /etc/postfix
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/postfix/ox_resource_aliases.cf

Change_fichier_de_config $URL_DL/postfix/ox_user_aliases.cf ox_user_aliases.cf /etc/postfix
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/postfix/ox_user_aliases.cf

Change_fichier_de_config $URL_DL/postfix/ox_domains.cf ox_domains.cf /etc/postfix
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/postfix/ox_domains.cf

Change_fichier_de_config $URL_DL/postfix/ox_externaldomaincheck.cf ox_externaldomaincheck.cf /etc/postfix
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/postfix/ox_externaldomaincheck.cf

Change_fichier_de_config $URL_DL/postfix/ox_group_aliases.cf ox_group_aliases.cf /etc/postfix
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/postfix/ox_group_aliases.cf

Change_fichier_de_config $URL_DL/postfix/ox_senderrestrictions.cf ox_senderrestrictions.cf /etc/postfix
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/postfix/ox_senderrestrictions.cf

#MySql
echo Changement des fichiers de configuration de MySql
mkdir $DL_DIR/hyperion-install/configfiles/mysql
cd $DL_DIR/hyperion-install/configfiles/mysql

Change_fichier_de_config $URL_DL/mysql/libnss-mysql.cfg libnss-mysql.cfg /etc
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/libnss-mysql.cfg

Change_fichier_de_config $URL_DL/mysql/libnss-mysql-root.cfg libnss-mysql-root.cfg /etc
awk '{gsub("secret", "'"$OPENXCHANGE_MYSQL_PWD"'", $0); print > FILENAME}' /etc/libnss-mysql-root.cfg

#System
echo Changement des fichiers de configuration des autres programmes
mkdir $DL_DIR/hyperion-install/configfiles/system
cd $DL_DIR/hyperion-install/configfiles/system

Change_fichier_de_config $URL_DL/system/saslauthd saslauthd /etc/default
cp /opt/open-xchange/etc/admindaemon/User.properties /opt/open-xchange/etc/admindaemon/User.properties.old 2>/dev/null
awk '{gsub("DEFAULT_PASSWORD_MECHANISM=SHA", "DEFAULT_PASSWORD_MECHANISM=CRYPT", $0); print > FILENAME}' /opt/open-xchange/etc/admindaemon/User.properties
echo - Modification du fichier /opt/open-xchange/etc/admindaemon/User.properties [OK]

######################## Finaliser l'installation#####################"
echo Finaliser l instalation
faire_une_pause

usermod -G mail postfix
newaliases


echo "GRANT ALL PRIVILEGES ON *.* TO 'openexchange'@'localhost' IDENTIFIED BY '$OPENXCHANGE_MYSQL_PWD';" > /tmp/openXchange_pri.sql
echo Le mot de passe root de MySql:
mysql -u root < /tmp/openXchange_pri.sql mysql -p

/opt/open-xchange/sbin/initconfigdb --configdb-pass=$OPENXCHANGE_MYSQL_PWD

/opt/open-xchange/sbin/oxinstaller --servername=oxserver --configdb-pass=$OPENXCHANGE_MYSQL_PWD --master-pass=$OX_ADMIN_MASTER_PASSWORD

echo "Restart services..."
/etc/init.d/open-xchange-groupware restart
/etc/init.d/open-xchange-admin start
/etc/init.d/mysql restart
/etc/init.d/cyrus2.2 restart
/etc/init.d/saslauthd restart
/etc/init.d/postfix restart
/etc/init.d/apache2 restart


/opt/open-xchange/sbin/registerserver -n oxserver -A oxadminmaster -P $OX_ADMIN_MASTER_PASSWORD

mkdir /var/opt/filestore
chown open-xchange:open-xchange /var/opt/filestore

/opt/open-xchange/sbin/registerfilestore -A oxadminmaster -P $OX_ADMIN_MASTER_PASSWORD \
-t file:///var/opt/filestore

/opt/open-xchange/sbin/registerdatabase -A oxadminmaster -P $OX_ADMIN_MASTER_PASSWORD \
-n oxdatabase -p $OPENXCHANGE_MYSQL_PWD -m true

/opt/open-xchange/sbin/createcontext -A oxadminmaster -P $OX_ADMIN_MASTER_PASSWORD -c 1 \
-u oxadmin -d "Context Admin" -g Admin -s User -p $OX_ADMIN_PASSWORD -L defaultcontext \
-e oxadmin@$DOMAIN -q 1024 --access-combination-name=all

/opt/open-xchange/sbin/createuser -c 1 -A oxadmin -P $OX_ADMIN_PASSWORD -u testuser \
-d "Test User" -g Test -s User -p secret -e testuser@$DOMAIN --imaplogin testuser --imapserver 127.0.0.1 --smtpserver 127.0.0.1

/etc/init.d/open-xchange-admin restart
/etc/init.d/open-xchange-groupware restart

echo "Fini! Visitez http://`hostname`.$DOMAIN/ox6/ et enregistrez vous en tant que testuser/secret pour tester l'installation"

Deux impressions d'écran:






Prochain essai (complet celui là) ce sera horde.

Commentaires

1. Le mercredi, août 5 2009, 09:35 par latisane

Bonjour,

J'ai exécuté le script d'installation. j'obtiens une erreur 503 au lancement sur la page du server ox6
Error: 503 - Service Temporarily Unavailable
ci-joint qq msg du terminal :
Restarting web server: apache2 ... waiting .
server could not be registered:
Error: connection failed to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connexion refusée
mkdir: ne peut créer le répertoire `/var/opt/filestore': Le fichier existe.
filestore could not be registered:
Server response:
OXUtil_V2
database could not be registered:
Server response:
OXUtil_V2
context 1 could not be created:
Server response:
OXContext_V2
user in context 1 could not be created:
Server response:
OXUser_V2

A bientôt
Cordialement

Latisane

2. Le mercredi, août 12 2009, 21:36 par gnieark

Bonjour,

Je viens de retester le script.

Le problème vient du fait que le dépot de sources pour débian Lenny n'existe plus. (http://download.opensuse.org/reposi... /)

Je vois cependant qu'il y a un dépot pour xubuntu, j'imagine qu'il y a juste le sources.list http://download.opensuse.org/reposi...
fourni par ce script à adapter pour que ça fonctionne.

Je met en entête de ce billet qu'il est "Outdated"

3. Le vendredi, janvier 8 2010, 21:41 par Cyp

deb http://software.open-xchange.com/OX... /

4. Le dimanche, janvier 10 2010, 20:08 par gnieark

ah oui, ils ont remis les paquets pour Lenny

J'aimais bien l'interface d'OX, même si je ne l'ai pas déployé. A l'occasion, je re regarderai voir s'il y a des nouveautés

5. Le mercredi, juillet 31 2013, 10:51 par ice

blog bien référencé
sur l'erreur de connection 503

apache doit avoir les droit de lecture sur les dossiers open xchange dant /opt et /var

Page top