⇤ ← Version 1 à la date du 2011-10-06 01:17:14
13937
Commentaire: go, on approche de la fin
|
13952
|
Texte supprimé. | Texte ajouté. |
Ligne 301: | Ligne 301: |
* pour ceux qui ont des clients BlackBerry : cf [[http://wiki.auf.org/wikiteki/Projet/SOGo/ProcédureInstallationFunambol|Procédure d'installation de Funambol]] | * pour ceux qui ont des clients BlackBerry et/ou Androïd : cf [[http://wiki.auf.org/wikiteki/Projet/SOGo/ProcédureInstallationFunambol|Procédure d'installation de Funambol]] |
Sommaire
Procédure de déploiement du système SOGo
Côté serveur
Les prérequis
- Un serveur virtuel avec :
- Intel, AMD or PowerPC CPU 3 GHz (côté HN)
- minimum 2048 MB of RAM
- minimum 3 GB d'espace disque
- serveur imap et smtp
un script de synchro des comptes utilisateurs (prenom.nom@auf.org + mot de passe associé).
Vous pouvez commencer avec celui fait par MoussaNombre. Contactez MoussaNombre et/ou ProgFou pour les accès à la base de données centrale
Installation et configuration du serveur
- créez et configurez un serveur virtuel de base à votre sauce. Ensuite, installez les prérequis de SOGo et SOGo lui-même :
- mise en place d'Apache
# installer apache2 + config Unicode + SSL + activation modules aptitude install apache2 a2enmod mime sed -i '/^#AddDefaultCharset/c AddDefaultCharset UTF-8' /etc/apache2/conf.d/charset # Configuration Apache2 en mode ssl # cf http://wiki.auf.org/wikiteki/PKI/CréationCertificatServeurSSL pour la création du certif dans IGC (http://igc.auf.org) a2enmod ssl cat > /etc/apache2/sites-available/sogo.xx.auf.org << __EOF__ <VirtualHost *:80> ServerName sogo.xx.auf.org ServerAdmin rtr+sogo@xx.auf.org DocumentRoot /var/www ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined RedirectMatch ^/$ https://sogo.xx.auf.org/SOGo </VirtualHost> __EOF__ cat > /etc/apache2/sites-available/sogo.xx.auf.org-ssl << __EOF__ <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerName sogo.xx.auf.org ServerAdmin rtr+sogo@xx.auf.org DocumentRoot /var/www RedirectMatch ^/$ https://sogo.xx.auf.org/SOGo ErrorLog ${APACHE_LOG_DIR}/sogo.xx.auf.org-error.log CustomLog ${APACHE_LOG_DIR}/sogo.xx.auf.org-ssl_access.log combined SSLEngine on SSLCertificateFile /etc/ssl/auf/sogo.xx.auf.org.pem SSLCertificateKeyFile /etc/ssl/auf/sogo.xx.auf.org.key SSLCACertificateFile /etc/ssl/auf/CAs-AUF.crt SSLVerifyClient None </VirtualHost> </IfModule> __EOF__ a2ensite sogo.xx.auf.org a2ensite sogo.xx.auf.org-ssl a2dissite default # Activer les modules proxy requis par SOGo a2enmod proxy a2enmod headers a2enmod rewrite a2enmod proxy_http
- création du certificat dans la PKI AUF :
Le ficher PKCS#12 devra être décomposé et mis dans le dossier /etc/ssl/auf
- redémarrer apache
- mise en place de mysql
# installer MySQL + config Unicode aptitude install mysql-server-5.1 cat > /root/.my.cnf << __EOF__ [client] password = "mot-de-passe-super-complique" #idem que celui tapé lors de l'installation du paquet mysql-server-5.1 précédemment __EOF__ cat > /etc/mysql/conf.d/local.cnf << __EOF__ [client] # l'option suivante semble gêner quelques outils, comme mysqlbinlog #default-character-set = utf8 [mysqld] # par défaut du côté serveur default-character-set = utf8 #character-set-server = 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] # par défaut du côté client (pour root, qui ne subit pas le init-connect) default-character-set = utf8 __EOF__ # relancer mysql /etc/init.d/mysql restart
- installation de SOGo
# installation et configuration de sogo (cf http://wiki.auf.org/wikiteki/Projet/SOGo/ProcédureInstallationSOGo et http://wiki.auf.org/wikiteki/ZA/Montr%C3%A9al/SOGo/ProcedureInstallationVersionDebian) # ajout du dépôt inverse echo "deb http://inverse.ca/debian squeeze squeeze" >> /etc/apt/sources.list # ajouter la clé inverse.ca apt-key adv --keyserver subkeys.pgp.net --recv 19CDA6A9810273C4 aptitude update aptitude install sogo # On met le nom du serveur SOGo dans apache en gardant le HTTPS sed -i -e "s/yourhostname/sogo.ca.auf.org/g" /etc/apache2/conf.d/SOGo.conf # au passage, suite à l'alerte lors de l'installation sed -i -e "s/^SHOWWARNING/#SHOWWARNING=true/g" /etc/tmpreaper.conf # base de données cat > /tmp/sogo-bdd.sql << __EOF__ CREATE DATABASE sogo DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'localhost' IDENTIFIED BY 'xxxxxxxxxxxxxxxx'; GRANT ALL PRIVILEGES ON sogo.* TO 'sogo'@'sogo.xx.auf.org' IDENTIFIED BY 'xxxxxxxxxxxxxxx'; USE sogo; 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; __EOF__ # le reste des tables sera créé par SOGo lui-même. mysql < /tmp/sogo-bdd.sql # configuration SOGo # Il faut lancer le service sogo avant la configuration, sinon au lancement, après configuration, il créera un fichier "vide" en écrasant nos config /etc/init.d/sogo restart cat > /tmp/config_sogo.sh << __EOF__ defaults -u sogo write sogod SOGoMailDomain xx.auf.org defaults -u sogo write sogod SOGoMailingMechanism smtp defaults -u sogo write sogod SOGoSMTPServer smtp.xx.auf.org 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:xxxxxxxxxxxx@sogo.ca.auf.org:3306/sogo/sogo_sessions_folder defaults -u sogo write sogod OCSFolderInfoURL mysql://sogo:xxxxxxxxxxxx@sogo.ca.auf.org:3306/sogo/sogo_folder_info defaults -u sogo write sogod SOGoProfileURL mysql://sogo:xxxxxxxxxxxx@sogo.ca.auf.org:3306/sogo/sogo_user_profile defaults -u sogo write sogod OCSEMailAlarmsFolderURL mysql://sogo:xxxxxxxxxxxxx@sogo.ca.auf.org:3306/sogo/sogo_alarms_folder defaults -u sogo write sogod SOGoIMAPServer imap.xx.auf.org 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 SOGoPageTitle 'SOGo - AUF xxxxxNOM_BUREAUxxxxxx' defaults -u sogo write sogod SOGoEnablePublicAccess YES defaults -u sogo write sogod SOGoForceIMAPLoginWithEmail YES defaults -u sogo write sogod SOGoFaviconRelativeURL http://www.auf.org/favicon.ico defaults -u sogo write sogod SOGoSuperUsernames '('username_de_l_admin')' defaults -u sogo write sogod SOGoAppointmentSendEMailNotifications YES defaults -u sogo write sogod SOGoUserSources '( { canAuthenticate = YES; displayName = ANNUAIRE-AUF; id = users; isAddressBook = YES; type = sql; userPasswordAlgorithm = md5; viewURL = "mysql://sogo:xxxxxxxxxxxxxxx@sogo.ca.auf.org:3306/sogo/auf_users"; IMAPLoginFieldName = mail_pays; authenticationFilter = "(mail_pays like '\''%@xx.auf.org'\'' or mail_pays like '\''%@yy.auf.org'\'')"; } )' __EOF__ # NB : adpater les champs suivants : # - code pays (deux caractères, ex. ca) # - serveur smtp # - serveur imap # - mot de passe du compte d'accès à la base de données sogo # - l'ensemble des pays couverts par ce sogo, au besoin ajouter des " or mail_pays like '\''%@zz.auf.org'\''" # - le mot de passe mysql de sogo est celui définit lors de la configuration de la base de données sogo, plus haut sh /tmp/config_sogo.sh /etc/init.d/sogo restart
lancer la synchro des comptes pour remplir la table auf_users
- A ce stade, SOGo est prêt et fonctionnel. Pour tester :
ouvrir un navigateur et aller à https:sogo.xx.auf.org
- accepter le certificat
- et zou on y est, saisir son prenom.nom (sans le @auf.org), et son mot de passe
- synchronisation inter-implantation
http://wiki.auf.org/wikiteki/Projet/SOGo/SynchroMultiSites#Mise_en_place_.28v0.29 Contacter MoussaNombre et/ou ProgFou pour avoir une clé pour son serveur
- gestion des extensions SOGo (extensions pour le client Thunderbird + script de mise à jour)
# module apache-php pour le script aptitude install libapache2-mod-php5 mkdir /var/www/plugins cd /var/www/plugins # récupération du script de mise à jour wget --user-agent="Client-sogo-config" -O updates.php "http://wiki.auf.org/wikiteki/Projet/SOGo/MiseAJourDesExtensions?action=AttachFile&do=get&target=updates.php" # adaptation du script sed -i -e "s/inverse.ca\/downloads\/extensions/sogo.xx.auf.org\/plugins/" updates.php sed -i -e "s/102/105/" updates.php # récupération des extensions wget --user-agent="Client-sogo-config" -O sogo-connector-3.105.xpi http://www.sogo.nu/files/downloads/extensions/sogo-connector-3.105.xpi wget --user-agent="Client-sogo-config" -O lightning-1.0b2.105i.xpi http://www.sogo.nu/files/downloads/extensions/lightning-1.0b2.105i_linux-i686.xpi # adpatation du sogo-integrator # utilitaire pour manipuler les .xpi aptitude install fastjar cd /tmp wget --user-agent="Client-sogo-config" -O sogo-integrator-3.105.xpi http://www.sogo.nu/files/downloads/extensions/sogo-integrator-3.105-sogo-demo.xpi mkdir SOGo cd SOGo jar xf /tmp/sogo-integrator-3.105.xpi rm chrome/content/extensions.rdf cat > chrome/content/extensions.rdf << __EOF__ <?xml version="1.0"?> <!DOCTYPE RDF> <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:isi="http://inverse.ca/sogo-integrator/" xmlns:em="http://www.mozilla.org/2004/em-rdf#" xmlns:NC="http://home.netscape.com/NC-rdf#"> <Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="http://sogo.xx.auf.org/plugins/updates.php?plugin=%ITEM_ID%&version=%ITEM_VERSION%&platform=%PLATFORM%"> <li> <Description em:id="sogo-integrator@inverse.ca" em:name="SOGo Integrator"/> </li> <li> <Description em:id="sogo-connector@inverse.ca" em:name="SOGo Connector"/> </li> <li> <Description em:id="{e2fda1a4-762b-4020-b5ad-a41df1933103}" em:name="Lightning"/> </li> </Seq> </RDF> __EOF__ jar cf sogo-integrator-3.105.xpi * cp sogo-integrator-3.105.xpi /var/www/plugins aptitude purge fastjar
pour ceux qui ont des clients BlackBerry et/ou Androïd : cf Procédure d'installation de Funambol
pour ceux qui ont des clients Iphone : cf Procédure de configuration du CARDDAV pour les Iphones
Côté poste de travail
- Nous avons deux modes d'accès à SOGo :
via le web : https://sogo.xx.auf.org. Il faut sur chaque poste :
- ajouter un raccourci firefox vers ce lien
- ajouter ce lien dans les favoris
- ajouter ce lien dans le menu AUF de la région
via thunderbird : pour ce faire il faut installer des extensions dans thunderbird. Mais, avec le script de mise à jour (update.php), il suffit d'installer un seul (le sogo-integrator) qui se chargera de mettre les deux autres (sogo-connector et lightning) :
Télécharger sogo-integrator depuis http://sogo.xx.auf.org/plugins
- aller dans TB et installer cette extension. TB va redémarrer une fois tout seul ; après quoi toutes les 3 extensions sont installées et fonctionnelles.
- par défaut SOGo crée un agenda personnel pour chaque utilisateur. Renommer cet agenda en prenom.nom (clique droit-propriétés sur l'agenda personnel).
TRES IMPORTANT : faire un inventaire avec l'utilisateur pour savoir s'il a ou non des carnets d'adresses (surtout avec des alias) et/ou agendas locaux déjà existants (avant la mise en place de SOGo).
- Si tel est le cas, après la mise en place des extensions, il faut migrer ces objets sur le serveur SOGo ; cela se fait à coups d'export/import via des fichiers .ics pour l'agenda et .ldiff pour le carnet.
NB : la mise à jour des extensions étant centralisée et automatique, il vous faut, vous l'admin, suivre les évolutions, et mettre les nouvelles versions dans le dossier /var/www/plugins du serveur et modifier le script update.php (cf plus haut gestion des extensions SOGo)
ajouter un lien vers le site des agendas publics : http://agendas.auf.org
Téléphones intelligents
- IPHONE (réglages "Mail, Contacts, Calendriers", Autres)
- agenda : ajouter un compte CalDAV
- carnet d'adresses : ajouter un compte CardDAV (en passant par l'url carddav.sogo.xx.auf.org créer plus haut)
BLACKBERRY : passer par le client FUNAMBOL pour BB
ANDROID : passer par le client FUNAMBOL pour Androïd