postfixadmin

第二步:(实现web端的收发,以及支持mysql端虚拟用户的收发,密码的修改等)

1.环境配置

yum install httpd mysql mysql-devel mysql-server php php-pecl-Fileinfo php-mcrypt php-devel php-mysql php-common php-mbstring php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc pcre pcre-devel

# vi /etc/httpd/conf/httpd.conf

#增加下面两行

AddType application/x-httpd-php .php

PHPIniDir "/etc/php.ini"

#修改下面四行

DirectoryIndex index.php index.html index.html.var

User vmail

Group vmail

Listen 9999(为了测试方便,端口号未修改)

# vi /var/www/html/index.php

<?php phpinfo();?>

# systemctl start httpd.service

浏览器输入

http://110.110.110.110:9999/即可测试成功

2.配置postfixadmin

# tar -zxvf postfixadmin-2.93.tar.gz -C /var/www/html

# cd /var/www/html

# mv postfixadmin-2.93 postfixadmin

# vi postfixadmin/config.inc.php

$CONF[‘configured‘] = true;

$CONF[‘setup_password‘] = ‘afe0c247277cb58f7ccf798da29b0976:8744abeb23a481eb0fc14a8f9286da0827352d02‘;

$CONF[‘database_type‘] = ‘mysql‘;

$CONF[‘database_host‘] = ‘localhost‘;

$CONF[‘database_user‘] = ‘postfix‘;

$CONF[‘database_password‘] = ‘postfix‘;

$CONF[‘database_name‘] = ‘postfix‘;

$CONF[‘admin_email‘] = ‘[email protected]‘;

$CONF[‘encrypt‘] = ‘dovecot:CRAM-MD5‘;

$CONF[‘dovecotpw‘] = "/usr/bin/doveadm pw";

$CONF[‘domain_path‘] = ‘YES‘;

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

$CONF[‘aliases‘] = ‘1000‘;

$CONF[‘mailboxes‘] = ‘1000‘;

$CONF[‘maxquota‘] = ‘1000‘;

$CONF[‘fetchmail‘] = ‘NO‘;

$CONF[‘quota‘] = ‘YES‘;

$CONF[‘used_quotas‘] = ‘YES‘;

$CONF[‘new_quota_table‘] = ‘YES‘;

3.配置mysql

systemctl start mariadb.service

mysql

mysql> create database postfix;

mysql> grant all on postfix.* to [email protected]‘localhost‘ identified by ‘postfix‘;

mysql> flush privileges;

# mysql -u postfix -p postfix

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| postfix            |

| test               |

+--------------------+

3 rows in set (0.00 sec)

mysql>

4.浏览器验证

# chown -R vmail.vmail postfixadmin/

http://110.110.110.110/postfixadmin/setup.php

如果报错说没有dovecot安装即可

yum install dovecot dovecot-devel dovecot-mysql

http://110.110.110.110/postfixadmin/login.php能登录即可

5.postfxiadmin不能自动创建目录,所以我们得增加自动建立目录的功能

5.1建立创建虚拟邮箱脚本

# vim /usr/local/bin/maildir-creation.sh

#!/bin/bash

#

HOME_DIR="/var/vmail"

USER_NAME="vmail"

GROUP_NAME="vmail"

if [ ! -d ${HOME_DIR}/$1 ] ; then

mkdir ${HOME_DIR}/$1

chown -R ${USER_NAME}.${GROUP_NAME} ${HOME_DIR}/$1

fi

mkdir ${HOME_DIR}/$1/$2

chown -R ${USER_NAME}.${GROUP_NAME} ${HOME_DIR}/$1/$2

5.2建立删除虚拟邮箱脚本

# vim /usr/local/bin/maildir-deletion.sh

#!/bin/bash

#

# vmta ALL = NOPASSWD: /usr/local/bin/maildir-deletion.sh

#

