|Manvis project hosted at SourceForge.net|
- A dedicated server.
- Hardware architecture: i386 or x86_64.
- Linux distribution: CentOS 5.x (5.5 at the time of this writing).
- A working Internet connection.
- Set up your hardware server and install CentOS 5.x on it.
- Disable SELinux.
- Back your data up before starting.
- Download and unpack:
tar -xjf manvis-<version>-<architecture>.tar.bz2
- Change directory and install:
- Answer some questions:
This script is going to install the 'manvis' software on your system.
It will overwrite any previous version of the following software components:
postfix, amavisd, dovecot, sqlgrey and mailman.
It will overwrite all passwords and all X.509 certificates
of httpd, postfix, amavisd, dovecot, mailman and mysql services
and of postmaster user.
In addition, all 'cpan' perl libraries will be overwritten.
Proceed? (y/n):This is an informational message only. If you answer no the script stops. if you answer yes the script continues with the following steps: a) it will install all required rpms if they are missing; b) it will update all installed rpms bringing them to the latest version available; c) it will remove all unwanted rpms. After this process completes, a reboot may be required. Reboot now if it is the case and restart install.sh. Reboot anyway if you are in doubt.
Some mysql databases are needed now.
If this is the first time that you run this script it will install
the following databases for you:
horde, postfix, bayes and sqlgrey.
If this software has been running for some time you may want
to preserve all databases and the data they contain.
If you answer 'y' to the following question the named databases
will be erased and a fresh copy of them will be installed.
If you answer 'n' to the following question all existing databases
will be preserved, but if any of the required databases are missing
this software will not operate at all.
Would you like to install a fresh copy of all databases? (y/n):If you answer no the script will continue but no database will be created. If you answer yes the script will continue and it will create all databases. If it is the first time that you run install.sh you must answer yes. If you are reinstalling or upgrading and your databases contain valuable data you must answer no.
Select your primary domain name (you may add other domains afterwards).
Domain name [<proposed_domain_name>]:The script will create the first domain and you are asked to supply its name. The proposed domain name is extracted from your server's name. For example, if you called server.example.com your server, the proposed domain name will be example.com. If you are unsatisfied with the proposed name, you may supply your own name here. You will be able to add other domains using the web interface or the command line interface. The first domain will be the system administrator domain and you will not be able to delete it afterwards.
Select your SMTP host name.
The X.509 certificate used by the SMTP server (Postfix) will use
this host name. It is suggested that the mail clients will use
this same host name as SMTP server in their configuration.
Host name [smtp.<proposed_domain_name>]:This name will be used for establishing all incoming SMTP connections. You must add this name to your domain's DNS zone. An X.509 certificate will be created for the Postfix server and it will be used for all secured SMTP sessions. This host name will be used as the Common Name (CN) in the certificate.
Select your POP3/IMAP host name.
The X.509 certificate used by the POP3/IMAP server (Dovecot) will use
this host name. It is suggested that the mail clients will use
this same host name as POP3/IMAP server in their configuration.
Host name [mail.<proposed_domain_name>]:This name will be used for establishing all incoming POP3/IMAP and POP3S/IMAPS connections. You must add this name to your domain's DNS zone. An X.509 certificate will be created for the Dovecot server and it will be used for all secured POP3S/IMAPS sessions. This host name will be used as the Common Name (CN) in the certificate.
Select your WEB server host name.
The X.509 certificate used by the WEB server (Apache) will use
this host name. It is suggested that your users type this host name
when accessing the webmail.
This same host name will be used in Mailman configuration.
Host name [www.<proposed_domain_name>]:This name will be used for establishing all incoming HTTP/HTTPS connections. You must add this name to your domain's DNS zone. An X.509 certificate will be created for the Apache server and it will be used for all secured HTTPS sessions. This host name will be used as the Common Name (CN) in the certificate.
All software components will be installed.
A fresh copy of all databases will be installed.
A fresh copy of all X.509 certificates will be installed.
New passwords will be generated.
Ready to install.
Proceed? (y/n):If you answer no the script stops. If you answer yes the script continues and: a) it will install all required software erasing every software with the same name; b) it will create all databases erasing every database with the same name (this step will be skipped if you choose to keep the existing databases); c) it will create all required X.509 certificates erasing every existing certificate; d) it will generate new passwords replacing every existing password.
As the installation process continues you will see the following messages:
The log file is '/root/mail_server_install.log'You may want to inspect the log file for error messages.
- Progression messages are displayed.
When the installation is complete you will see the following messages:
Passwords are stored in '/usr/local/manvis/etc/passwords'.
- Print the password file as you will need them to start
working with Manvis.
- Launch your preferred web browser and open your web site
- Click on Spam control. Type the Postmaster user name and password.
The Postamster user name is postmaster@domain_name.
The Postmaster user of the first domain is the system administrator.
- If everything went well you will see a green check mark beside each service name.
- You can start working with Manvis.
Do not install Manvis if you do not have a working Internet conection. The install.sh script will fail if an Internet connection is not available.
The install.sh script may seem to hang while it is working. It may slow down while downloading new rpms and ClamAV from the Internet. Also, the installation of cpan Perl modules may take a long time to complete. You may want to inspect the log file while the script is running. Type less /root/mail_server_install.log or tail -f /root/mail_server_install.log.
Do not install Manvis on a system if it is running one of the following packages: Postfix, Amavisd-new, Sqlgrey, Dovecot, Horde/IMP, Mailman, SpamAssassin, ClamAV.
Do not install Manvis on a system if it is running a Perl application and if it requires cpan modules. The install.sh script will install its own cpan Perl modules which may be incompatible with the ones required by other Perl applications.
Do not install Manvis on a system if it is running one of the following MySQL databases: horde, postfix, bayes, sqlgrey.
Do not install Manvis on a system if it is running a customized version of an rpm as it can be overwritten if a newer version is downloadable from the CentOS repository.
Do not install Manvis on a system if it is running a web application as the index.html file will be overwritten.
Do not install Manvis on a system if SELinux is enabled.
The root's MySQL password will be replaced by a new one and the new password will be stored in /root/.my.cnf file. The root user is not required to type the root's MySQL password until it is stored in /root/.my.cnf file.
If your server is behind a firewall you are required to open a number of TCP ports in order to allow for connections from the Internet:
- 25 - SMTP/STARTTLS
- 110 - POP3
- 995 - POP3S
- 143 - IMAP
- 993 - IMAPS
- 80 - HTTP
- 443 - HTTPS
A sample DNS zone may look like the following:
example.com. MX 0 smtp.example.com.
smtp.example.com. A 188.8.131.52
mail.example.com. A 184.108.40.206
www.example.com. A 220.127.116.11
If your server is located in the intranet and you assigned a private IP address to it and if it is also accessible from the Internet through a firewall which implements NAT, you must garantee that the various server names are translated into the correct IP address: a) a private IP address if DNS is queried by a workstation located in the intranet; b) a public IP address if DNS is queried by a workstation located in the Internet.