鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 操作系统维护 > >

Extmail:实现基于虚拟账号的web邮件系统

来源:互联网 作者:佚名 时间:2013-08-19 09:17
在这篇博客中小编要实现一个基于虚拟账号的邮件系统,读者日常生活中所用到的邮件账号都是虚拟账号,并不是登陆系统的账户,这些虚拟的账号存储在数据库中集中管

      在这篇博客中小编要实现一个基于虚拟账号的邮件系统,读者日常生活中所用到的邮件账号都是虚拟账号,并不是登陆系统的账户,这些虚拟的账号存储在数据库中集中管理,今天小编要实现如下工作流程的邮件系统

clip_image002

各部分的功能:

MUA:可以使用客户端软件或者浏览器进行收发邮件但是都要结合认证,要实现浏览器访问,服务器必须搭建相应的站点,这里就使用了extmail,extman作为管理工具(域和用户的管理)

MTA:发送信件,这里小编使用源码postfix实现(老版的不支持mysql扩展),美国服务器,当然这里还要结合简单认证安全层(sasl,使用cyrus-sasl实现)和courier-authlib才能够最终和mysql联系起来

MRA:接收信件,小编这里使用dovecot来实现

软件需求

所需的源码包:courier-authlib-0.63.0.tar、extmail-1.2.tar、extman-1.1.tar、postfix-2.10.tar、Unix-Syslog-1.1.tar(源码包均来自互联网,如有需要可自行下载)

还需要系统自带的rpm包,这里可以使用yum安装

yum install -y mysql openssl-devel perl-DBD-MySQL tcl tcl-devel libart_lgpl libart_lgpl-devel libtool-ltdl libtool-ltdl-devel expect

Step 1.网卡以及主机名参数设置

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

NETMASK=255.255.255.0

IPADDR=192.168.111.10

# vim /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=mail.zzu.com

Step 2.搭建web服务器

Apr安装

# tar -jxf apr-1.4.6.tar.bz2 -C /usr/local/src/

# cd /usr/local/src/apr-1.4.6/

# ./configure

# make && make install

Apr-util安装

# tar -jxf apr-util-1.5.2.tar.bz2 -C /usr/local/src/

# cd /usr/local/src/apr-util-1.5.2/

# ./configure --with-apr=/usr/local/src/apr-1.4.6/apr-1-config(加上apr的路径)

# make && make install

Pcre安装

# unzip pcre-8.32.zip

# cd pcre-8.32

# ./configure

# make && make install

安装apache

# tar -jxf httpd-2.4.4.tar.bz2 -C /usr/local/src/

./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-pcre=/usr/local/pcre/

# make && make install

编写启动脚本

# vim httpd

#!/bin/bash

# chkconfig: 35 80 30

# description: Apache server

HTTPD='/usr/local/apache/bin/httpd'

LOCKFILE='/var/lock/subsys/httpd'

. /etc/init.d/functions

function start(){

[ -e $LOCKFILE ] && echo "httpd is running ......." && exit

echo -n "httpd is starting ......"

sleep 1

`$HTTPD -k start`

}

function stop(){

echo -n "httpd is stoping......"

sleep 1

killproc $HTTPD &>/dev/null

}

function status(){

[ -e $LOCKFILE ]&& echo "httpd is running ......" || echo "httpd is stoped"

}

case $1 in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

status)

status

;;

*)

echo "httpd Usage: {start|stop|restart}"

;;

esac

# cp httpd /etc/init.d/

# chmod a+x /etc/init.d/httpd

# chkconfig --add httpd

# chkconfig httpd on

# service httpd start

clip_image004

Step 3.Mysql的安装

# groupadd mysql

# useradd -r -g mysql mysql

# cd /usr/local

# tar zxvf /path/to/mysql-VERSION-OS.tar.gz

# ln -s mysql-advanced-5.6.10-linux-glibc2.5-i686/ mysql

# cd mysql

# chown -R mysql .

# chgrp -R mysql .

# scripts/mysql_install_db --user=mysql

# chown -R root .

# chown -R mysql data

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

# bin/mysqld_safe --user=mysql &

# cp support-files/mysql.server /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig mysqld on

# ln –s /usr/local/mysql/lib /usr/lib/mysql

# ln -s /usr/local/mysql/include/ /usr/include/mysql

# vim /etc/bashrc //在文件最后加入下面的内容

export PATH=/usr/local/mysql/bin:$PATH

# . /etc/bashrc

启动mysql测试

# service mysqld start

# mysqladmin -u root password 123456 //修改初始密码

# mysql -u root –p

clip_image006

mysql> grant all on *.* to 'root'@'%' idenfied by '123456'; //赋予root用户最高权限

mysql> flush privileges; //刷新权限

Step 4.搭建DNS 服务器

# yum install bind bind-chroot caching-nameserver –y

# cd /var/named/chroot/etc/

创建配置文件

# cp -p named.caching-nameserver.conf named.conf

# vim named.conf

clip_image008

# vim named.rfc1912.zones

clip_image010

# cd ../var/named/

添加域文件

# cp -p localhost.zone zzu.com.zone

# vim zzu.com.zone

clip_image012

# echo “nameserver 192.168.111.10” > /etc/resolv.conf //修改DNS指向

# chkconfig named on

启动DNS服务器

# service named start

clip_image014

Step 5.安装配置postfix

之所以要使用源码安装是因为5.4自带的postfix不支持mysql的扩展啦

添加postfix用户

# groupadd -g 2525 postfix

# useradd -g postfix -u 2525 -s /sbin/nologin -M postfix

# groupadd -g 2526 postdrop

# useradd -g postdrop -u 2526 -s /bin/false -M postdrop

解压缩源码

# tar -zxvf postfix-2.10.0.tar.gz -C /usr/local/src/

# cd /usr/local/src/postfix-2.10.0/

网友评论
<