Depuis le 19 Juillet 2016, l'accès aux paquets SOGo est devenu payant : https://sogo.nu/news/2016/article/sogo-package-repositories.html
Sur cette page, on décrit comment mettre en place SOGo sur une CentOS 7.2 rapidement depuis les sources.
On note que Inverse propose une documentation concise de l'installation de SOGo depuis les sources.
Cette documentation est une documentation interne à l'Université de Rouen que l'on rend publique simplement ; elle se présente sous forme de notes, d'exemples de fichiers de configuration, de scripts ...
On installe ici un SOGo v3 vec authentification CAS, base de données PostgreSQL, annuaire LDAP (supann), ...
Installation des paquets nécessaires
yum install gcc-objc gnustep-base gnustep-make gnustep-base-devel libxml2-devel openssl-devel openldap-devel postgresql-devel libmemcached-devel libcurl-devel
Installation de SOPE
cd /usr/local/src git clone https://github.com/inverse-inc/sope.git cd sope git checkout -b SOPE-3.2.1 SOPE-3.2.1 ./configure --with-gnustep --enable-debug --disable-strip make make install
Installation de SOGO
cd /usr/local/src git clone https://github.com/inverse-inc/sogo.git cd sogo git checkout -b SOGo-3.2.1 SOGo-3.2.1 ./configure --enable-debug --disable-strip make
Paramétrage système
Création de l'utilisateur sogo :
adduser sogo
Création des répertoires et affectation des droits :
mkdir -p /var/local/spool/sogo && chown -R sogo:sogo /var/local/spool/sogo mkdir /etc/sogo && chown -R sogo:sogo /etc/sogo mkdir -p /var/local/run/sogo && chown -R sogo:sogo /var/local/run/sogo mkdir /var/log/sogo/ && chown -R sogo:sogo /var/log/sogo/
Fichier systemd :
[Unit]
Description=SOGo is a groupware server
After=network.target
After=postgresql.service
[Service]
Environment="PREFORK=8"
EnvironmentFile=-/etc/sysconfig/sogo
Type=forking
ExecStart=/usr/local/sbin/sogod -WOWorkersCount ${PREFORK} -WOPidFile /var/local/run/sogo/sogo.pid -WOLogFile /var/log/sogo/sogo.log
PIDFile=/var/local/run/sogo/sogo.pid
User=sogo
[Install]
WantedBy=multi-user.target
Fichier d'environnement sysconfig
# The amount of processes that should be spawned (Default: 3) PREFORK=8 # The name of the account under which SOGo will be running (Default: sogo) # USER=sogo LD_LIBRARY_PATH=/usr/local/lib64/sogo:$LD_LIBRARY_PATH
Fichier de configuration sogo
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//GNUstep//DTD plist 0.9//EN" "http://www.gnustep.org/plist-0_9.xml"> <plist version="0.9"> <dict> <key>NGImap4ConnectionStringSeparator</key> <string>/</string> <key>NGImap4DisableIMAP4Pooling</key> <string>YES</string> <key>OCSEMailAlarmsFolderURL</key> <string>postgresql://sogo:password@127.0.0.1:5432/sogo/sogo_alarms_folder</string> <key>OCSFolderInfoURL</key> <string>postgresql://sogo:password@127.0.0.1:5432/sogo/sogo_folder_info</string> <key>OCSSessionsFolderURL</key> <string>postgresql://sogo:password@127.0.0.1:5432/sogo/sogo_sessions_folder</string> <key>SOGoACLsSendEMailNotifications</key> <string>YES</string> <key>SOGoAppointmentSendEMailNotifications</key> <string>YES</string> <key>SOGoAuthenticationType</key> <string>CAS</string> <key>SOGoCASLogoutEnabled</key> <string>YES</string> <key>SOGoCASServiceURL</key> <string>https://cas.univ-rouen.fr</string> <key>SOGoDAVAuthenticationType</key> <string>CAS</string> <key>SOGoDraftsFolderName</key> <string>Drafts</string> <key>SOGoEnableEMailAlarms</key> <string>YES</string> <key>SOGoFirstDayOfWeek</key> <string>1</string> <key>SOGoFirstWeekOfYear</key> <string>First4DayWeek</string> <key>SOGoFoldersSendEMailNotifications</key> <string>NO</string> <key>SOGoForwardEnabled</key> <string>YES</string> <key>SOGoHideSystemEMail</key> <string>YES</string> <key>SOGoIMAPServer</key> <string>imap://imap.univ-rouen.fr</string> <key>SOGoLanguage</key> <string>French</string> <key>SOGoMailAuxiliaryUserAccountsEnabled</key> <string>YES</string> <key>SOGoMailDomain</key> <string>univ-rouen.fr</string> <key>SOGoMailMessageCheck</key> <string>every_10_minutes</string> <key>SOGoMailMessageForwarding</key> <string>attached</string> <key>SOGoMailShowSubscribedFoldersOnly</key> <string>NO</string> <key>SOGoMailingMechanism</key> <string>smtp</string> <key>SOGoMemcachedHost</key> <string>127.0.0.1</string> <key>SOGoProfileURL</key> <string>postgresql://sogo:password@127.0.0.1:5432/sogo/sogo_user_profile</string> <key>SOGoSMTPServer</key> <string>smtp.univ-rouen.fr</string> <key>SOGoSentFolderName</key> <string>Sent</string> <key>SOGoSieveScriptsEnabled</key> <string>YES</string> <key>SOGoSieveServer</key> <string>sieve://sieve.univ-rouen.fr:2000</string> <key>SOGoMailSpoolPath</key> <string>/var/local/spool/sogo</string> <key>SOGoSuperUsernames</key> <array> <string>adminlogin</string> <string>admi2login</string> </array> <key>SOGoTimeZone</key> <string>Europe/Paris</string> <key>SOGoTrashFolderName</key> <string>Trash</string> <key>SOGoUserSources</key> <array> <dict> <key>CNFieldName</key> <string>displayName</string> <key>IDFieldName</key> <string>uid</string> <key>UIDFieldName</key> <string>uid</string> <key>baseDN</key> <string>ou=people,dc=univ-rouen,dc=fr</string> <key>bindDN</key> <string>cn=sogo,dc=univ-rouen,dc=fr</string> <key>bindFields</key> <array> <string>uid</string> </array> <key>bindPassword</key> <string>sogoldappassword</string> <key>canAuthenticate</key> <string>yes</string> <key>displayName</key> <string>Adresses partagées</string> <key>hostname</key> <string>ldap.univ-rouen.fr ldap-spare.univ-rouen.fr</string> <key>id</key> <string>ldap.univ-rouen.fr</string> <key>isAddressBook</key> <string>yes</string> <key>type</key> <string>ldap</string> </dict> </array> <key>SOGoVacationEnabled</key> <string>YES</string> <key>WOMessageUseUTF8</key> <string>YES</string> <key>WOParsersUseUTF8</key> <string>YES</string> <key>WOPort</key> <string>20000</string> <key>WOWatchDogRequestTimeout</key> <string>1</string> </dict> </plist>