Vous regardez une version antérieure (v. /wiki/spaces/SOGO/pages/587366408/Installation+SOGo+v4+sur+CentOS+7.2) de cette page.
afficher les différences
afficher l'historique de la page
« Afficher la version précédente
Vous regardez la version actuelle de cette page. (v. 3)
afficher la version suivante »
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 :
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>
Fichier de configuration Apache
<VirtualHost *:80>
ServerName sogo-rwd.univ-rouen.fr
ServerAlias sogo-rwd soual soual.univ-rouen.fr
ServerAdmin ent-bugs@unr-runn.fr
ServerSignature Off
ErrorLog /var/log/httpd/sogo.univ-rouen.fr-error.log
LogLevel warn
CustomLog /var/log/httpd/sogo.univ-rouen.fr-access.log combined
RewriteEngine On
RewriteRule ^/(.*) https://sogo-rwd.univ-rouen.fr/$1 [L,R]
</VirtualHost>
<VirtualHost *:443>
ServerName sogo-rwd.univ-rouen.fr
ServerAlias sogo-rwd
ServerAdmin ent-bugs@unr-runn.fr
ServerSignature Off
ErrorLog /var/log/httpd/sogo.univ-rouen.fr-error.log
LogLevel warn
CustomLog /var/log/httpd/sogo.univ-rouen.fr-access.log combined
SSLEngine on
SSLCertificateKeyFile /etc/httpd/ssl/sogo-rwd.univ-rouen.fr.key
SSLCertificateFile /etc/httpd/ssl/cert-12345--.univ-rouen.fr.pem
SSLCertificateChainFile /etc/httpd/ssl/chain-12345--.univ-rouen.fr.pem
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
ErrorDocument 503 /webmail-503/503.html
RewriteEngine On
RewriteRule ^/$ /SOGo [L,R]
ExpiresActive On
#ExpiresByType text/css "access plus 3 hours"
#ExpiresByType text/javascript "access plus 3 hours"
ExpiresByType text/css "access plus 3 hours"
ExpiresByType text/javascript "access plus 3 hours"
ExpiresByType image/gif "access plus 1 day"
ExpiresByType image/png "access plus 1 day"
ExpiresByType image/jpg "access plus 1 day"
#CacheEnable mem /SOGo.woa/WebServerResources/
Alias /SOGo.woa/WebServerResources \
/usr/local/lib64/GNUstep/SOGo/WebServerResources
Alias /SOGo/WebServerResources \
/usr/local/lib64/GNUstep/SOGo/WebServerResources
AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) \
/usr/local/lib64/GNUstep/SOGo/$1.SOGo/Resources/$2
<Directory /usr/local/lib64/GNUstep/SOGo>
AllowOverride None
Require all granted
</Directory>
<LocationMatch "^/SOGo/so/ControlPanel/Products/.*UI/Resources/.*\.(jpg|png|gif|css|js)">
SetHandler default-handler
</LocationMatch>
ProxyRequests Off
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On
ProxyPass /SOGo/casProxy !
ScriptAlias /SOGo/casProxy /var/www/cgi-bin/cas-proxy-validate.py
<LocationMatch "^/SOGo/casProxy.*">
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from All
AddHandler cgi-script .py
</LocationMatch>
ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0
<Proxy http://127.0.0.1:20000/SOGo>
RequestHeader set "x-webobjects-server-port" "443"
RequestHeader set "x-webobjects-server-name" "sogo-rwd.univ-rouen.fr"
RequestHeader set "x-webobjects-server-url" "https://sogo-rwd.univ-rouen.fr"
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>
# header of emails.
RewriteRule ^/SOGo/(.*)$ /SOGo/$1 [env=REMOTE_HOST:%{REMOTE_ADDR},PT]
</VirtualHost>