声明:本人也是个linux新手,是按照网上的文档安装成功的,现在就结合网上文档加上自己的实践贴一下安装配置过程
1.安装httpd-manual httpd system-config-httpd
php-mysql mysqllibdbi-dbd-mysql mysql-connector-odbc mysql-server mysql-devel
php-cli php-ldapphp-pdo php php-common
2.开启
apache
、
mysql
#servicehttpd start
#service mysqld start
3.测试php环境和mysql
测试
php
vi /var/www/html/test.php
内容如下
:
<?php
phpinfo();
?>
在浏览器里输入
http://yourip/test.php
成功运行将会出现
PHP
的
logo
图标和配置信息。
测试
PHP
与
MySQL
数据库的协同工作
编写一个
PHP
测试网页,添加简单的数据库操作命令,用于验证与
MySQL
服务器的连接情况
# vi /var/www/html/testdb.php
代码如下:
<?php
$link=mysql_connect('localhost','root','');
if(!$link) echo"Fail!!!";
else echo"Success!!";
mysql_close();
?>
使用浏览器访问
http://yourip/testdb.php
进行测试。如果可以正常连接数据库
会显示“
Success!!
”,否则显示“
Fail!!
”
4.
创建数据库
解压
Extman
到
/var/www/html/
#tar zxvf extman-1.1.tar.gz -C /var/www/html
#cd /var/www/html
#mv extman-1.1 extman
#chown -R vmail:vmail extman/cgi
#mkdir /tmp/extman
#chown -R vmail:vmail /tmp/extman
导入
mysql
数据库结构及初始化数据,
root
密码默认为空提示输入密码直接回车即可
#mysql -u root -p < /var/www/html/extman/docs/extmail.sql
#mysql -u root -p </var/www/html/extman/docs/init.sql
5.设置DNS 要有MX记录
如果没有可用的DNS服务器就要自己安装并配置新的DNS服务器,这里就不再介绍了
6.
源码编译安装postfix+dovecot邮件系统
1).
创建安装postfix
、dovecot
以及运行webmail
的用户
#groupadd -g 1200 postdrop
#groupadd -g 1000 postfix
#useradd -M -u 1000 -s /sbin/nologinpostfix -g postfix -G postdrop
#groupadd dovenull
#useradd -M dovenull -s /sbin/nologin -g dovenull
#groupadd dovecot
#useradd -M dovecot -s /sbin/nologin -g dovecot
#groupadd -g 1010 vmail
#useradd vmail -u 1010 -g vmail -d/mailbox -s /sbin/nologin
2)
安装postfix
因为系统中已存在
Sendmail
这个
MTA
程序
,
我们需要用
Postfix
替换它,只要切换到
Postfix
就可以了,先不要卸载
sendmail
安装完
postfix
切换系统默认的
MTA
之后再卸载
sendmail
关闭
sendmail
服务
#service sendmail stop
#chkconfig --level 2345 sendmail off
安装
postfix
并选择
Dovecot
作为
sasl
发信认证模块
#tar zxvf postfix-2.8-20101217.tar.gz -C/usr/local/src/
# cd /usr/local/src/postfix-2.8-20101217/
生成
Makefile
文件,编译
Postfix
支持
SMTP AUTH
和
TLS,CentOS5.5
已包含了
Openssl,
头文件
(
例如
ssl.h)
在
/usr/include/openssl
中
,
如果自我编译
Openssl
请注意文件路径。
#make CCARGS='-DHAS_MYSQL -I/usr/include/mysql \
-DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\" \
-DUSE_TLS -I/usr/include/openssl' \
AUXLIBS='-L/usr/lib/mysql -lmysqlclient -lz-lm \
-L/usr/lib -lssl -lcrypto'
#make install
编译完后会进入交互式的问答,选择默认值即可,可参照如下设置:
install_root: [/]
config_directory: [/etc/postfix]
tempdir: [/tmp]
command_directory: [/usr/sbin]
daemon_directory: [/usr/libexec/postfix]
data_directory: [/var/lib/postfix]
html_directory: [no]
mail_owner: [postfix]
mailq_path: [/usr/bin/mailq]
manpage_directory: [/usr/local/man]
newaliases_path: [/usr/bin/newaliases]
queue_directory: [/var/spool/postfix]
readme_directory: [no]
sendmail_path: [/usr/sbin/sendmail]
setgid_group: [postdrop]
安装完毕。
检查
postfix
支持的
SASL
验证类型
,
参数
-a
查询服务器端类型,用来验证登录用户,
-A
查询客户端类型,
Postfix
用来和别的服务器通讯。
#postconf -a
显示:
dovecot
说明现在已经支持
dovecot
认证了
查看是否支持
mysql
#postconf �Cm
显示内容如果有
mysql
说明支持
mysql
创建邮箱目录
,
假定虚拟用户邮件全部在
/mailbox
中。
#mkdir /mailbox
#chown -R vmail:vmail /mailbox/
附相关配置文件
,
请根据实际情况修改。邮箱采用
Maildir
格式,用户的邮箱目录格式是
/mailbox/domain/username/Maildir
先备份
main.cf
配置文件
#cp /etc/postfix/main.cf/etc/postfix/main.cf.bak
然后编辑
#vi /etc/postfix/main.cf
清空内容添加以下内容:
##########################BASE################################
queue_directory = /var/spool/postfix
command_directory =/usr/sbin
daemon_directory =/usr/libexec/postfix
data_directory =/var/lib/postfix
myhostname =mail.test.com
mydomain = test.com
myorigin = $mydomain
inet_interfaces = all
mydestination =
unknown_local_recipient_reject_code= 550
mynetworks_style = subnet
mynetworks = 127.0.0.0/8
home_mailbox = Maildir/
sendmail_path =/usr/sbin/sendmail
newaliases_path =/usr/bin/newaliases
mailq_path =/usr/bin/mailq
setgid_group = postdrop
manpage_directory =/usr/local/man
sample_directory =/etc/postfix
readme_directory=no
#####################VritualMailbox settings############################
virtual_mailbox_base =/mailbox
virtual_mailbox_maps =mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_domains =mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps =mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_uid_maps =static:1010
virtual_gid_maps =static:1010
virtual_transport =virtual
message_size_limit =10240000
virtual_mailbox_limit =209715200
virtual_create_maildirsize= yes
virtual_mailbox_extended= yes
virtual_mailbox_limit_maps= mysql:/etc/postfix/mysql_virtual_limit_maps.cf
virtual_mailbox_limit_override= yes
virtual_maildir_limit_message= Sorry, the user's maildir has overdrawn his diskspace quota, please try againlater.
virtual_overquota_bounce=yes
#############################SASL############################################
smtpd_sasl_auth_enable =yes
smtpd_sasl_local_domain =$mydomain
smtpd_sasl_security_options= noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path =private/auth
broken_sasl_auth_clients= yes
smtpd_recipient_restrictions= permit_mynetworks, permit_sasl_authenticated,
permit_auth_destination,reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_sender_domain,
reject_non_fqdn_sender,reject_non_fqdn_recipient, reject_unknown_recipient_domain,reject_unauth_pipelining,
reject_unauth_destination, reject
注意
smtpd_recipient_restrictions
后面的内容要放在一行如果想放在多行,每行结尾需要“,”隔开并且每行首要有空格
启动
postfix
#postfix start
停止
postfix
#postfix stop
重新加载
postfix
#postfix reload
3).
安
装
Dovecot
下载地址
http://www.dovecot.org/
安装
dovecot
#tar zxvf dovecot-2.0.8.tar.gz-C /usr/local/src/
#cd /usr/local/src/dovecot-2.0.8/
配置参数使
Dovecot
支持
Mysql
数据库生成
Makefile
文件。
#CPPFLAGS='-I/usr/include-I/usr/include/openssl' \
LDFLAGS='-L/usr/lib' ./configure --prefix=/usr/local/dovecot \
--sysconfdir=/etc--localstatedir=/var --with-sql --with-mysql --with-ssl=openssl
#make
#make install
默认配置文件在
/etc/dovecot
目录
:
#cd/usr/local/dovecot/share/doc/dovecot/example-config/
#cp dovecot.confdovecot-sql.conf.ext /etc/dovecot/
#
cd /etc/dovecot/
#mvdovecot-sql.conf.ext dovecot-mysql.conf
#vi/etc/dovecot/dovecot.conf
清空并添加内容如下:
protocols = imap pop3
listen = *
base_dir =/usr/local/dovecot/
auth_debug = yes
auth_default_realm =test.com
default_login_user =dovecot
default_internal_user =dovecot
disable_plaintext_auth =no
ssl = no
mail_uid = 1010
mail_gid = 1010
first_valid_uid = 1010
last_valid_uid = 1010
log_path =/var/log/dovecot.log
mail_location =maildir:/mailbox/%d/%n/Maildir
pop3_uidl_format=%08Xu%08Xv
auth default {
mechanisms = plain login
passdb sql {
args = /etc/dovecot/dovecot-mysql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-mysql.conf
}
socket listen {
client {
path =/var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
注意:
邮箱格式,在
dovecot
中
%d
代表域名
(domain)
,
%n
代表用户名称
(user)
,
%u
代表
user@domain
。
编辑
dovecot-mysql.conf
#vi /etc/dovecot/dovecot-mysql.conf
清空并添加内容如下:
driver = mysql
connect = host=localhostdbname=extmail user=extmail password=extmail
default_pass_scheme =MD5-CRYPT
password_query = SELECTpassword, maildir as userdb_home FROM mailbox WHERE username = '%u'
user_query = select 1010as uid ,1010 as gid from mailbox where username='%u' And active='1'
注意:default_pass_scheme为密码加密方式如果设置错误会导致outlook等邮件客户端不能收信
启动
dovecot
服务
#/usr/local/dovecot/sbin/dovecot-c /etc/dovecot/dovecot.conf
接下篇文文章
了解更多请移步路人甲技术交流 http://www.walkerjava.com
期待您的加入