apache+php+postfixadmin来做后台的数据库管理

mysql和dovecot用于认证用户

mailscanner, clamav用作垃圾邮件的过滤和病毒扫描

Postfix + mysql + postfixadmin + dovecot

Os: Openbsd

dependence:

apache,php,mysql,postfix,postfixadmin,dovecot,mailscanner,

clamav

apache+php+postfixadmin来做后台的数据库管理

mysql和dovecot用于认证用户

mailscanner, clamav用作垃圾邮件的过滤和病毒扫描

1. install apache with php support

2. install mysql

#groupadd mysql

#useradd -g mysql mysql

#gunzip < mysql-VERSION.tar.gz | tar -xvf -

#cd mysql-VERSION

#./configure --prefix=/usr/local/mysql

#make

#make install

#cp support-files/my-medium.cnf /etc/my.cnf

#cd /usr/local/mysql

#chown -R mysql .

#chgrp -R mysql .

#bin/mysql_install_db --user=mysql

(you can see the following information here:

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'

/usr/local/mysql/bin/mysqladmin -u root -h xia.gfed.net password

'new-password'

See the manual for more instructions.

You can start the MySQL daemon with:

cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &

)

chown -R root .

chown -R mysql var

bin/mysqld_safe --user=mysql &

3.install postfixadmin

unzip postfixadmin-[version].tar.gz to your Apache DocumentRoot

folder.

#tar zxvf postfixadmin-[version].tar.gz

#mv postfixadmin-[version] postfixadmin

or

#ln -s postfixadmin-[version] postfixadmin

Create database for postfixadmin

#mysql -u root -p < DATABASE_MYSQL.txt

to check if database was created:

#mysql -u root

>show databases;

if you can see a database named "postfix". it means database is

ready.

用户可以通过http://xxxx.xxx.xxx.xxx/postfixadmin/admin进入配置页面,这很不安全,所以用认证的方式来进行访问控制

modify apache configuration file (httpd.conf) for postfixadmin,

add following lines into it:

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Postfixadmin Access"

AuthType Basic

AuthUserFile /usr/local/httpd/conf/htpasswd.users

Require valid-user

to build httpasswd.users file, this is tha authz file for each

users:

htpasswd -c /usr/local/httpd/conf/htpasswd.users postfixadmin

#cp config.inc.php.sample to config.inc.php

open your browser to open http://127.0.0.1/postfixadmin/

根据页面的提示, 将conf.inc.php.sample改名为conf.inc.php

然后将setup.php删除或者改名

remove ro rename setup.php

#rm setup.php

#mv setup.php setup.php_old

open your browser again to open

http://127.0.0.1/postfixadmin/

now, create virtual domain and users

4.add vmail user and vmail

增加vmail用户和组,并指定uid和gid

# groupadd -g 5000 vmail

# useradd -g vmail -u 5000 -d /home/vmail -m vmail

#id vmail

uid=5000(vmail) gid=5000(vmail) groups=5000(vmail)

5,install dovecot and config it

安装dovecot,

usually, dovecot configuration file located in /etc/dovecot or /etc/dovecot/dovecot.conf

dovecot.conf main strutcure below:

1st, we need to define protocol we want

2nd, setup protocol one by one

3rd, setup auth

we set imap and pop for example

example below:

#we use imap pop and imaps pops

protocols = imap imaps pop3 pop3s

#define imap

protocol imap {

listen = 127.0.0.1

ssl_listen = *

imap_client_workarounds = outlook-idle

delay-newmail

}

#disable plaintext

disable_plaintext_auth = yes

verbose_ssl = yes

first_valid_uid = 5000

last_valid_uid = 5000

#this mail_location is very important, you must setup it

according to your setting.

mail_location = maildir:/home/vmail/%d/%u\@%d/

重要!!这里的格式是/home/vamil/domain名/用户名@domainq名,需根据自己的来改变配置

#define pop3

protocol pop3 {

pop3_uidl_format = %08Xu%08Xv

pop3_client_workarounds = outlook-no-nuls oe-ns-eoh

listen = 127.0.0.1

ssl_listen = *

}

#define auth

#we use mysql to build virtual user, so we use mysql to do the

auth

