声明:本人也是个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.开启apachemysql
#servicehttpd start
#service mysqld start
3.测试php环境和mysql
测试php
vi /var/www/html/test.php
内容如下:
<?php
phpinfo();
?>
在浏览器里输入http://yourip/test.php成功运行将会出现PHPlogo图标和配置信息。
测试PHPMySQL数据库的协同工作
编写一个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).创建安装postfixdovecot以及运行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 AUTHTLS,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 –m
显示内容如果有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期待您的加入