歡迎您光臨本站 註冊首頁

Linux Postfix 全面安裝指導手冊三之Postfixadmin安裝

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

◆安裝和配置postfixadmin 1、安裝postfixadmin Postfixadmin是postfix郵件系統的web管理工具,有了這個工具,管理和維護用戶帳號就方便多了.假如不用工具,就需要手動修改資料庫,誰願意這樣做?安裝postfixadmin比較簡單,解壓包postfixadmin-2.2.11.tar.gz,然後把它移動到某個目錄下,其過程如下: [root@mail1 ~]# cd /root [root@mail1 ~]# tar zxvf postfixadmin-2.2.11.tar.gz [root@mail1 ~]# mv postfixadmin-2.2.11 /var/www/postfixadmin [root@mail1 ~]#chown -R vmail:vmail /var/www/postfixadmin

2、修改相關的配置文件. Postfixadmin第一個需要修改配置文件是config.inc.php, 但事實上卻沒有這個文件,不要緊,把config.inc.php.sample搬過來就是了(cp config.inc.php.sample config.ini.php),再來看一下目錄結構:

[root@mail1 postfixadmin]# cp config.inc.php.sample config.ini.php

[root@mail1 ~]# cd /var/www/postfixadmin/
[root@mail1 postfixadmin]# ll
total 220
drwxr-xr-x 2 vmail vmail 4096 Jan 7 2005 ADDITIONS
drwxr-xr-x 2 vmail vmail 4096 Feb 19 05:04 admin
-rw-r--r-- 1 vmail vmail 1195 Jan 7 2005 BACKUP_MX.TXT
-rw-r--r-- 1 vmail vmail 10155 Jan 7 2005 CHANGELOG.TXT
-rw-r--r-- 1 vmail vmail 4733 Feb 20 06:14 config.inc.php
-rw-r--r-- 1 vmail vmail 4694 Jan 7 2005 config.inc.php.sample
-rw-r--r-- 1 vmail vmail 3774 Jan 7 2005 create-alias.php
-rw-r--r-- 1 vmail vmail 7379 Feb 19 05:04 create-mailbox.php
-rw-r--r-- 1 vmail vmail 4910 Jan 7 2005 DATABASE_MYSQL.TXT
-rw-r--r-- 1 vmail vmail 4955 Jan 7 2005 DATABASE_PGSQL.TXT

[root@mail1 postfixadmin]# more config.inc.php

$CONF['postfix_admin_url'] = '';

$CONF['postfix_admin_path'] = '';

$CONF['default_language'] = 'cn';

$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'postfixadmin';
$CONF['database_name'] = 'postfix';
$CONF['database_prefix'] = '';

$CONF['admin_email'] = 'postmaster@change-this-to-your.domain.tld';

$CONF['smtp_server'] = 'localhost';
$CONF['smtp_port'] = '25';

$CONF['encrypt'] = 'md5crypt';

註:與courier-authlib的配置文件authmysqlrc以及Webmail(Extmail)的文件Webmail.cf都有關聯,這三者一定要一致.

$CONF['page_size'] = '10';

$CONF['domain_path'] = 'YES'; ------這樣修改後postfixadmin添加用戶時生成的目錄 為/var/mailbox/mail.sery.com/benly

$CONF['domain_in_mailbox'] = 'NO';

$CONF['aliases'] = '1000';
$CONF['mailboxes'] = '1000';
$CONF['maxquota'] = '1000';

$CONF['quota_multiplier'] = '1024000';

$CONF['transport'] = 'NO';

$CONF['vacation'] = 'NO';

$CONF['vacation_domain'] = 'autoreply.change-this-to-your.domain.tld';

$CONF['alias_control'] = 'NO';

$CONF['special_alias_control'] = 'YES';

$CONF['logging'] = 'YES';

$CONF['show_header_text'] = 'NO';
$CONF['header_text'] = ':: Postfix Admin ::';

$CONF['show_footer_text'] = 'YES';
$CONF['footer_text'] = 'Return to change-this-to-your.domain.tld';
$CONF['footer_link'] = 'http://change-this-to-your.domain.tld';

$CONF['welcome_text'] = <<<EOM


Hi,