if [ $# -ne 2 ] ; then

exit 127

fi

DOMAIN="$1"

USER="$2"

HOME_DIR="/var/vmail"

USER_DIR="${HOME_DIR}/${DOMAIN}/${USER}"

TRASH_DIR="${HOME_DIR}/deleted-maildirs"

DATE=`date "+%Y%m%d_%H%M%S"`

if [ ! -d "${TRASH_DIR}/${DOMAIN}" ] ; then

mkdir -p "${TRASH_DIR}/${DOMAIN}"

fi

if [ -d "${USER_DIR}" ] ; then

mv ${USER_DIR} ${TRASH_DIR}/${DOMAIN}/${USER}-${DATE}

fi

5.3手动建立目录及赋予权限

# mkdir /var/vmail/deleted-maildirs

# chown -R vmail.vmail /var/vmail/deleted-maildirs/

# chmod 750 /usr/local/bin/maildir-*

# chown vmail.vmail /usr/local/bin/maildir-*

#vim /etc/sudoers

#文本最后增加两行

vmail ALL = NOPASSWD: /usr/local/bin/maildir-creation.sh

vmail ALL = NOPASSWD: /usr/local/bin/maildir-deletion.sh

#修改下面一行

#Defaults    requiretty

:wq! #由于这个文件是只读的,所以得强制保存并退出

5.4未找到的内容,参考文献上有,本人并未配置(任然需要测试)

# cd /var/www/html/postfixadmin/

# vim create-mailbox.php

修改create-mailbox.php 文件,229行内容应该是:

db_log ($SESSID_USERNAME, $fDomain, ‘create_mailbox‘, "$fUsername");

在该行前面增加下面一行,

system("sudo /usr/local/bin/maildir-creation.sh $fDomain ".$_POST[‘fUsername‘]);

# vim delete.php

修改delete.php 文件,146行内容应该是,

db_log ($SESSID_USERNAME, $fDomain, ‘delete_mailbox‘, $fDelete);

在该行下面增加下面4行,

$userarray=explode("@",$fDelete);

$user=$userarray[0];

$domain=$userarray[1];

system("sudo /usr/local/bin/maildir-deletion.sh $domain $user");

6.

参考:

http://freeloda.blog.51cto.com/2033581/1245492/

http://blog.163.com/[email protected]/blog/static/2701108920146279368171/

报错1:浏览器输入http://110.110.110.110/postfixadmin/setup.php报错如下

Error: Smarty template compile directory templates_c is not writable

解决1:目录权限问题,chown -R vmail.vmail postfixadmin执行即可

报错2:Setup password not specified correctly

解决2:

报错3:Your password must contain at least 2 digit(s).

解决3:

报错4:浏览器执行http://110.110.110.110:110/postfixadmin/login.php输入管理员账号密码无用

tail -f /var/log/httpd/error_log

[Thu Dec 31 15:40:43.373654 2015] [:error] [pid 2916] [client 175.175.175.175:52509] PHP Warning:  session_start(): open(/var/lib/php/session/sess_1pg175mspao175iebqcfmhu0b6, O_RDWR) failed: Permission denied (13) in /var/www/html/postfixadmin/common.php on line 30, referer: http://110.110.110.110:110/postfixadmin/login.php

解决4:cd /var/lib/php之后执行chown -R vmail.vmail session即可

错误4:和网上说的vi /etc/php.ini中去掉session.save_path =‘/tmp‘前的;无关

时间: 2024-10-13 19:06:59

postfixadmin的相关文章

Centos6 Postfix+Dovecot+Postfixadmin

本文介绍Centos6 Postfix+Dovecot+Postfixadmin+Roundcube 搭建过程,使用的是阿里云ESC CentOS 6.5 64位,配置hostname[code]#修改network文件vim /etc/sysconfig/networkHOSTNAME=mail.ali.com #添加本地hostsvim /etc/hosts112.74.28.201 mail.ali.com[/code][code]yum update[/code]创建一个vmail用户,

Install postfix on Ubuntu 14.04.txt

Ubuntu 14.04上安装和配置Postfix邮件服务详细教程 Postfix: 用来接受和发送邮件的邮件服务器,正确说法应该叫邮件传送代理(Mail Transfer Agent,MTA),是邮件服务最重要的部分:    Dovecot: POP 和 IMAP 服务器,用来管理本地邮件目录以便用户能通过 Mail.app, Thunderbird, Mutt 等邮件客户端(又叫邮件用户代理 Mail User Agent, MUA)登陆和下载邮件:    Postgrey: 邮件灰名单工具

UBUNTU下使用PostgreSql.和nginx安装postfixAdmin2.92版

本文为在Ubuntu14.04中使用PostgreSql和Nginx安装PostfixAdmin2.92版的记录. <! –more– > 需要安装的包 记忆有些模糊,大概列一下: postfix,PostgreSql,postfix-pgsql,php5-pgsql,nginx,php5-fpm,这些包可以通过Ubuntu的包管理安装. 准备工作 需要配置nginx支持php,方法见另外的文. 需要建立PostfixAdmi使用的PostgreSql数据库和数据库用户,并配置可以通过网络登录

【Postfix】Extmail登录提示:Can’t chdir to /vmail/www/, no such file or directory.

如果你使用 ExtMail 而没有使用 ExtMan,在添加新用户之后立即登录 ExtMail,会无法登录并得到类似的错误信息: Can't chdir to /home/vmail/a.cn/www/, no such file or directory. 这是由于 ExtMail 并不自动建立用户邮箱目录导致的.下面提供自动创建用户邮箱目录的补丁,作用就是让 ExtMail 在检测到用户邮箱不存在的时候自动创建它. 补丁使用方法: 1.备份已有的 ExtMail 目录.例如将整个 ExtMa

烂泥:Postfix邮件服务器搭建之虚拟用户配置

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 在前一篇文章<烂泥:Postfix邮件服务器搭建之软件安装与配置>中,我们介绍了psotfix邮件服务器搭建所需要的软件,以及各个软件的基本配置. 目前已经达到了通过系统用户可以登录到postfix邮件服务器,但是为了管理的方便和系统安全,我们一般是通过postfix的虚拟用户来管理邮件用户的. Postfix虚拟用户的原理是,先在系统中创建一个用户,该用户不能登录到系统,然后把邮件

centos postfix 邮箱安装记录

---恢复内容开始--- #wget http://nchc.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.92/postfixadmin-2.92.tar.gz //下载postfixadmin管理程序,放到web目录下 1 [[email protected] html]# cd postfixadmin/ 2 #修改前先备份一下配置文件 3 [[email protected] postfixadmi

(某云平台+VPLC神器)助我解postfix邮件系统的疑问处理

体会: 太浪费时间主要是精力问题.技能水平问题. 节省时间的是:用了某云平台,没思路,搞错了还是可以销毁重来,时间非常快,不用像以前IDC托管那样,搞1~2日.使用了访问国外的神器.(国人技术不是不行,关键太多重复,无对我产生有用的文章)..... 连续学习了22个小时......问题解决了...我安心睡觉去!!!! 以前没有考虑邮箱安全的问题,只是看见邮箱收发邮件基本上功德完满.... 上周花了一周的时间终于在周末加班加点搞掂了.(具体的配置我这里就不写了,只是把我碰到的情况分析和说明一下.

烂泥:Postfix邮件服务器搭建之软件安装与配置

本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postfix.dovecot.postfixadmin.roundcubemail,只有这几个软件相互配合才能搭建一套完整的邮件服务器. PS:本次实验在centos6.5 64bit上进行. 一.软件功能介绍 cyrus-sasl.postfix.dovecot.postfixadmin.roundcub

强大的邮件系统和简单的后台管理

强大的邮件系统和简单的后台管理 环境: CentOS 6.0 软件:PostFix Dovecot 描述:Postfix是收发信全球最快的邮件服务器,而且安全免费,无论是从成本还是稳定/安全考虑       都是企业最好的选择.服务器运维技术一直都是朝着高效,稳定,安全,易管理的方向发展.       本邮件服务器有各种安全机制和一条命令可完成管理员所有的任务.规范,易于操作,而且管       理界面简洁,全中文,就是一个不懂linux和英文的IT管理员都能完成所有邮件后台工作. 环境配置 设