Jump to: navigation, search
Alt text
About this image


Connect XF is comprised of different modules such as Mailing, SMS, Instant Message etc. Each of these modules uses one or more components. Components can be open source components such as the qmail server or can be components developed by Mithi. Some components are common to all the modules. These are the LDAP server, database server, firewall etc.

This document provides the overview of how an administrator can manage and maintain a MCS installation using the command line interfaces. The document is divided into the following sections:

  • Introduction to modules and components
  • Folder structure of an MCS installation
  • MCS command line interfaces

Introduction to modules and components

The table below lists the some of the key modules and the key components required for that module.

Module Components
Mail Server Qmail-SMTP, Qmail-queue, Qmail-POP ,Courier - IMAP server ,Qmail Scanner, SpamAssassin, ClamAV, Postfix
Instant Messaging and Chat server Jabber Server, Nginx Server, Punjab Server
LDAP server Open Ldap Server
Web mail client Tomcat Server and Apache Server
Address books Corporate Directory ,Global Address Book ,Personal Address Book
Calendar WebCalender
Server security IPtables

Folder structure of an Connect XF installation

This section broadly describes the folder structure of an Connect XF installation.

What Where
  • Each module has configuration files pertaining to the server, domain and users located in the following folders:
  • /mithi/mcs/modules/<module>/conf/server
  • /mithi/mcs/modules/<module>/conf/domains/<domain>/
  • /mithi/mcs/modules/<module>/conf/domains/<domain>/users/a001/<user>
  • ( <module> is the module name)
  • /mithi/mcs/components
  • Each component has configuration files pertaining to the server, located in the /mithi/mcs/components/<component>/conf/server folder
Command Line Interfaces
  • /mithi/mcs/bin
Configuration and event logs
  • /mithi/mcs/modules/mithi-bl/report/mcs_config_events.log
  • /mithi/mcs/modules/mithi-bl/report/mcs_activity_events.log
Logs for all mithi programs
  • /var/log/mithi/mcs/
Component logs
  • jabberd: /var/log/jabberd
  • httpd : /var/log/httpd
  • clamav : /var/log/clamav
  • ldap : /var/log/openldap.log
  • pgsql : /var/log/pgsql.log
  • firewall : /var/log/iptables.log
  • Mailing (POP/IMAP/SMTP) : /var/log/maillog, /var/log/messages
  • Virus quarantine log : /var/spool/qmailscan/quarantine.log
  • Scanner log : /var/spool/qmailscan/qmail-queue.log, /var/spool/qmailscan/qmail-mithi-queue.log
  • Tomcat : /var/log/tomcat/catalina.out
  • Tomcat 2: /var/log/tomcat2/catalina.out
  • /mailstore
System data
  • /mcsdata
Installed service packs
  • /home/mcs/installables
Default folder to locate backup
  • /mithi/mcs/backups

Mail store structure

  • Mithi Connect Server stores the user’s mailboxes in an open standard format called the maildir format.
  • The MTA qmail gives native support for the maildir format.
  • Maildir is a format that does not require file locking to maintain message integrity because the messages are kept in separate files with unique names.
  • A Maildir is a directory (often named Maildir) with three subdirectories named tmp, new, and cur.
  • The Mail Transfer Agent that delivers an e-mail message (in case of Connect XF, qmail) writes the mail to a file in the tmp directory with a unique filename. A hard link to this file is then created in the "new" folder. Finally, the delivery program unlinks the file in tmp. This sequence guarantees that a maildir-reading program will not see a partially-written message, as mail clients never look in tmp.
  • When the mail client process finds messages in the new directory it moves them to cur (using the same link then unlink strategy) and appends an informational suffix to the filename before reading them. The information suffix consists of a colon (to separate the unique part of the filename from the actual information), a '2', a comma and various flags. The '2' specifies, loosely speaking, the version of the information that follows the comma. '2' is the only currently officially specified version, '1' being an experimental version.
  • The maildirs for domains and users are organized as follows:
  • Each domain has a separate directory under /mailstore. For example, the folder for the mailstore for the domain mithi.com will be at /mailstore/mithi.com.
  • Within a domain, the mail stores for individual users are arranged alphabetically. All the users, whose mail ids start with the letter “a” will have the mailstore in the folder /mailstore/mithi.com/a001 and so on.
  • For example the mailstore for the support@mithi.com id will be at /mailstore/mithi.com/s001/<uniqueid>.
  • Where <uniqueid> is a system generated unique id for the user/group.
  • The Maildir folders are created within the support folder and will have the tmp, cur and new folder as described above.