Difference between revisions of "HowTos/AddingAScalixServer"
(→Add the routes between the servers) |
(→Create the dirsync agreements) |
||
Line 89: | Line 89: | ||
On both machines add the following to '''/var/opt/scalix/sys/general.cfg''': | On both machines add the following to '''/var/opt/scalix/sys/general.cfg''': | ||
+ | Note that in Scalix 11 this path was changed to: /var/opt/scalix/XX/s/sys/general.cfg where XX is the mailnode's first and last initials. | ||
DS_CUST_SEND_REQ_NOW=TRUE | DS_CUST_SEND_REQ_NOW=TRUE |
Revision as of 15:10, 25 April 2008
Scalix Wiki -> How-Tos -> Adding A Scalix Server
This will only work if you have a license with Multi-Server capabilities
If you are adding another Scalix server to your environment, you need to ensure that you have several things in place:
- You can route between both machines.
- Your SYSTEM directory is synced using dirsync.
- You understand how you want to route internet-bound mail.
Say you have serverA.domain.com and serverB.domain.com:
Contents
Add the routes between the servers
On ServerA
omaddrt -m mailnodeB -q SMINTFC -i scalix@serverB.domain.com
On ServerB
omaddrt -m mailnodeA -q SMINTFC -i scalix@serverA.domain.com
On both machines
omoff -w -d 0 router ; omon router
This sets up the Scalix-to-Scalix transport gateway for sending messages between Scalix servers.
If you are using CNAME DNS records as your hostname, i.e. serverA.domain.com is really called something else, you will need to make some changes to sendmail and the Scalix SMTP relay configuration before this will work successfully. This is because one of the first thing that sendmail does is to rewrite outbound addresses to be the A DNS record rather than any CNAME.
Edit /var/opt/scalix/sys/smtpd.cfg and set the following:
- Note that in Scalix 11 this path was changed to: /var/opt/scalix/XX/s/sys/smtpd.cfg where XX is the mailnode's first and last initials.
DOMAIN_NAME=real.host.name LOCAL_NAMES=cname1.domain.com,cname2.domain.com
where DOMAIN_NAME is the A record name and LOCAL_NAMES is a comma-separated list of CNAME record names for the server.
You will need to stop and restart the SMTP Relay for this to take effect:
omoff -w -d0 smtpd; omon smtpd
If you are using a smart host configuration (see Configuring outbound internet messages below), you should also configure sendmail to send directly to the other Scalix servers rather than going through the smart host. This is done by using the mailertable feature of sendmail.
In /etc/mail, edit the file mailertable and add the following line:
real.host.name<TAB>esmtp:[real.host.name]
where <TAB> is a tab character.
This tells sendmail that if any message is sent to @real.host.name, it should use the esmtp mailer to send it to real.host.name. The [] characters surrounding the host name tell sendmail NOT to use DNS to determine MX records.
You will need to run the command:
make
in /etc/mail for the mailertable lookup to be rebuilt and you should also restart the sendmail service.
IMPORTANT: You *must* run the command:
omsendin
to ensure that the Scalix rules are added back into the sendmail.cf file.
Create the dirsync agreements
For this to work, you need an import agreement on one side and an export agreement on the other.
On ServerA
omaddds -i -m +DIRSYNC/mailnodeB -t "010101 00:00"
On ServerB
omaddds -e -m +DIRSYNC/mailnodeA
This sets up the import agreement on serverA and an export agreement on serverB. The -t option specifies when this agreement should come into effect. The format is yymmdd hh:mm.
To do this the other way around:
On ServerA
omaddds -e -m +DIRSYNC/mailnodeB
On ServerB
omaddds -i -m +DIRSYNC/mailnodeA -t "010101 00:00"
On both machines add the following to /var/opt/scalix/sys/general.cfg: Note that in Scalix 11 this path was changed to: /var/opt/scalix/XX/s/sys/general.cfg where XX is the mailnode's first and last initials.
DS_CUST_SEND_REQ_NOW=TRUE DS_CUST_MSGQ_TIMEOUT=2
This tells dirsync that it needs to make the update requests as soon as the service is started rather than waiting for a timeout. You will need to restart the dirsync service but you should also enable auditing so that you can see the messages being transferred between machines:
omconfaud dirsync 15 omoff -w -d 0 dirsync; omon dirsync
You can then review the messages in /var/opt/scalix/logs/audit to check that the mail is flowing correctly.
Configuring outbound internet messages
If you want to use serverA as a bridgehead to the internet, you will need to configure Scalix on serverB to be able to route all internet mail to serverA.
omoff -d 0 router omdelrt -m internet omdelrt -m internet,tnef omaddrt -m internet -q SMINTFC -i scalix@serverA.domain.com omaddrt -m internet,* -q SMINTFC -i scalix@serverA.domain.com omon router
You need both the omaddrt commands because you have the standard MIME route and also the TNEF route.
If you don't want outbound mail to go through another Scalix server, you can leave your sendmail.cf configuration as it is. If you have another edge (non-Scalix) server responsible for outbound routing, you should edit sendmail.cf as follows:
Replace:
DS
with
DSother.host.name
and restart the sendmail service. This will route all non-local mail through to the named server.
If you are using sendmail.mc for your configuration, you should ensure that you replace:
dnl define(`SMART_HOST',`smtp.your.provider')
with
define(`SMART_HOST',`other.host.name')
and run the command:
make
in the /etc/mail directory. Again, you need to restart the sendmail service.
IMPORTANT: If you make any changes to the sendmail.mc file and run 'make', you *must* run the command:
omsendin
to ensure that the Scalix rules are added back into the sendmail.cf file.
Configuring the server to be managed by the Scalix Admin Console
When installing the Scalix software, you only need to install the Scalix Admin Console on one server but the Remote Execution Service needs to be installed on all other machines.
Use the scalix-installer binary to install the appropriate RPM and you will be prompted for the name of the Admin Server and the name and port of the server you are installing the Remote Execution Service on.