VMware Images:
|
Virtual Users And Domains With Postfix, Courier And MySQL (Mandriva 2008.0)
|
Submitted by falko (Contact Author) (Forums) on Sun, 2008-01-13 18:16. :: Anti-Spam/Virus | Mandriva | Postfix
Virtual Users And Domains With Postfix, Courier And MySQL (Mandriva 2008.0)Version 1.0 This tutorial is Copyright (c) 2008 by Falko Timme. It is derived from a tutorial from Christoph Haas which you can find at http://workaround.org. You are free to use this tutorial under the Creative Commons license 2.5 or any later version. This document describes how to install a Postfix mail server that is based on virtual users and domains, i.e. users and domains that are in a MySQL database. I'll also demonstrate the installation and configuration of Courier (Courier-POP3, Courier-IMAP), so that Courier can authenticate against the same MySQL database Postfix uses. The resulting Postfix server is capable of SMTP-AUTH and TLS and quota (quota is not built into Postfix by default, I'll show how to patch your Postfix appropriately). Passwords are stored in encrypted form in the database (most documents I found were dealing with plain text passwords which is a security risk). In addition to that, this tutorial covers the installation of Amavisd, SpamAssassin and ClamAV so that emails will be scanned for spam and viruses. The advantage of such a "virtual" setup (virtual users and domains in a MySQL database) is that it is far more performant than a setup that is based on "real" system users. With this virtual setup your mail server can handle thousands of domains and users. Besides, it is easier to administrate because you only have to deal with the MySQL database when you add new users/domains or edit existing ones. No more postmap commands to create db files, no more reloading of Postfix, etc. For the administration of the MySQL database you can use web based tools like phpMyAdmin which will also be installed in this howto. The third advantage is that users have an email address as user name (instead of a user name + an email address) which is easier to understand and keep in mind. This tutorial is based on Mandriva 2008.0 (i386). You should already have set up a basic Mandriva system, as described in the chapters 1 to 7 of this tutorial: http://www.howtoforge.com/perfect_server_mandriva_2008.0. This howto is meant as a practical guide; it does not cover the theoretical backgrounds. They are treated in a lot of other documents in the web. This document comes without warranty of any kind! I want to say that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!
Preliminary NoteThe system should have a static IP address. I use 192.168.0.100 as my IP address in this tutorial and server1.example.com as the hostname.
1 Install Apache, MySQL, phpMyAdminThis can all be installed with one single command: urpmi MySQL MySQL-client libmysql15-devel phpmyadmin db4-devel html2text libsasl-devel openssl-devel openldap-devel pcre-devel postgresql-devel
2 Install Courier And SaslauthdTo install Courier and saslauthd, we simply run: urpmi courier-authlib courier-authlib-mysql courier-imap courier-pop cyrus-sasl libsasl2 libsasl2-devel libsasl2-plug-plain libsasl2-plug-anonymous libsasl2-plug-crammd5 libsasl2-plug-digestmd5 libsasl2-plug-gssapi libsasl2-plug-login
3 Apply Quota Patch To PostfixWe have to get the Postfix source rpm, patch it with the quota patch, build a new Postfix rpm package and install it. cd /usr/src The last command will show some warnings that you can ignore: warning: user mandrake does not exist - using root Now we patch the Postfix sources with the postfix-2.4.5-vda-ng patch (from http://vda.sourceforge.net/): cd /usr/src/rpm/SOURCES Then we build our new Postfix rpm package with quota and MySQL support: cd /usr/src/rpm/SPECS/ Our Postfix rpm package is created in /usr/src/rpm/RPMS/i586, so we go there: cd /usr/src/rpm/RPMS/i586 The command ls -l shows you the available packages: [root@server1 i586]# ls -l First uninstall your current Postfix package... urpme postfix ...then pick the postfix and the postfix-mysql packages and install them like this: rpm -ivh postfix-2.4.5-2mdv2008.0.i586.rpm postfix-mysql-2.4.5-2mdv2008.0.i586.rpm
4 Set MySQL Passwords And Configure phpMyAdminBy default, networking is not enabled in Mandriva 2008's MySQL package, but networking is required by ISPConfig. We can change this by commenting out the line skip-networking in /etc/my.cnf: vi /etc/my.cnf
Afterwards, we start MySQL: /etc/init.d/mysqld start Now check that networking is enabled. Run netstat -tap | grep mysql The output should look like this: [root@server1 var]# netstat -tap | grep mysql Next, run mysqladmin -u root password yourrootsqlpassword to set a password for the user root (otherwise anybody can access your MySQL database!). Now you can direct your browser to http://server1.example.com/phpmyadmin/ or http://192.168.0.100/phpmyadmin/ and log in with the user name root and your new root MySQL password.
|



![Creative Commons Attribution-NonCommercial-ShareAlike 2.0 License [Creative Commons Attribution-NonCommercial-ShareAlike 2.0 License]](http://creativecommons.org/images/public/somerights20.gif)
print: 


Recent comments
12 hours 13 min ago
12 hours 17 min ago
16 hours 19 min ago
1 day 2 hours ago
1 day 5 hours ago
1 day 13 hours ago
2 days 13 hours ago
2 days 15 hours ago
2 days 19 hours ago
4 days 49 min ago