Welcome to your new account.
EOM;

被改動過的內容用紅色粗體標記出來了,這些值可根據實際情況作修改.下一個需要修改的文件是create-mailbox.php:

[root@mailserv2 postfixadmin]# more create-mailbox.php // // Postfix Admin // by Mischa Peters // Copyright (c) 2002 - 2005 High5! // License Info: [url]http://www.postfixadmin.com/?file=LICENSE.TXT[/url] ……………………………………省略若干……………………………………. $tQuota = $CONF['maxquota']; system("sudo /usr/sbin/maildirmake.sh $fDomain ".$_POST['fUsername']); if ($fMail == "on") ……………………………………省略若干……………………………………. ?>

紅色字體那行是需要插入的,它的位置在210行,不要把位置放錯了,因為文件中有2行是"$tQuota = $CONF['maxquota'];"一定要把它放在第209行的那個"$tQuota = $CONF['maxquota'];"的後面才會有作用.在這裡,很有必要解釋一下插入這行的作用--在php腳本中執行系統的shell腳本--直接的後果就是創建用戶的郵箱目錄,這與執行在linux下執行命令行sudo /usr/sbin/maildirmake.sh sery.com sey相當.接下來我們修改文件delete.php:

[root@mailserv2 postfixadmin]# vi delete.php ……………………………………….省略很多……………………………… require ("./variables.inc.php"); require ("./config.inc.php"); require ("./functions.inc.php"); include ("./languages/" . check_language () . ".lang"); $SESSID_USERNAME = check_session(); ……………………………………….省略很多……………………………… $result = db_query ("SELECT * FROM mailbox WHERE username='$fDelete' AND domain='$fDomain'"); $userarray=explode("@",$fDelete); $user=$userarray[0]; $domain=$userarray[1]; system("sudo /usr/sbin/maildirdel.sh $domain $user"); ……………………………………….省略很多……………………………… ?>

紅色字體標示的那4行是需要插入的,位置也是至關重要的,不能弄錯.到了這一步,還是沒有完成,還需要進目錄admin里修改2個同名文件 admin/create-mailbox.php和admin/delete.php,修改的方法是一樣的,只是插入位置的行號不同(如 admin/create-mail在200行的位置插入),見下面:

$tQuota = $CONF['maxquota'];
system("sudo /usr/sbin/maildirmake.sh $fDomain ".$_POST['fUsername']);
if ($fMail == "on")
{
這裡有一個疑惑:為什麼在不同的目錄下有相同的文件呢?這是出於安全方面的原因.Postfixadmin把管理員分成2種:超級郵件系統管理員和一般郵件系統管理員,在admin目錄里的是超級管理員的目錄, 而普通的郵件系統管理員在/var/www/postfixadmin這個目錄.在上述過程中, 我們使用了2個shell腳本/usr/sbin/maildirdel.sh及/usr/sbin/maildirmake.sh,這些腳本的內容和作用將在後面安裝配置maildrop時一併給出. (2) 在mysql中創建postfix所需的資料庫.
[root@mailserv2 ~] # cd /var/www/postfixadmin

[root@mail1 postfixadmin]# mysql -u root -p password < DATABASE_MYSQL.TXT


(3) 測試postfixadmin.先修改apache的配置文件/usr/local/apache/conf/httpd.conf,加入如下內容: <IfModule dir_module>
DirectoryIndex index.html index.php index.cgi
</IfModule>

Alias /postfixadmin /var/www/postfixadmin <Directory /var/www/postfixadmin> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/var/www/postfixadmin/admin"> AuthType Basic Options None AllowOverride None Order allow,deny Allow from all AuthName "sery.mail Access" AuthUserFile /usr/local/apache/conf/htpasswd Require valid-user </Directory>
保存后重起

apache服務(/usr/local/apache/bin/apachectl restart),然後在別的機器的瀏覽器輸入郵件伺服器的url如:http://192.168.20.206/postfixadmin

本文出自 「IT」 博客,請務必保留此出處http://benly.blog.51cto.com/460663/786707


[火星人 ] Linux Postfix 全面安裝指導手冊三之Postfixadmin安裝已經有1082次圍觀

http://coctec.com/docs/linux/show-post-47232.html