Deployment Example: Sun Java System Communications Services for Access Anywhere (EdgeMail)

ProcedureTo Configure Messaging Server

Steps
  1. Set up hostnames


    phys-bedgeN-1# configutil -o local.hostname -v "bedge1-mail1.us.example.com"
    phys-bedgeN-1# configutil -o local.webmail.da.host -v bedge1-mail1.us.example.com
    phys-bedgeN-1# configutil -o local.servername -v bedge1-mail1.us.example.com
  2. Set up LDAP (using the following guidelines)


    phys-bedgeN-1# configutil -o local.ldapuselocal -v yes
    phys-bedgeN-1# configutil -o local.ugldaphost -v "stringBelow"
    phys-bedgeN-1# configutil -o local.ldaphost -v "stringBelow"
    phys-bedgeN-1# configutil -o local.service.pab.ldaphost -v "localMMR"

    Substitution string:


    cluster 1: ds-amer-03.us.example.com ds-amer-02.us.example.com
    cluster 2: ds-amer-02.us.example.com ds-amer-03.us.example.com
    cluster 3: ds-amer-03.us.example.com ds-amer-02.us.example.com
    cluster 4: ds-amer-02.us.example.com ds-amer-03.us.example.com
  3. Change administrative account names to msg-admin-bedgeN-mail1

    Need to also change account name in the LDAP directory and verify that it is in the correct group.


    phys-bedgeN-1# configutil -o local.enduseradmindn \
        -v "uid=msg-admin-bedge1-mail1,ou=People,dc=example,dc=com"
    phys-bedgeN-1# configutil -o local.service.pab.ldapbinddn \
        -v "uid=msg-admin-bedge1-mail1,ou=People,dc=example,dc=com"
    phys-bedgeN-1# configutil -o local.ugldapbinddn \
        -v "uid=msg-admin-bedge1-mail1,ou=People,dc=example,dc=com"
  4. Disable POP


    phys-bedgeN-1# configutil -o service.pop.enable -v 0
    phys-bedgeN-1# configutil -o service.pop.enablesslport -v 0
  5. Enable Distributed IMAP Folder Sharing

    First server listed in local.service.proxy.serverlist should be the one being installed/configured.


    phys-bedgeN-1# configutil -o local.service.proxy.admin -v admin
    phys-bedgeN-1# configutil -o local.service.proxy.adminpass -v adminPassword
    phys-bedgeN-1# configutil -o local.service.proxy.serverlist -v \
        "nedge1-mail1.sfbay.example.com, \
         nedge2-mail1.sfbay.example.com, \
         nedge3-mail1.sfbay.example.com, \
         bedge1-mail1.us.example.com, \
         bedge2-mail1.us.example.com, \
         bedge3-mail1.us.example.com \
         sedge1-mail1.singapore.example.com, \
         sedge2-mail1.singapore.example.com"
  6. Set up logdir


    phys-bedgeN-1# configutil -o logfile.imap.logdir -v /shared/bedge1/msg/var/log/imap
    phys-bedgeN-1# configutil -o logfile.http.logdir -v /shared/bedge1/msg/var/log/http
    phys-bedgeN-1# configutil -o logfile.imta.logdir -v /shared/bedge1/msg/var/log/imta
  7. Verify local.autorestart is true:


    phys-bedgeN-1# configutil -o local.autorestart 
  8. Configure stores (repeat for each store partition)


    phys-bedgeN-1# configutil -o store.partition.store001.path \
        -v "/shared/bedge1/msg/partition/store001"
  9. Set up log locations:


    phys-bedgeN-1# mkdir -p /shared/bedge1/msg/var/log
    phys-bedgeN-1# chown mailsrv:mailsrv /shared/bedge1/msg/var/log
    phys-bedgeN-1# cd /shared/bedge1/msg/var/log
    phys-bedgeN-1# mkdir imap http imta default
    phys-bedgeN-1# chown mailsrv:mailsrv imap http imta default
    phys-bedgeN-1# chmod 755 imap http imta default
    phys-bedgeN-1# cd /opt/SUNWmsgsr/data;  mv log log.orig; ln -s /shared/bedge1/msg/var/log
  10. Edit imta_tailor to place MTA logs into the imta subdir


    phys-bedgeN-1# cd /opt/SUNWmsgsr/config
    phys-bedgeN-1# cp imta_tailor imta_tailor.orig
    phys-bedgeN-1# sed s/"\/log\/"/"\/log\/imta\/"/ imta_tailor.orig > imta_tailor
    phys-bedgeN-1# diff imta_tailor.orig imta_tailor
  11. Other settings including tuning, queue, db snapshots...


    phys-bedgeN-1# cd /shared/bedge1/msg/db
    phys-bedgeN-1# mkdir mboxlist
    phys-bedgeN-1# chown -R mailsrv:mailsrv *
    phys-bedgeN-1# cd /shared/bedge1/msg/imta
    phys-bedgeN-1# mkdir -p queue
    phys-bedgeN-1# chown -R mailsrv:mailsrv *
    phys-bedgeN-1# chmod -R 755 *
    phys-bedgeN-1# cd /opt/SUNWmsgsr/data

    phys-bedgeN-1# rm -r queue db 
    phys-bedgeN-1# ln -s /shared/bedge1/msg/imta/queue queue
    phys-bedgeN-1# ln -s /shared/bedge1/msg/db db
    phys-bedgeN-1# cd /opt/SUNWmsgsr/data/store
    phys-bedgeN-1# ln -s /shared/bedge1/msg/db/mboxlist mboxlist
    phys-bedgeN-1# cd /opt/SUNWmsgsr/data/store/dbdata
    phys-bedgeN-1# mkdir -p /shared/bedge1/msg/dbbackup/snapshots
    phys-bedgeN-1# chown mailsrv:mailsrv /shared/bedge1/msg/dbbackup/snapshots
    phys-bedgeN-1# chmod 755 /shared/bedge1/msg/dbbackup/snapshots
    phys-bedgeN-1# ln -s /shared/bedge1/msg/dbbackup/snapshots snapshots

    phys-bedgeN-1# configutil -o local.store.snapshotdirs -v 12
    phys-bedgeN-1# configutil -o local.store.snapshotinterval -v 720
  12. Verify start of services and proper logging


    phys-bedgeN-1# /opt/SUNWmsgsr/sbin/stop-msg
    phys-bedgeN-1# /opt/SUNWmsgsr/sbin/start-msg
  13. Set up messaging resource and enable:


    phys-bedgeN-1# scrgadm -a -j msg1-svc-rs -g msg1-svc-rg -t SUNW.ims \
        -x IMS_serverroot=/opt/SUNWmsgsr \
        -y Resource_dependencies=msg1-addr-rs,msg1-storplus1-rs,msg1-storplus2-rs,msg1-storplus3-rs
    phys-bedgeN-1# /usr/cluster/bin/scswitch -e -j msg1-svc-rs