Modifications entre les versions 1 et 19 (s'étendant sur 18 versions)
Version 1 à la date du 2011-10-06 01:17:14
Taille: 13937
Éditeur: MoussaNombre
Commentaire: go, on approche de la fin
Version 19 à la date du 2011-10-21 22:55:33
Taille: 18033
Éditeur: MoussaNombre
Commentaire: iOS
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
#acl GroupeAUF:read,write #acl GroupeAUF:read,write All:read
Ligne 10: Ligne 10:
 * Un serveur virtuel avec :  ==== Serveurs ====
* Un serveur virtuel avec :
Ligne 14: Ligne 15:
 * serveur imap et smtp
 * un script de synchro des comptes utilisateurs (prenom.nom@auf.org + mot de passe associé).
   Vous pouvez commencer avec [[http://git.auf.org/?p=codes-mnombre.git;a=blob;f=synchros-sogo-users.py;h=41da438b2d83bcd2a7567c712168f652e2141cf6;hb=18925295796131310d5ed2144c8652efd9041b58|celui]] fait par MoussaNombre.
   Contactez MoussaNombre et/ou ProgFou pour les accès à la base de données centrale
 * un serveur imap
 * un serveur smtp

==== Synchronisation des comptes utilisateurs (prenom.nom@auf.org + mot de passe associé) ====
__NB__ : avant tout, contactez MoussaNombre et/ou ProgFou pour les accès à la base de données centrale (vous devriez leur donner l'adresse IP du serveur qui roulera la synchro : une IP de votre RPV)

  {{{
  # récupérer le script
wget -O /usr/local/sbin/synchro-auf-refer-sogo-users.py "http://git.auf.org/?p=codes-mnombre.git;a=blob_plain;f=synchro-auf-refer-sogo-users.py;hb=8872fb6011ebc691cc41bad449e5db3bc2009151"
  # adapter le script : codes d'accès à votre base de données SOGo, la liste des pays de votre Bureau

  # ajouter à ses sources :
echo "deb http://apt.auf.org/ lenny auf" >> /etc/apt/sources.list
  # gardez bien le "lenny" même sous squeeze car le paquet n'est pas encore publié dans Squeeze).

  # Ensuite, installer auf_refer
aptitude update
aptitude install auf-refer

 # pour avoir toutes les données (notamment les mots de passe),il faut avoir fourni son IP à MoussaNombre ou Progfou
 # s'abonner à la source de données d'authentification
sudo auf-refer -a annuaire.json
 # vérifier que l'on a bien des champs 'mdp' et 'login' bien remplis
sudo auf-refer -c annuaire.json
 # pour forcer une mise à jour de la copie locale (sinon c'est fait à 7h et 13h chaque jour)
sudo auf-refer -u annuaire.json

 # vu que la base de données sogo ne sera créée que plus tard, on ne peut pas tester pour le moment. cf plus bas pour la suite

 # créer une tâche planifié
cat > /etc/cron.d/synchro-auf-refer-sogo-users << __EOF__
MAILTO=root+sogo@xx.auf.org

0 * * * * root python /usr/local/sbin/synchro-auf-refer-sogo-users.py
__EOF__

  }}}
Ligne 21: Ligne 55:
 * mise en place d'Apache  * exemple de partitionnement recommandé :
  * 1 Go pour / (obligatoire)
  * 1 Go pour /var (optionnel)
  * 1 Go pour /var/log (recommandé)
  * 1 Go pour /var/lib/mysql (obligatoire)
  * 3 Go pour /opt (dans le cas d'une installation de Funambol)
 * une idée des haricots (beancounters) sur le SOGo de Montréal : [[Projet/SOGo/BeanCounterServeurDeMontreal]]

==== mise en place d'Apache ====
dans un objectif SSL et PHP5 (installe le mpm-prefork au lieu du mpm-worker par défaut)
Ligne 24: Ligne 68:
aptitude install apache2
aptitude install apache2 libapache2-mod-php5

sed -i '/^#AddDefaultCharset/c AddDefaultCharset UTF-8' /etc/apache2/conf.d/charset
Ligne 27: Ligne 72:
sed -i '/^#AddDefaultCharset/c AddDefaultCharset UTF-8' /etc/apache2/conf.d/charset
Ligne 39: Ligne 83:
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        ErrorLog \${APACHE_LOG_DIR}/sogo.xx.auf.org-error.log
        CustomLog \${APACHE_LOG_DIR}/sogo.xx.auf.org-access.log combined
Ligne 52: Ligne 96:
        ErrorLog ${APACHE_LOG_DIR}/sogo.xx.auf.org-error.log
        CustomLog
${APACHE_LOG_DIR}/sogo.xx.auf.org-ssl_access.log combined
        ErrorLog \${APACHE_LOG_DIR}/sogo.xx.auf.org-ssl-error.log
        CustomLog \${APACHE
_LOG_DIR}/sogo.xx.auf.org-ssl-access.log combined
Ligne 56: Ligne 100:
        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
        SSLCertificateFile /etc/ssl/certs/sogo.xx.auf.org-cert.pem
        SSLCertificateKeyFile /etc/ssl/private/sogo.xx.auf.org-key.pem
        SSLCACertificateFile /etc/ssl/certs/AC-AUF-RACINE+BA.pem # changer la région
Ligne 70: Ligne 114:
a2enmod proxy
#
a2enmod proxy     A VERIFIER
Ligne 76: Ligne 121:
 * création du certificat dans la PKI AUF :   * création du certificat dans la PKI AUF :
Ligne 79: Ligne 124:
  * redémarrer apache

 * mise en place de mysql
  * redémarrer apache : `service apache2 restart`

==== mise en place de mysql ====
Ligne 84: Ligne 129:
aptitude install mysql-server-5.1 aptitude install mysql-server
Ligne 90: Ligne 135:
chmod 0600 /root/.my.cnf
Ligne 92: Ligne 138:
[client]
# l'option suivante semble gêner quelques outils, comme mysqlbinlog
#default-character-set = utf8
Ligne 110: Ligne 152:
log = /var/log/mysql/mysql.log general_log = /var/log/mysql/mysql.log
Ligne 126: Ligne 168:
 * installation de SOGo ==== installation de SOGo ====
Ligne 136: Ligne 178:
aptitude install sogo

# On met le nom du serveur SOGo dans apache en gardant le HTTPS 
aptitude install --without-recommends sogo memcached

# corriger memcached pour sogo
sed -i -e "s/127.0.0.1/localhost/" /etc/memcached.conf

service memcached restart


# On met le nom du serveur SOGo dans apache en gardant le HTTPS
Ligne 142: Ligne 189:
sed -i -e "s/^SHOWWARNING/#SHOWWARNING=true/g" /etc/tmpreaper.conf  sed -i -e "s/^SHOWWARNING/#SHOWWARNING=true/g" /etc/tmpreaper.conf
Ligne 145: Ligne 193:
cat > /tmp/sogo-bdd.sql << __EOF__ cat > /root/sogo-bdd.sql << __EOF__
Ligne 149: Ligne 197:
GRANT select ON sogo.* TO 'sogo'@'sogo.%.auf.org' IDENTIFIED BY 'xxxxxxxxxxxxxxx'; # autoriser les autres SOGo à se connecter sur notre sogo

# mettre un enregistrement reverse dans son dns pour son sogo.xx.auf.org
Ligne 172: Ligne 223:
mysql < /tmp/sogo-bdd.sql mysql < /root/sogo-bdd.sql
Ligne 176: Ligne 227:
/etc/init.d/sogo restart

cat > /tmp/config_sogo.sh << __EOF__
service sogod start ; sleep 10 ; service sogod stop

cat > /root/config_sogo.sh << __EOF__
Ligne 189: Ligne 240:
defaults -u sogo write sogod SOGoIMAPServer imap.xx.auf.org defaults -u sogo write sogod SOGoIMAPServer imaps://imap.xx.auf.org:993
# pour un serveur en imap
#
defaults -u sogo write sogod SOGoIMAPServer imap.xx.auf.org
Ligne 203: Ligne 256:
    {        {
Ligne 209: Ligne 262:
        userPasswordAlgorithm = md5;         userPasswordAlgorithm = crypt;
Ligne 212: Ligne 265:
        authenticationFilter = "(mail_pays like '\''%@xx.auf.org'\'' or mail_pays like '\''%@yy.auf.org'\'')";         authenticationFilter = "source='\''LOCAL'\''";
Ligne 222: Ligne 275:
# - l'ensemble des pays couverts par ce sogo, au besoin ajouter des " or mail_pays like '\''%@zz.auf.org'\''"
Ligne 225: Ligne 277:

sh /tmp/config_sogo.sh

/etc/init.d/sogo restart
service sogo stop

sh /root/config_sogo.sh

# corriger l'ordre de démarrage pour que SOGo soit lancé après mysql et non avant
if ! grep -q 'Required-Start:.* mysql' /etc/init.d/sogo ; then
  sed -i -e '/^# Required-Start:/s/$/ mysql/' /etc/init.d/sogo
fi

insserv sogo

service sogo start
Ligne 230: Ligne 290:
 
 * lancer la synchro des comptes pour remplir la table `auf_users`

 * lancer la synchro des comptes pour remplir la table `auf_users` `python /usr/local/sbin/synchro-auf-refer-sogo-users.py`
Ligne 235: Ligne 295:
  * accepter le certificat    * accepter le certificat
Ligne 238: Ligne 298:
 * synchronisation inter-implantation ==== synchronisation inter-implantation ====
Ligne 242: Ligne 302:
 * gestion des extensions SOGo (extensions pour le client Thunderbird + script de mise à jour) ==== personnalisation de la page d'accueil ====
## [[attachment:SOGoRootPage.wox|fichier template]] et [[attachment:SOGoRootPage.css|fichier css]]
  {{{
  # télécharger ces deux fichiers
wget --user-agent="Client-sogo-config" -O /home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=SOGoRootPage.wox"
wget --user-agent="Client-sogo-config" -O /home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.css "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=SOGoRootPage.css"
  # remplacer "Amériques et Caraïbes" par votre région dans le fichier SOGoRootPage.wox

  # télécharger les logos
wget --user-agent="Client-sogo-config" -O /usr/lib/GNUstep/SOGo/WebServerResources/logo_auf.png "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=logo_auf.png"
wget --user-agent="Client-sogo-config" -O /usr/lib/GNUstep/SOGo/WebServerResources/sogo-logo-petit.png "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=sogo-logo-petit.png"
  }}}

==== création de comptes génériques pour les agendas publics ====

==== gestion des extensions SOGo ====
 (extensions pour le client Thunderbird + script de mise à jour)
Ligne 301: Ligne 378:
 * 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 Iphone : cf [[http://wiki.auf.org/wikiteki/Projet/SOGo/ProcédureInstallationSOGo#CARDDAV_pour_les_Iphones|Procédure de configuration du CARDDAV pour les Iphones]]
==== 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]]

==== pour ceux qui ont des clients Iphone ====
cf [[http://wiki.auf.org/wikiteki/Projet/SOGo/ProcédureInstallationSOGo#CARDDAV_pour_les_Iphones|Procédure de configuration du CARDDAV pour les Iphones]]
Ligne 316: Ligne 395:
  * 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.
 * par défaut SOGo crée un agenda et un carnet d'adresses personnels pour chaque utilisateur. Renommer cet agenda et ce carnet en prenom.nom (clique droit-propriétés sur l'objet).
 * '''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.
Ligne 324: Ligne 403:
== Téléphones intelligents == == Configuration des téléphones intelligents ==
Ligne 328: Ligne 407:
   __NB__
     {{{
iOS entre 4.1 et 4.3
pas de 3.x pas de 5.x non gèré
4.x est nécessaire pour CalDAV, CardDAV, GroupDAV
5.x marche pas
     }}}

Procédure de déploiement du système SOGo

Côté serveur

Les prérequis

Serveurs

  • 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
  • un serveur imap
  • un serveur smtp

Synchronisation des comptes utilisateurs (prenom.nom@auf.org + mot de passe associé)

NB : avant tout, contactez MoussaNombre et/ou ProgFou pour les accès à la base de données centrale (vous devriez leur donner l'adresse IP du serveur qui roulera la synchro : une IP de votre RPV)

  •   # récupérer le script
    wget -O /usr/local/sbin/synchro-auf-refer-sogo-users.py "http://git.auf.org/?p=codes-mnombre.git;a=blob_plain;f=synchro-auf-refer-sogo-users.py;hb=8872fb6011ebc691cc41bad449e5db3bc2009151"
      # adapter le script : codes d'accès à votre base de données SOGo, la liste des pays de votre Bureau
    
      # ajouter à ses sources :
    echo "deb http://apt.auf.org/ lenny auf" >> /etc/apt/sources.list
      # gardez bien le "lenny" même sous squeeze car le paquet n'est pas encore publié dans Squeeze).
    
      # Ensuite, installer auf_refer
    aptitude update
    aptitude install auf-refer
    
     # pour avoir toutes les données (notamment les mots de passe),il faut avoir fourni son IP à MoussaNombre ou Progfou
     # s'abonner à la source de données d'authentification
    sudo auf-refer -a annuaire.json
     # vérifier que l'on a bien des champs 'mdp' et 'login' bien remplis
    sudo auf-refer -c annuaire.json
     # pour forcer une mise à jour de la copie locale (sinon c'est fait à 7h et 13h chaque jour)
    sudo auf-refer -u annuaire.json
    
     # vu que la base de données sogo ne sera créée que plus tard, on ne peut pas tester pour le moment. cf plus bas pour la suite
    
     # créer une tâche planifié
    cat > /etc/cron.d/synchro-auf-refer-sogo-users << __EOF__
    MAILTO=root+sogo@xx.auf.org
    
    0 * * * * root python /usr/local/sbin/synchro-auf-refer-sogo-users.py
    __EOF__

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 :
  • exemple de partitionnement recommandé :
    • 1 Go pour / (obligatoire)
    • 1 Go pour /var (optionnel)
    • 1 Go pour /var/log (recommandé)
    • 1 Go pour /var/lib/mysql (obligatoire)
    • 3 Go pour /opt (dans le cas d'une installation de Funambol)
  • une idée des haricots (beancounters) sur le SOGo de Montréal : Projet/SOGo/BeanCounterServeurDeMontreal

mise en place d'Apache

dans un objectif SSL et PHP5 (installe le mpm-prefork au lieu du mpm-worker par défaut)

  • # installer apache2 + config Unicode + SSL + activation modules
    aptitude install apache2 libapache2-mod-php5
    
    sed -i '/^#AddDefaultCharset/c AddDefaultCharset UTF-8' /etc/apache2/conf.d/charset
    a2enmod mime
    
    # 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}/sogo.xx.auf.org-error.log
            CustomLog \${APACHE_LOG_DIR}/sogo.xx.auf.org-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-ssl-error.log
            CustomLog \${APACHE_LOG_DIR}/sogo.xx.auf.org-ssl-access.log combined
    
            SSLEngine on
            SSLCertificateFile    /etc/ssl/certs/sogo.xx.auf.org-cert.pem
            SSLCertificateKeyFile /etc/ssl/private/sogo.xx.auf.org-key.pem
            SSLCACertificateFile  /etc/ssl/certs/AC-AUF-RACINE+BA.pem       # changer la région
            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     A VERIFIER
    a2enmod headers
    a2enmod rewrite
    a2enmod proxy_http
  • création du certificat dans la PKI AUF :

mise en place de mysql

  • # installer MySQL + config Unicode
    aptitude install mysql-server
    
    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__
    chmod 0600 /root/.my.cnf
    
    cat > /etc/mysql/conf.d/local.cnf << __EOF__
    [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
    general_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 --without-recommends sogo memcached
    
    # corriger memcached pour sogo
    sed -i -e "s/127.0.0.1/localhost/" /etc/memcached.conf
    
    service memcached restart
    
    # 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 > /root/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';
    GRANT select ON sogo.* TO 'sogo'@'sogo.%.auf.org'  IDENTIFIED BY 'xxxxxxxxxxxxxxx';                # autoriser les autres SOGo à se connecter sur notre sogo
    
    # mettre un enregistrement reverse dans son dns pour son sogo.xx.auf.org
    
    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 < /root/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
    service sogod start ; sleep 10 ; service sogod stop
    
    cat > /root/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 imaps://imap.xx.auf.org:993
    # pour un serveur en imap
    # 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 = crypt;
            viewURL = "mysql://sogo:xxxxxxxxxxxxxxx@sogo.ca.auf.org:3306/sogo/auf_users";
            IMAPLoginFieldName = mail_pays;
            authenticationFilter = "source='\''LOCAL'\''";
        }
    )'
    __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
    #  - le mot de passe mysql de sogo est celui définit lors de la configuration de la base de données sogo, plus haut
    
    service sogo stop
    
    sh /root/config_sogo.sh
    
    # corriger l'ordre de démarrage pour que SOGo soit lancé après mysql et non avant
    if ! grep -q 'Required-Start:.* mysql' /etc/init.d/sogo ; then
      sed -i -e '/^# Required-Start:/s/$/ mysql/' /etc/init.d/sogo
    fi
    
    insserv sogo
    
    service sogo start
  • lancer la synchro des comptes pour remplir la table auf_users python /usr/local/sbin/synchro-auf-refer-sogo-users.py

  • 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

personnalisation de la page d'accueil

  •   # télécharger ces deux fichiers
    wget --user-agent="Client-sogo-config" -O /home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=SOGoRootPage.wox"
    wget --user-agent="Client-sogo-config" -O /home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.css "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=SOGoRootPage.css"
      # remplacer "Amériques et Caraïbes" par votre région dans le fichier SOGoRootPage.wox
    
      # télécharger les logos
    wget --user-agent="Client-sogo-config" -O /usr/lib/GNUstep/SOGo/WebServerResources/logo_auf.png "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=logo_auf.png"
    wget --user-agent="Client-sogo-config" -O /usr/lib/GNUstep/SOGo/WebServerResources/sogo-logo-petit.png "http://wiki.auf.org/wikiteki/Projet/SOGo/Proc%C3%A9dureD%C3%A9ploiement?action=AttachFile&do=get&target=sogo-logo-petit.png"

création de comptes génériques pour les agendas publics

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%&amp;version=%ITEM_VERSION%&amp;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 et un carnet d'adresses personnels pour chaque utilisateur. Renommer cet agenda et ce carnet en prenom.nom (clique droit-propriétés sur l'objet).
  • 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)

Configuration des 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)

      NB

      • iOS entre 4.1 et 4.3
        pas de 3.x pas de 5.x non gèré
        4.x est nécessaire pour CalDAV, CardDAV, GroupDAV
        5.x marche pas
  • BLACKBERRY : passer par le client FUNAMBOL pour BB

  • ANDROID : passer par le client FUNAMBOL pour Androïd


Projet/SOGo/ProcédureDéploiement (dernière édition le 2015-03-24 09:21:17 par WillyManga)