Hi guys,
Warning : Badly formatted notes - will make it more readable in a later
version, from a clean install. Here goes:
# This presumes that SOGo is installed on separate server on a private
LAN. In my example the IP of the SOGo Server is 192.168.2.242 and
QmailToaster is 192.168.2.252
# replace all instances of example.com with the actual domain name.
#OS of SOGo Machine - CentOS 5.5
# On the QmailToaster machine
# edit /etc/tcprules.d/tcp.smtp
vi /etc/tcprules.d/tcp.smtp
# add the following line (change IP as appropriate)
192.168.2.242:allow,RELAYCLIENT="",DKSIGN="/var/qmail/control/domainkeys/%/private",RBLSMTPD="",NOP0FCHECK="1"
# Recompile the rules -
qmailctl cdb
#MySQL stuff - PLEASE BE CAREFUL IF YOU ARE USING YOUR PRODUCTION
vpopmail DATABASE. SOGo will need write permissions on the database in
my example.
# create a user sogo who has rights on the vpopmail database. If you are
not using SOGo and QMT on the same machine, please provide an IP : eg :
[email protected] in my case.
# reload privileges
# create a view from your vpopmail domain table (eg example_com), with
the following command (modify table name as appropriate)
# SOGo needs the following field names for using mysql auth/addressbook
# c_uid,c_name,c_password,c_cn,mail
# again - please replace example.com/example_com with the actual domain
name/table name
CREATE VIEW sogo AS SELECT concat( pw_name, '@example.com' ) AS c_uid,
pw_name AS c_name, pw_passwd AS c_password, pw_name AS c_cn, concat(
pw_name, '@example.com' ) AS mail FROM example_com
#That's all on the QMT server
# As root on the SOGo Machine
mkdir sogorpm
cd sogorpm/
wget
http://www.sogo.nu/files/downloads/SOGo/RHEL5/nightly/i386/RPMS/all-rpms.tar
tar -xvf all-rpms.tar
# libxml2-devel is needed by SOGo
yum install libxml2-devel
#Quick and dirty method - for dependencies
rpm -Uvh *.rpm
# You may get some complaints on dependencies, so then you can install
the RPMs in this order
rpm -Uvh sope*.rpm
rpm -Uvh gnus*.rpm
rpm -Uvh libm*.rpm
rpm -Uvh sogo*.rpm
rpm -Uvh *.rpm
# A user called sogo should have been created, else useradd sogo
su - sogo
# In case you don't have the following directory - mkdir -p GNUStep/Defaults
cd GNUStep/Defaults
#in case you have a .GNUstepDefaults file present, please copy
that/rename it to something to restore from if things go bad - which
they probably will.
vi .GNUstepDefaults
#Copy the following contents to the file
# again please go through and change the following - sogo
username/password for mysql, domain name, IP address and database names,
Time Zone
# my QMT server uses courier, so you may have to change the folder names
in case you are using dovecot - not sure - just a warning
# you can use local databases for sogo_folder_info, sogo_sessions_folder
and sogo_user_profile. I was in a hurry, so just used the vpopmail database
#Begin .GNUstepDefaults
{
NSGlobalDomain = {
};
"sogod" = {
OCSFolderInfoURL =
"mysql://sogo:[email protected]:3306/vpopmail/sogo_folder_info";
OCSSessionsFolderURL =
"mysql://sogo:[email protected]:3306/vpopmail/sogo_sessions_folder";
SOGoProfileURL =
"mysql://sogo:[email protected]:3306/vpopmail/sogo_user_profile";
SOGoAppointmentSendEMailNotifications = YES;
SOGoAuthenticationMethod = SQL;
SOGoCalendarDefaultRoles = (
PublicViewer,
ConfidentialDAndTViewer
);
SOGoMailDomain = example.com;
SOGoMailingMechanism = smtp;
SOGoSMTPServer = 192.168.2.252;
SOGoDraftsFolderName = INBOX/Drafts;
SOGoSentFolderName = INBOX/Sent;
SOGoTrashFolderName = INBOX/Trash;
SOGoSharedFolderName = "Shared Folders";
SOGoOtherUsersFolderName = "Other Users";
SOGoSpecialFoldersInRoot = YES;
SOGoIMAPServer = "imaps://192.168.2.252:993";
SOGoForceIMAPLoginWithEmail = YES;
SOGoUserSources =
(
{
type = sql;
id = accounts;
viewURL =
"http://sogo:[email protected]:3306/vpopmail/sogo";
canAuthenticate = YES;
isAddressBook = YES;
userPasswordAlgorithm = crypt;
displayName = "Employees";
}
);
SOGoLanguage = English;
SOGoTimeZone = Asia/Calcutta;
};
}
# end GNUstepDefaults
# Exit back to root
exit
# Create the sogo apache configuration file / backup the old one if it
exists
# /etc/httpd/conf.d/SOGo.conf
vi /etc/httpd/conf.d/SOGo.conf
#contents of SOGo.conf follows - paste from the starting with Alias and
ending with RewriteRule ^/SOGo/(.*)$ /SOGo/$1
[env=REMOTE_HOST:%{REMOTE_ADDR},PT]
#Change the following lines to your actual domain name
# RequestHeader set "x-webobjects-server-name" "example.com"
# RequestHeader set "x-webobjects-server-url" "http://example.com"
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
<LocationMatch
"^/SOGo/so/ControlPanel/Products/.*UI/Resources/.*\.(jpg|png|gif|css|js)">
SetHandler default-handler
</LocationMatch>
## Uncomment the following to enable proxy-side authentication, you will
then
## need to set the "SOGoTrustProxyAuthentication" SOGo user default to
YES and
## adjust the "x-webobjects-remote-user" proxy header in the "Proxy" section
## below.
#<Location /SOGo>
# AuthType XXX
# Require valid-user
# SetEnv proxy-nokeepalive 1
# Allow from all
#</Location>
ProxyRequests Off
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On
# When using CAS, you should uncomment this and install
cas-proxy-validate.py
# in /usr/lib/cgi-bin to reduce server overloading
#
# ProxyPass /SOGo/casProxy http://localhost/cgi-bin/cas-proxy-validate.py
# <Proxy http://localhost/app/cas-proxy-validate.py>
# Order deny,allow
# Allow from your-cas-host-addr
# </Proxy>
ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0
<Proxy http://127.0.0.1:20000/SOGo>
## adjust the following to your configuration
RequestHeader set "x-webobjects-server-port" "80"
RequestHeader set "x-webobjects-server-name" "example.com"
RequestHeader set "x-webobjects-server-url" "http://example.com"
## When using proxy-side autentication, you need to uncomment and
## adjust the following line:
# RequestHeader set "x-webobjects-remote-user" "%{REMOTE_USER}e"
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>
## We use mod_rewrite to pass remote address to the SOGo proxy.
# The remote address will appear in SOGo's log files and in the X-Forward
# header of emails.
RewriteEngine On
RewriteRule ^/SOGo/(.*)$ /SOGo/$1 [env=REMOTE_HOST:%{REMOTE_ADDR},PT]
#End of SOGo.conf
# save the config file
# restart apache
service httpd restart
#start memcached as sogo user
# currently manual start, but will write an init script for this later
memcached -u sogo -d
#start sogo server
service sogod start
#In your browser, point to http://sogomachineip/SOGo/
#Keep fingers crossed
# End Notes
This is what worked for me. I'm sure there is a simpler way, but at
least it's working. Sorry for the terrible notes, reconstructed from
.bash_history and failing memory :)
Bharath
---------------------------------------------------------------------------------
Qmailtoaster is sponsored by Vickers Consulting Group
(www.vickersconsulting.com)
Vickers Consulting Group offers Qmailtoaster support and installations.
If you need professional help with your setup, contact them today!
---------------------------------------------------------------------------------
Please visit qmailtoaster.com for the latest news, updates, and packages.
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]