|
|
|
#
|
|
|
|
# Postfix Admin
|
|
|
|
# by Mischa Peters <mischa at high5 dot net>
|
|
|
|
# Copyright (c) 2002 - 2005 High5!
|
|
|
|
# Licensed under GPL for more info check GPL-LICENSE.TXT
|
|
|
|
#
|
|
|
|
|
|
|
|
REQUIRED!!
|
|
|
|
----------
|
|
|
|
- You are using Postfix 2.0 or higher.
|
|
|
|
- You are using Apache 1.3.27 / Lighttpd 1.3.15 or higher.
|
|
|
|
- You are using PHP 5.1.2 or higher.
|
|
|
|
- You are using MySQL 3.23 or higher (5.x recommended) OR PostgreSQL 7.4 (or higher)
|
|
|
|
|
|
|
|
|
|
|
|
READ THIS FIRST!
|
|
|
|
----------------
|
|
|
|
When this is an upgrade from Postfix Admin 1.5.4 please read DOCUMENTS/UPGRADE.TXT!!
|
|
|
|
|
|
|
|
If you need to setup Postfix to be able to handle Virtual Domains and Virtual
|
|
|
|
Users check out :
|
|
|
|
|
|
|
|
- http://high5.net/howto/
|
|
|
|
- http://codepoets.co.uk/postfixadmin-postgresql-courier-squirrelmail-debian-etch-howto-tutorial (Debian+Courier+PostgreSQL+Postfix+Postfixadmin)
|
|
|
|
- http://bliki.rimuhosting.com/space/knowledgebase/linux/mail/postfixadmin+on+debian+sarge (Postfix+MySQL+Postfixadmin+Dovecot)
|
|
|
|
- http://gentoo-wiki.com/HOWTO_Setup_a_Virtual_Postfix/Courier_Mail_System_with_PostfixAdmin (Postfix+MySQL+Postfixadmin+Courier)
|
|
|
|
|
|
|
|
|
|
|
|
1. Unarchive new Postfix Admin
|
|
|
|
------------------------------
|
|
|
|
Make sure that you are in your WWW directory and then unarchive the
|
|
|
|
Postfix Admin archive (whatever the filename is):
|
|
|
|
|
|
|
|
$ tar -zxvf postfixadmin-2.2.0.tgz
|
|
|
|
|
|
|
|
|
|
|
|
2. Setup a Database
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
With your chosen/preferred database server (i.e. MySQL or PostgreSQL),
|
|
|
|
you need to create a new database. A good name for this could be :
|
|
|
|
|
|
|
|
postfix
|
|
|
|
|
|
|
|
The mechanics of creating the database vary depending on which server
|
|
|
|
you are using. Most users will find using phpMyAdmin or phpPgAdmin the
|
|
|
|
easiest route.
|
|
|
|
|
|
|
|
If you wish to use the command line, you'll need to do something like :
|
|
|
|
|
|
|
|
For MySQL:
|
|
|
|
CREATE DATABASE postfix;
|
|
|
|
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'choose_a_password';
|
|
|
|
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';
|
|
|
|
|
|
|
|
For PostgreSQL:
|
|
|
|
CREATE USER postfix WITH PASSWORD 'whatever';
|
|
|
|
CREATE DATABASE postfix OWNER postfix ENCODING 'unicode';
|
|
|
|
|
|
|
|
|
|
|
|
3. Configure PostfixAdmin so it can find the database
|
|
|
|
-----------------------------------------------------
|
|
|
|
|
|
|
|
Edit the config.inc.php file.
|
|
|
|
|
|
|
|
The most important settings are those for your database server.
|
|
|
|
|
|
|
|
You must also change the line that says :
|
|
|
|
|
|
|
|
$CONF['configured'] = false;
|
|
|
|
|
|
|
|
to
|
|
|
|
|
|
|
|
$CONF['configured'] = true;
|
|
|
|
|
|
|
|
|
|
|
|
PostfixAdmin does not require write access to any files. You can therefore
|
|
|
|
leave the files owned as root (or a.n.other user); as long as the web server
|
|
|
|
user (e.g. www-data) can read them, it will be fine.
|
|
|
|
|
|
|
|
The next 'step', is optional. Only do it, if other non-trusted users have access
|
|
|
|
to your user:
|
|
|
|
|
|
|
|
Depending on your environment, you may want to protect the database username
|
|
|
|
and password stored in config.inc.php - if so, you could move them into the
|
|
|
|
Apache configuration file (which can be set to be visible only by root) using
|
|
|
|
something like the following in your VirtualHost definition :
|
|
|
|
|
|
|
|
SetEnv DB_USER "postfix"
|
|
|
|
SetEnv DB_PASS "opensesame"
|
|
|
|
|
|
|
|
config.inc.php would then be able to access these through :
|
|
|
|
|
|
|
|
$CONF['database_user'] = $_SERVER['DB_USER']
|
|
|
|
|
|
|
|
|
|
|
|
4. Check settings, and create Admin user
|
|
|
|
----------------------------------------
|
|
|
|
|
|
|
|
Hit http://yourserver.tld/postfixadmin/setup.php in a web browser.
|
|
|
|
|
|
|
|
You should see a list of 'OK' messages.
|
|
|
|
|
|
|
|
The setup.php script will attempt to create the database structure
|
|
|
|
(or upgrade it if you're coming from a previous version).
|
|
|
|
|
|
|
|
Assuming everything is OK you can specify a password (which you'll
|
|
|
|
need to use setup.php again in the future); when you submit the form,
|
|
|
|
the hashed value (which you need to enter into config.inc.php is echoed
|
|
|
|
out - with appropriate instructions on what to do with it).
|
|
|
|
|
|
|
|
create the admin user using the form displayed.
|
|
|
|
|
|
|
|
5. Use PostfixAdmin
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
This is all that is needed. Fire up your browser and go to the site that you
|
|
|
|
specified to host Postfix Admin.
|
|
|
|
|
|
|
|
6. Integration with Postfix, Dovecot etc.
|
|
|
|
-----------------------------------------
|
|
|
|
|
|
|
|
Now that PostfixAdmin is working, you need to do some configuration in Postfix,
|
|
|
|
Dovecot etc. so that they use the domains, mailboxes and aliases you setup in
|
|
|
|
PostfixAdmin.
|
|
|
|
|
|
|
|
The files in the DOCUMENTS/ directory explain which settings you need to
|
|
|
|
do/change.
|
|
|
|
|
|
|
|
7. More information
|
|
|
|
-------------------
|
|
|
|
As of March 2007, PostfixAdmin moved to SourceForge. For the
|
|
|
|
forum posts and source updates, see:
|
|
|
|
|
|
|
|
https://sourceforge.net/projects/postfixadmin
|
|
|
|
|
|
|
|
There is also #postfixadmin on irc.freenode.net.
|