Cette page présente mes notes concernant le déploiement de SOGo norme AuF.
= Checklist =
Récapitulatif des opérations à effectuer pour mettre en place un serveur SOGo norme AuF :
== Installation ==
* '''(local)''' mettre en place un nom DNS `sogo.XX.auf.org` et, si possible, son DNS inverse
. (`XX` peut être un code de pays norme ISO-3166 ou un nom d'implantation tel que `ifi`, `ifmt`, `ifag`, ...)
* '''(local)''' envoyer un courriel à [[MoussaNombre|Moussa Nombré]] et [[ProgFou|Jean Christophe André]] pour déclarer le nom DNS utilisé et les domaines DNS des implantations qui utiliseront ce serveur SOGo
* '''(central)''' enregistrer le nom DNS et les domaines DNS dans `sogocentral` et communiquer la clé pour les synchronisations (via jabber, pas via courriel)
* '''(local)''' installer un serveur [[Debian/Squeeze|Debian Squeeze]] (virtuel ou non, ça marche bien dans un CT OpenVZ)
* '''(local)''' installer `exim4` sur le serveur et tester un envoi de courriel depuis le serveur vers une adél @auf.org
* '''(local)''' mettre en place un environnement [[LAMP]] dans le serveur (locales Unicode, MySQL et Apache)
* '''(local)''' installer SoGo
* …
== Synchronisation ==
* '''(local)''' installer `auf-refer` sur un serveur dans le RPV (par exemple le serveur bureautique)
* '''(local)''' envoyer un courriel à [[MoussaNombre|Moussa Nombré]] et [[ProgFou|Jean Christophe André]] pour déclarer l'adresse IP du serveur où est installé `auf-refer`
* '''(central)''' enregistrer l'adresse IP du serveur `auf-refer` dans la table `"Authentification".machines` sur `db-srv.auf` et confirmer via jabber ou courriel
= Notes d'installation =
Notes :
* être plus précis sur les recommandations d'espace disque (/var, /var/log, /srv, …)
* donner des infos sur les limites de haricots utilisés à Montréal
Installation :
* installation de apache, dans un objectif SSL et PHP5 (installe le `mpm-prefork` au lieu du `mpm-worker` par défaut) : {{{
aptitude install apache2 libapache2-mod-php5
sed -i '/^#AddDefaultCharset/c AddDefaultCharset UTF-8' /etc/apache2/conf.d/charset
a2enmod mime
cat << __ EOF__ > /etc/apache2/site-available/sogo.vn.auf.org
ServerName sogo.vn.auf.org
ServerAdmin technique@vn.auf.org
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/sogo.vn.auf.org_error.log
CustomLog ${APACHE_LOG_DIR}/sogo.vn.auf.org_access.log combined
RedirectMatch ^/$ https://sogo.vn.auf.org/SOGo
# ou plutôt ça ? RedirectMatch . https://sogo.vn.auf.org/SOGo
__EOF__
cat << __ EOF__ > /etc/apache2/site-available/sogo.vn.auf.org-ssl
ServerName sogo.vn.auf.org
ServerAdmin technique@vn.auf.org
DocumentRoot /var/www
RedirectMatch ^/$ https://sogo.vn.auf.org/SOGo
ErrorLog ${APACHE_LOG_DIR}/sogo.vn.auf.org-ssl_error.log
CustomLog ${APACHE_LOG_DIR}/sogo.vn.auf.org-ssl_access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/sogo.vn.auf.org-cert.pem
SSLCertificateKeyFile /etc/ssl/private/sogo.vn.auf.org-key.pem
SSLCACertificateFile /etc/ssl/certs/AC-AUF-RACINE+BAP.pem
SSLVerifyClient None
__EOF__
mv /root/sogo.vn.auf.org-key.pem /etc/ssl/private/
mv /root/sogo.vn.auf.org-cert.pem /root/AC-AUF-RACINE+BAP.pem /etc/ssl/certs/
a2enmod ssl
a2ensite sogo.vn.auf.org
a2ensite sogo.vn.auf.org-ssl
a2dissite default
a2enmod headers
a2enmod rewrite
a2enmod proxy_http
service apache2 restart
}}}
* installation de MySQL : {{{
aptitude install mysql-server
cat << __EOF__ > /root/.my.cnf
[client]
password = le-mdp-choisi-pour-root-dans-MySQL
__EOF__
chmod 0600 /root/.my.cnf
cat << __EOF__ > /etc/mysql/conf.d/local.cnf
[mysqld]
default-character-set = utf8
# à exécuter pour tous les clients (indispensable pour PHP 4, au moins)
init-connect = 'SET NAMES utf8'
language = /usr/share/mysql/french
bind-address = 0.0.0.0
# log_slow_queries = /var/log/mysql/mysql-slow.log
# log_bin = /var/log/mysql/mysql-bin.log
log = /var/log/mysql/mysql.log
# max_connections = 500
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
__EOF__
/etc/init.d/mysql restart
}}}
* installation SOGo : {{{
echo "deb http://inverse.ca/debian squeeze squeeze" >> /etc/apt/sources.list
apt-key adv --keyserver keys.gnupg.net --recv-key 0x19CDA6A9810273C4
aptitude update
aptitude install --without-recommends sogo memcached
…
service memcached restart # après le sed -i
…
defaults -u sogo write sogod SOGoUserSources '(
{
canAuthenticate = YES;
displayName = ANNUAIRE-AUF;
id = users;
isAddressBook = YES;
type = sql;
userPasswordAlgorithm = crypt;
viewURL = "mysql://sogo:xxxxxxxxxxxx@sogo.vn.auf.org:3306/sogo/auf_users";
IMAPLoginFieldName = mail_pays;
authenticationFilter = "source='\''LOCAL'\''";
}
)'
if ! grep -q 'Required-Start:.* mysql' /etc/init.d/sogo ; then
sed -i -e '/^# Required-Start:/s/$/ mysql/' /etc/init.d/sogo
fi
service sogo restart
}}}
Notes :
* faire les fichiers temporaires dans /root et non /tmp
* des choses à reprendre depuis http://wiki.debian.org/SOGo (en particulier variables d'env pour proxy => important)