Installation de la version Debian Lenny de SOGo
Documentation : http://www.scalableogo.org/fr/downloads/documentation.html
Prérequis
Extrait de ZA/Montréal/SOGo/ProcedureInstallation
aptitude install apache2 mysql-server-5.0 imapproxy php5
NB : php5 pour le système de mise à jour des extensions (SOGo Update Server)
Configurer imapproxy pour la connexion vers le serveur Imap
/etc/imapproxy.conf
... server_hostname imap.ca.auf.org ... listen_port 143 ...
Activer certains modules d'Apache
- modules
a2enmod proxy a2enmod proxy_balancer a2enmod proxy_http a2enmod headers
- activer le module ssl et le virtualhost default-ssl
a2enmod ssl a2ensite default-ssl
Configuration de la base de données sogo
- créer la base de données et un utilisateur pour SOGo
mysql> create database sogo character set utf8; mysql> GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'mot-de-passe';
- créer la table d'authentification : sogo_view
CREATE TABLE sogo_view ( c_uid VARCHAR(255), c_name VARCHAR(255), c_password VARCHAR(255), c_cn VARCHAR(255), mail VARCHAR(255), givenName VARCHAR(64), sn VARCHAR(64), department VARCHAR(255), title VARCHAR(255), telephoneNumber VARCHAR(16);
NB : le reste des tables sera créé par l'application elle-même.
Installer sogo
- ajouter le dépôt inverse.ca dans la sources.list
deb http://inverse.ca/debian/ lenny main
Installer SOGo et ses dépendances (GnuStep, SOPE et cie) :
aptitude install sogo
Configurer apache2 pour SOGo
copier le template de la configuration sogo pour apache2 : cp /usr/share/doc/sogo/examples/SOGo.conf /etc/apache2/conf.d/SOGo.conf
- Attention aux alias en début de fichier : les dossiers indiqués ne sont pas les bons. Remplacer
Alias /SOGo.woa/WebServerResources/ \ /usr/GNUstep/System/Library/SOGo/WebServerResources/ Alias /SOGo/WebServerResources/ \ /usr/GNUstep/System/Library/SOGo/WebServerResources/ AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \ /usr/GNUstep/System/Library/SOGo/$1.SOGo/Resources/$2
par :Alias /SOGo.woa/WebServerResources/ \ /usr/lib/GNUstep/SOGo/WebServerResources Alias /SOGo/WebServerResources/ \ /usr/lib/GNUstep/SOGo/WebServerResources AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \ /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2
Fichiers de paramétrage GNUsteps
- configurer le fichier /home/sogo/GNUstep/Defaults/.GNUstepDefaults
NB : avec une authentification mysql
{ NSGlobalDomain = { }; gdnc = { }; sogod = { NGImap4DisableIMAP4Pooling = YES; NGUseUTF8AsURLEncoding = YES; OCSFolderInfoURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_folder_info"; SOGoACLsSendEMailNotifications = YES; SOGoAppointmentSendEMailNotifications = YES; SOGoAuthenticationMethod = LDAP; SOGoCalendarDefaultRoles = ( PublicDAndTViewer ); SOGoFoldersSendEMailNotifications = YES; SOGoIMAPServer = localhost; SOGoLanguage = French; SOGoMailDomain = auf.org; SOGoMailingMechanism = sendmail; SOGoProfileURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_user_profile"; SOGoTimeZone = America/Montreal; SOGoUserSources = ( { canAuthenticate = YES; displayName = "Adresses partag\U00E9es"; id = directory; isAddressBook = YES; type = sql; userPasswordAlgorithm = md5; viewURL = "mysql://sogo:blablabla@localhost:3306/sogo/sogo_view"; } ); SxVMemLimit = 1024; WOMessageUseUTF8 = YES; WOParsersUseUTF8 = YES; WOPort = 20000; WOUseRelativeURLs = NO; }; }
Démarrer SOGo
/etc/init.d/sogo start
Les plugins
SOGo updates serveur
Créer un répertoire /var/www/plugins et y télécharger les plugins
- sogo-integrator
- sogo-connector
- lightning
- adapter sogo-integrator à notre configuration :
- désarchiver le .xpi
modifier le fichier chrome/content/sogo-integrator/extensions.rdf pour qu'il pointe sur notre serveur
... <Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="https://sogo.ca.auf.org/plugins/updates.php?plugin=%ITEM_ID%&version=%ITEM_VERSION%&platform=%PLATFORM%"> ...
- re-créer l'archive .xpi
ajouter le script updates.php dans /var/www/plugins :
- Ce script sert à effectuer la mise à jour des plugins sur les postes clients. Bien sûr il faut s'assurer que les versions sur le serveur sont les dernières et que le script est configuré en fonction de ces versions.
Sur les postes clients
- installer les 3 extensions.
- Les mises à jour, par la suite, se font automatiquement, en fonction de la version disponible sur le serveur.
- extensions version 0.99 (connector patché par Wolfgang pour nous)