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]


Reply via email to