Procédure d'installation de SOGo
- Prérequis :
mysql-server, configuré en utf-8
- apache2
- installation de SOGo et de ses dépendances :
echo "deb http://inverse.ca/debian squeeze squeeze" >> /etc/apt/sources.list apt-key adv --keyserver subkeys.pgp.net --recv 19CDA6A9810273C4 aptitude update aptitude install sogo memcached
- configurations
apache : adapter le nom du serveur dans /etc/apache2/conf.d/SOGo.conf
- base de données :
mysql -pxxxxxxxxxxx > > create database sogo; > > grant all privileges on sogo.* to 'sogo'@'localhost' identified by 'xxxxxxxxxx'; > > grant all privileges on sogo.* to 'sogo'@'sogo.mydomain.com' identified by 'xxxxxxxxxxxxxxx';
- créer la table auf_users
CREATE TABLE 'auf_users' ( 'c_uid' varchar(255) NOT NULL, 'c_name' varchar(255) DEFAULT NULL, 'c_password' varchar(255) DEFAULT NULL, 'c_cn' varchar(255) DEFAULT NULL, 'mail' varchar(255) DEFAULT NULL, 'mail_pays' varchar(255) DEFAULT NULL, 'givenname' varchar(64) DEFAULT NULL, 'sn' varchar(64) DEFAULT NULL, 'department' varchar(255) DEFAULT NULL, 'title' varchar(255) DEFAULT NULL, 'telephonenumber' varchar(16) DEFAULT NULL, 'source' varchar(64) DEFAULT 'LOCAL', PRIMARY KEY ('c_uid') ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- (cas des premiers serveurs SOGo : Montréal, Paris, Tana) modifier la table auf_users (adapter la restriction par pays) :
alter table auf_users add column source varchar(64) default 'LOCAL'; alter table sogo_user_profile add column source varchar(64) default 'LOCAL'; alter table sogo_folder_info add column source varchar(64) default 'LOCAL'; update auf_users set source=NULL where not (mail_pays like '%@ca.auf.org' or mail_pays like '%@ht.auf.org');
- sogo : tapez les commande suivantes (à l'invite shell)
defaults -u sogo write sogod SOGoMailDomain mydomain.com defaults -u sogo write sogod SOGoMailingMechanism smtp defaults -u sogo write sogod SOGoSMTPServer smtp.mydomain.com defaults -u sogo write sogod SOGoLanguage French defaults -u sogo write sogod SOGoTimeZone America/Montreal defaults -u sogo write sogod SOGoEnableEMailAlarms YES defaults -u sogo write sogod OCSSessionsFolderURL mysql://sogo:xxxxxxxx@sogo.mydomain.com:3306/sogo/sogo_sessions_folder defaults -u sogo write sogod OCSFolderInfoURL mysql://sogo:xxxxxxxxx@sogo.mydomain.com:3306/sogo/sogo_folder_info defaults -u sogo write sogod SOGoProfileURL mysql://sogo:xxxxxxx@sogo.mydomain.com:3306/sogo/sogo_user_profile defaults -u sogo write sogod OCSEMailAlarmsFolderURL mysql://sogo:xxxxxxxx@sogo.mydomain.com:3306/sogo/sogo_alarms_folder defaults -u sogo write sogod SOGoIMAPServer imap.mydomain.com defaults -u sogo write sogod SOGoCalendarDefaultRoles ("PublicViewer","ConfidentialDAndTViewer") defaults -u sogo write sogod SOGoDayStartTime 9 defaults -u sogo write sogod SOGoDayEndTime 17 defaults -u sogo write sogod SOGoFirstDayOfWeek 1 defaults -u sogo write sogod SOGoMailAuxiliaryUserAccountsEnabled YES defaults -u sogo write sogod SOGoUserSources '( { canAuthenticate = YES; displayName = AUF; id = users; isAddressBook = YES; type = sql; userPasswordAlgorithm = md5; viewURL = "mysql://sogo:xxxxxx@sogo.mydomain.com:3306/sogo/auf_users"; IMAPLoginFieldName = mail_pays; authenticationFilter = "(mail_pays like '\''%@xx.mydomain.com'\'')"; } )'
Le fichier de config sera généré dans /home/sogo/GNUstep/Defaults/.GNUstepDefaults.
Note importante : ne pas éditer ce fichier directement, ça peut causer des soucis d'encodage après et SOGo ne marchera plus parce qu'il ne saura plus interpréter le fichier. J'ai eu cette mésaventure --MoussaNombre.
> Il faut utiliser les commandes SOGo prévu pour renseigner ce fichier (tel que fait ci-dessus).
Je n'en suis plus sûr du tout : c'est plutôt le contraire qui se produit maintenant (soucis d'encodage après avoir entré des commandes SOGo) --MoussaNombre
> Pour visualiser la config actuelle : defaults -u sogo read sogod (ou faire des cat ou less sur le fichier de config)
> Ce qui veut dire qu'il faut connaitre les variables prédéfinis de SOGo, pour ce faire je vous renvoi à la doc officielle http://www.sogo.nu/files/docs/SOGo%20Installation%20Guide.pdf.
fichier de log : /var/log/sogo/sogo.log
- Soucis avec memcached : erreur dans les logs
Oct 06 16:30:49 sogod [1482]: <0x0xa267368[SOGoCache]> an error occurred when caching value for key 'session:Lt++LnsCi1m+a369yS751Q==': "WRITE FAILURE" Oct 06 16:30:49 sogod [1482]: <0x0xa267368[SOGoCache]> an error occurred when caching value for key 'prod.test+attributes': "WRITE FAILURE" Oct 06 16:30:49 sogod [1482]: <0x0xa267368[SOGoCache]> an error occurred when caching value for key 'prod.test+attributes': "WRITE FAILURE" Oct 06 16:30:49 sogod [1482]: <0x0xa267368[SOGoCache]> an error occurred when caching value for key 'prod.test@auf.org+attributes': "WRITE FAILURE" Oct 06 16:30:49 sogod [1482]: <0x0xa267368[SOGoCache]> an error occurred when caching value for key 'prod.test@ca.auf.org+attributes': "WRITE FAILURE" Oct 06 16:30:49 sogod [1482]: <0x0xa267368[SOGoCache]> an error occurred when caching value for key 'session:Lt++LnsCi1m+a369yS751Q==': "WRITE FAILURE" Oct 06 16:30:49 sogod [1482]: <0x0xa267368[SOGoCache]> an error occurred when caching value for key 'prod.test+settings': "WRITE FAILURE"
- vérifier que memcached est installé
si oui, corriger le ficher /etc/memcached.conf : sed -i -e "s/127.0.0.1/localhost/" /etc/memcached.conf
CARDDAV pour les Iphones (carnet d'adresses)
- côté serveur :
créer une nouvelle entrée dns : carddav.sogo.ca.auf.org (serveur DNS)
- créer un nouveau vhost apache
# CARDDAV pour IPHONE <VirtualHost *:80> ServerName carddav.sogo.ca.auf.org CustomLog /var/log/apache2/carddav-iphone_access.log combined ErrorLog /var/log/apache2/carddav-iphone_error.log RewriteEngine On RewriteRule ^/principals/users/(.*)$ /proxy/$1 [PT] ProxyPassInterpolateEnv On ProxyPreserveHost On ProxyPass /proxy http://127.0.0.1:20000/SOGo/dav/ interpolate ProxyPass /SOGo http://127.0.0.1:20000/SOGo interpolate ProxyPass / http://127.0.0.1:20000/SOGo/dav/ interpolate <Proxy http://127.0.0.1:20000/SOGo> RequestHeader set "x-webobjects-server-port" "80" RequestHeader set "x-webobjects-server-name" "carddav.sogo.ca.auf.org" RequestHeader set "x-webobjects-server-url" "http://carddav.sogo.ca.auf.org" RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0" RequestHeader set "x-webobjects-remote-host" %{REMOTE_HOST}e env=REMOTE_HOST AddDefaultCharset UTF-8 Order allow,deny Allow from all </Proxy> RewriteEngine On RewriteRule ^/SOGo/(.*)$ /SOGo/$1 [env=REMOTE_HOST:%{REMOTE_ADDR},PT] </VirtualHost>
- côté Iphone (pour ajouter le carnet d'adresses SOGo) :
dans les réglages "Mail, Contacts, Calendrier", choisir ajouter un compte->autres->Ajouter un compte CardDAV, puis :
- serveur : carddav.sogo.ca.auf.org
- nom d'utilisateur : prenom.nom
- mot de passe : lavieestbelle!situn'ycomprendsrien
- port : 80
- aller ensuite dans l'application "Contacts" pour vérifier (onglet Groupes)