auth default {

mechanisms = plain login

passdb sql {

args =

/etc/dovecot/dovecot-sql.conf

}

userdb sql {

args =

/etc/dovecot/dovecot-sql.conf

}

userdb prefetch {

}

edit /etc/dovecot/docecot-sql.conf

driver = mysql

connect = host=localhost dbname=postfix user=root

password=123456

default_pass_scheme = MD5

user_query = SELECT '/home/vmail/%d/%u' as home,

'maildir:/home/vmail/%d/%u' as mail, 5000 AS uid, 5000 AS gid,

concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE

username = '%u' AND active = '1'

password_query = SELECT username as user, password,

'/home/vmail/%d/%u' as userdb_home, 'maildir:/home/vmail/%d/%u' as

userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM mailbox

WHERE username = '%u' AND active = '1'

Now dovecot should works

6, config postfix

主要的文件为/etc/postfix/main.cf,

还有一个容易忽略的文件/etc/postfix/dynamicmaps.cf

请确保在dynamicmaps.cf中有下面这条与mysql相关的语句:

mysql /usr/lib/postfix/dict_mysql.so dict_mysql_open

edit /etc/postfix/main.cf

example below:

------------------------------------file

start---------------------------------

## Base

myhostname = mail.huaxinit.com

mydomain = huaxinit.com

myorigin = $mydomain

biff = no

append_dot_mydomain = no

delay_warning_time = 4h

## VIRTUAL

## define virtual user

virtual_alias_maps =

proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf

virtual_gid_maps = static:5000

virtual_mailbox_base = /home/vmail

virtual_mailbox_domains =

proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf

virtual_mailbox_limit = 51200000

virtual_mailbox_maps =

proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

virtual_minimum_uid = 5000

virtual_transport = virtual

virtual_uid_maps = static:5000

## SASL

## use dovecot to do the auth

mtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

broken_sasl_auth_clients = yes

## SSL/TLS

##enable ssl/tls

smtpd_tls_auth_only = no

smtp_use_tls = yes

smtpd_use_tls = yes

smtp_tls_note_starttls_offer = yes

smtpd_tls_key_file = /etc/postfix/ssl/postfix_smtp.key

smtpd_tls_cert_file = /etc/postfix/ssl/postfix_smtp.crt

smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem

smtpd_tls_loglevel = 1

smtpd_tls_received_header = yes

smtpd_tls_session_cache_timeout = 3600s

tls_random_source = dev:/dev/urandom

## Quota

#max mail size is 10M

message_size_limit = 104857600

virtual_mailbox_limit_inbox = no

virtual_mailbox_limit_override = yes

virtual_maildir_extended = yes

virtual_create_maildirsize = yes

virtual_mailbox_limit_maps =

proxy:mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf

virtual_mailbox_limit = 104857600

## Anti-spam, Anti-virus

header_checks = regexp:/etc/postfix/anti-spam/header_checks

6. Mailscanner and clamav

install mailscnner and clamav

edit /usr/local/etc/MailScanner/MailScanner.conf, make these

line look like this example:

Run As User = postfix

Run As Group = postfix

Incoming Queue Dir = /var/spool/postfix/hold

Outgoing Queue Dir = /var/spool/postfix/incoming

MTA = postfix

Virus Scanners = clamav

Use SpamAssassin = yes

make folders which Mailscanner need:

mkdir /var/spool/MailScanner

mkdir /var/spool/MailScanner/incoming

mkdir /var/spool/MailScanner/quarantine

chown postfix:postfix /var/spool/MailScanner/incoming

chown postfix:postfix /var/spool/MailScanner/quarantine

touch /usr/local/etc/MailScanner/rules/bounce.rules

chmod -R 777 /var/spool/postfix

cp /usr/local/etc/MailScanner/mcp/10_example.cf.sample

/usr/local/etc/MailScanner/mcp/10_example.cf

cp

/usr/local/etc/MailScanner/mcp/mcp.spam.assassin.prefs.conf.sample

/usr/local/etc/MailScanner/mcp/mcp.spam.assassin.prefs.conf

then start Mailscanner

7. enable smtps (port 465)

edit /etc/postfix/master.cf

smtps inet n - - - - smtpd

-o smtpd_tls_wrappermode=yes

-o smtpd_sasl_auth_enable=yes

-o

smtpd_client_restrictions=permit_sasl_authenticated,reject

8. start your postfix and have fun

postfix支持mysql_Postfix与MySQL的虚拟域配置相关推荐

  1. 让apache支持mysql_Apache+PHP+Mysql环境搭建之三:配置Apache支持PHP

    其次就是安装 PHP ,并配置 Apache 支持 PHP . 有两种方法在 Windows 下让 Apache 支持 PHP :使用Windows的环境变量或者 Apache 自身的支持. 安装前需 ...

  2. linux mysql 邮件_linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件...

    linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件 使用虚拟用户收发邮件安装 九.安装Courier authentication lib ...

  3. Postfix+dovecot+extmail+sasl+mysql源码安装手册

    dovecot+postfix+courier-authlib+cyrus-sasl+extmail+extman安装配置 需要软件 Dovecot 客户端收发邮件(110/995/143/993等) ...

  4. nginx 多个root_nginx虚拟主机配置

    nginx 虚拟机配置 什么是虚拟主机? 虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web ...

  5. linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件...

    linux 下 搭建邮件邮件服务器(Postfix+Dovecot)(二)-基于mysql的虚拟账户登陆收发邮件 使用虚拟用户收发邮件安装 九.安装Courier authentication lib ...

  6. mysql开启邮件服务_邮件服务之实现基于虚拟用户的虚拟域邮件系统

    postfix+dovecot+SASL+mysql+apache+extmail+extman实现基于虚拟用户的虚拟域邮件系统 声明:省略了前面的基础配置包括安装MYSQL,postfix等,这里用 ...

  7. postfix + dovecot + mysql 创建虚拟用户(一)

    背景 有这么一个需求:自己搞一套邮件系统,类似于简化的qq邮件,包括简单的邮件发送和邮件账户管理. 那么这个需求中最重要的一点就是邮件的发送. 从某度中得知:linux上有个邮件服务器挺好用的,叫做p ...

  8. centos 6.4 postfix mysql_postfix+dovecot+mysql+extmail安装笔记(基于CentOS 6)

    安装可能用到的软件包: yum install postfix dovecot dovecot-devel dovecot-mysql mysql mysql-server mysql-devel h ...

  9. linux Postfix + dovecot + extmail + extman + mysql

    配置环境:RHEL5.5 i386 ===DNS MX==== [root@station40 ~]# host -t MX tianyun.com tianyun.com mail is handl ...

最新文章

  1. 用c语言运行程序的优点,C语言学习与总结---第一章:C语言概述
  2. micronet 测试2
  3. 《信息存储理论》笔记
  4. 五、数据对象和属性类型
  5. jar文件与云服务器断开,把jar包放到云服务器
  6. js 调用 oc 的解释
  7. Nginx 安装与启动
  8. JAVA中的引用四种引用类型
  9. liunx下pytorch(python2.7)先前几个版本的安装(由于官网点击先前版本进不去)
  10. 8102年底如何开发和维护一个npm项目
  11. Apache Gobblin 分布式大数据集成框架
  12. Ubuntu 设置 samba共享文件夹
  13. 单例模式的懒汉模式和饿汉模式
  14. 虚拟机win7系统安装vmtool
  15. 远程访问VM虚拟机方式记录
  16. python汇率兑换_Python入门案例(一):汇率兑换
  17. 通过物理地址查计算机,别人知道我查电脑的物理地址,怎么处理
  18. 王道机组笔记IEEE754
  19. R语言ggridges包绘制漂亮的峰峦图(山脊图)-下篇
  20. 最高百万年薪,全国多家知名互联网/游戏公司热招 Cocos 人才丨9月岗位

热门文章

  1. 【Vite】环境变量的配置与使用
  2. amd没有relive选项卡_挖掘AMD驱动中的实用功能——Relive真好玩
  3. Java键盘录入的三种方式
  4. 计算机网络如何设置路由器,没有网络怎么设置路由器?
  5. python爬虫实战之爬取有道翻译
  6. 七款实用的视图模型制作工具
  7. python实现cc攻击_网站如何防CC攻击–巧用nginx
  8. void xiaob::printwhat(string* str) 如果括号是* 外面调用传递什么,如果括号是 外面调用传递什么...
  9. 北京市推微博实名制之我见
  10. 05. 手写Spring核心框架