请尊重作者劳动,复制转载此文档时,请保留或添加文档来源。版权:开源易有(http://www.yiyou.org)
[*]base [*]devlopment libraries [*]development tools [*]editors [*]text-base internet其它不选择。
[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# wget http://mirrors.ta139.com/CentOS-Base.repo.ta139 [root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak [root@localhost yum.repos.d]# mv CentOS-Base.repo.ta139 CentOS-Base.repo
[root@localhost ~]# yum -y install httpd httpd-devel mysql mysql-devel mysql-server php php-xml php-cli php-pdo php-mbstring php-mcrypt php-gd php-common php-devel php-mysql修改启动配置并启动
[root@localhost ~]# chkconfig --level 345 mysqld on [root@localhost ~]# chkconfig --level 345 httpd on [root@localhost ~]# service mysqld start [root@localhost ~]# service httpd start
[root@localhost ~]# wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.9-all-languages-utf-8-only.tar.bz2 [root@localhost ~]# tar xjf phpMyAdmin-2.11.9-all-languages-utf-8-only.tar.bz2 [root@localhost ~]# mv phpMyAdmin-2.11.9-all-languages-utf-8-only /var/www/html/phpmyadmin [root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php编辑config.inc.php 改为下面,字符串是任意的。
$cfg['blowfish_secret'] = 'skssiwksksie'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */进入phpmyadmin 请马上修改mysql root 用户的密码。
[root@localhost ~]# tar zxf extman-0.2.5b1.tar.gz [root@localhost ~]# cd extman-0.2.5b1/docs/ [root@localhost docs]# mysql -uroot -p <extmail.sql Enter password: [root@localhost docs]# mysql -uroot -p <init.sql Enter password:如何使用了phpmyadmin改了root 密码,记得输入密码,如果密码为空,请按回车。
[root@localhost ~]# export RPMS=/usr/src/redhat/RPMS [root@localhost ~]# export SOURCE=/usr/src/redhat/SOURCES [root@localhost ~]# export SPEC=/usr/src/redhat/SPECS在下面安装过程中,大家要记住cd $RPMS 与cd /usr/src/redhat/RPMS 的目的是一样的,只是shell变量的替换。
[root@localhost ~]# yum -y install postgresql-devel expect libtool-ltdl-devel [root@localhost ~]# wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.61.0.tar.bz2 [root@localhost ~]# tar xjf courier-authlib-0.61.0.tar.bz2 [root@localhost ~]# cd courier-authlib-0.61.0 [root@localhost courier-authlib-0.61.0]# cp courier-authlib.spec $SPEC [root@localhost courier-authlib-0.61.0]# cd .. [root@localhost ~]# cp courier-authlib-0.61.0.tar.bz2 $SOURCE [root@localhost ~]# cd $SPEC [root@localhost SPECS]# rpmbuild -bb courier-authlib.spec (创建rpm文件)
[root@localhost SPECS]# cd $RPMS/i386 [root@localhost i386]# rpm -ivh courier-authlib-0.61.0-1.i386.rpm [root@localhost i386]# rpm -ivh courier-authlib-devel-0.61.0-1.i386.rpm [root@localhost i386]# rpm -ivh courier-authlib-mysql-0.61.0-1.i386.rpm
[root@localhost i386]# cd /etc/authlib/ [root@localhost authlib]# mv authdaemonrc authdaemonrc.bak [root@localhost authlib]# vim authdaemonrc输入下面的内容:
authmodulelist="authmysql" authmodulelistorig="authmysql" daemons=10 authdaemonvar=/var/spool/authdaemon DEBUG_LOGIN=2 DEFAULTOPTIONS="wbnodsn=1" LOGGEROPTS=""D、配置authmysqlrc
[root@localhost authlib]# mv authmysqlrc authmysqlrc.bak [root@localhost authlib]# vim authmysqlrc输入下面的内容:
MYSQL_SERVER localhost
MYSQL_USERNAME extmail
MYSQL_PASSWORD extmail
MYSQL_PORT 0
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_OPT 0
MYSQL_DATABASE extmail
MYSQL_SELECT_CLAUSE SELECT username,password,"",uidnumber,gidnumber,\
CONCAT('/home/data/domains/',homedir), \
CONCAT('/home/data/domains/',maildir), \
quota, \
name \
FROM mailbox \
WHERE username = '$(local_part)@$(domain)'
[root@localhost ~]# service courier-authlib start Starting Courier authentication services: authdaemond [root@localhost ~]# chmod 777 /var/spool/authdaemon/
[root@localhost ~]# useradd yiyou软件包依懒需要安装openldap-server,rpm创建完成后可以删除
[root@localhost ~]# yum -y install openldap-servers
[root@localhost ~]# su - yiyou
[yiyou@localhost ~]$ mkdir -p rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
[yiyou@localhost ~]$ vim ~/.rpmmacros
输入内容:
%_topdir /home/yiyou/rpm
[yiyou@localhost ~]$ wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2 [yiyou@localhost ~]$ cp courier-imap-4.4.1.tar.bz2 rpm/SOURCES/ [yiyou@localhost ~]$ tar xjf courier-imap-4.4.1.tar.bz2 [yiyou@localhost ~]$ cd courier-imap-4.4.1 [yiyou@localhost courier-imap-4.4.1]$ cp courier-imap.spec ../rpm/SPECS/ [yiyou@localhost courier-imap-4.4.1]$ cd ../rpm/SPECS/编辑courier-imap.spec 将下面的内容:
%if %suse_version
BuildPreReq: rpm >= 3.0.5 /usr/bin/sed openldap2 openldap2-devel %([ %{suse_version} -gt 819 ] && echo /usr/include/fam.h)
%else
BuildPreReq: rpm >= 4.0.2 sed /usr/include/fam.h openldap-devel openldap-servers
%endif
改为:%if %suse_version BuildPreReq: rpm >= 3.0.5 /usr/bin/sed openldap2 openldap2-devel %else BuildPreReq: rpm >= 4.0.2 sed openldap-devel openldap-servers %endif创建rpm
[yiyou@localhost SPECS]$ rpmbuild -bb courier-imap.spec完成rpm后,输入exit退出当前用户。
[root@localhost ~]# rpm -ivh /home/yiyou/rpm/RPMS/i386/courier-imap-4.4.1-1.i386.rpm [root@localhost ~]# service courier-imap start
[root@localhost ~]# wget ftp://194.199.20.114/linux/fedora/updates/8/SRPMS/cyrus-sasl-2.1.22-8.fc8.src.rpm [root@localhost ~]# rpm -ivh cyrus-sasl-2.1.22-8.fc8.src.rpm [root@localhost ~]# cd $SPEC编辑cyrus-sasl.spec 将下面:
# Bundling copy of Berkeley DB, for sasldb support.
topdir=`pwd`
pushd db-%{db_version}/build_unix
../dist/configure \
--with-mutex=UNIX/fcntl --disable-shared --enable-static --with-pic \
--with-uniquename=_cyrus_sasl_sasldb_rh \
--prefix=${topdir}/db-instroot \
--includedir=${topdir}/db-instroot/include \
--libdir=${topdir}/db-instroot/lib
改为:
# Bundling copy of Berkeley DB, for sasldb support.
topdir=`pwd`
pushd db-%{db_version}/build_unix
../dist/configure \
--with-mutex=UNIX/fcntl --disable-shared --enable-static --with-pic \
--with-uniquename=_cyrus_sasl_sasldb_rh \
--prefix=${topdir}/db-instroot \
--includedir=${topdir}/db-instroot/include \
--libdir=${topdir}/db-instroot/lib \
--with-authdaemond=/var/spool/authdaemon
[root@localhost SPECS]# rpmbuild -bb cyrus-sasl.spec [root@localhost RPMS]# cd $RPMS/i386 [root@localhost i386]# rpm -e --nodeps cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl cyrus-sasl-lib (如果这些包存在) [root@localhost i386]# rpm -ihv cyrus-sasl-lib-2.1.22-8.i386.rpm [root@localhost i386]# rpm -ihv cyrus-sasl-2.1.22-8.i386.rpm [root@localhost i386]# rpm -ihv cyrus-sasl-plain-2.1.22-8.i386.rpm
pwcheck_method:authdaemond log_level:3 mech_list:PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket
[root@localhost i386]# cd [root@localhost ~]# wget http://ftp.wl0.org/official/2.5/SRPMS/postfix-2.5.4-2.src.rpm [root@localhost ~]# rpm -ivh postfix-2.5.4-2.src.rpm [root@localhost ~]# cd $SPEC编辑postfix.spec 修改下面的选项
%define distribution rhel-5.0 %define with_mysql_redhat 1 %define with_sasl 2 %define with_vda 1
[root@localhost SPECS]# rpmbuild -bb postfix.spec [root@localhost RPMS]# cd $RPMS/i386 [root@localhost i386]# rpm -ivh postfix-2.5.4-2.rhel4.i386.rpm
[root@localhost i386]# alternatives --config mta (选择2,postfix) [root@localhost i386]# rpm -e sendmail [root@localhost i386]# cd /usr/sbin/ [root@localhost sbin]# mv sendmail sendmail.bak [root@localhost sbin]# newaliases [root@localhost sbin]# ln -s sendmail.postfix sendmail
[root@localhost ~]# cd /etc/postfix/ [root@localhost postfix]# mv main.cf main.cf.bak [root@localhost postfix]# vim main.cf输入下面的内容:
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
unknown_local_recipient_reject_code = 550
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = /usr/share/doc/postfix-2.5.2-documentation/html
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix-2.5.2-documentation/readme
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
myhostname = mail.yiyou.org
mydomain = yiyou.org
mydestination = $myhostname
smtpd_banner = yiyou.org ESMTP Mail System
message_size_limit = 14680064
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_base = /home/data/domains
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_limit_maps.cf
virtual_transport = maildrop:
maildrop_destination_recipient_limit = 1
#sasl
smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unauth_pipelining,
reject_invalid_hostname
复制extman/docs 目录的cf 文件到/etc/postfix
[root@localhost postfix]# cp /root/extman-0.2.5b1/docs/mysql_virtual_* .因为配置文件的用户、密码与数据库时一样,所以不用修改。
[root@localhost postfix]# service postfix start
[root@localhost postfix]# cd [root@localhost ~]# wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2 [root@localhost ~]# cp maildrop-2.0.4.tar.bz2 $SOURCE [root@localhost ~]# tar xjf maildrop-2.0.4.tar.bz2 [root@localhost ~]# cd maildrop-2.0.4 [root@localhost maildrop-2.0.4]# cp maildrop.spec $SPEC [root@localhost maildrop-2.0.4]# cd $SPEC编辑maildrop.spec 把下面:
BuildRequires: /usr/include/fam.h gdbm-devel pcre-devel改为:
BuildRequires: gdbm-devel pcre-devel把下面:
%configure --with-devel --enable-userdb --enable-maildirquota \ --enable-syslog=1 --enable-trusted-users='root mail daemon postmaster qmaild mmdf' \ --enable-restrict-trusted=0 \ --enable-sendmail=/usr/sbin/sendmail改为:
%configure --with-devel --enable-userdb --enable-maildirquota \ --enable-syslog=1 --enable-trusted-users='root mail daemon postmaster qmaild mmdf' \ --enable-restrict-trusted=0 --enable-sendmail=/usr/sbin/sendmail \ --enable-authlib
[root@localhost SPECS]# yum -y install pcre-devel [root@localhost SPECS]# rpmbuild -bb maildrop.spec [root@localhost SPECS]# cd $RPMS/i386 [root@localhost i386]# rpm -ivh maildrop-2.0.4-1.i386.rpm
[root@localhost i386]# cd [root@localhost ~]# groupadd -g 1000 vgroup [root@localhost ~]# useradd -g 1000 -u 1000 -s /sbin/nologin -d /dev/null vuser编辑/etc/postfix/master.cf ,加入下面的内容:
maildrop unix - n n - - pipe
flags=DRhu user=vuser argv=/usr/bin/maildrop -d ${user}@${nexthop} ${recipient} ${user} ${extension} ${nexthop}
[root@localhost ~]# mkdir -p /home/data/domains/extmail.org/postmaster [root@localhost ~]# maildirmake /home/data/domains/extmail.org/postmaster/Maildir [root@localhost ~]# chown -R vuser:vgroup /home/data/domains/
[root@localhost ~]# echo "test" | maildrop -V 10 -d postmaster@extmail.org maildrop: authlib: groupid=1000 maildrop: authlib: userid=1000 maildrop: authlib: logname=postmaster@extmail.org, home=/home/data/domains/extmail.org/postmaster, mail=/home/data/domains/extmail.org/postmaster/Maildir/ maildrop: Changing to /home/data/domains/extmail.org/postmaster Message start at 0 bytes, envelope sender=postmaster@extmail.org maildrop: Attempting .mailfilter maildrop: Delivery complete.出现上以信息说明authlib,maildrop 工作正常
[root@localhost ~]# telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK Hello there. user postmaster@extmail.org +OK Password required. pass extmail +OK logged in. list +OK POP3 clients that break here, they violate STD53. 1 6 . retr 1 +OK 6 octets follow. test . quit +OK Bye-bye. Connection closed by foreign host.
[root@localhost ~]# perl -MMIME::Base64 -e 'print encode_base64("postmaster\@extmail.org");'
cG9zdG1hc3RlckBleHRtYWlsLm9yZw==
[root@localhost ~]# perl -MMIME::Base64 -e 'print encode_base64("extmail");'
ZXh0bWFpbA==
[root@localhost ~]# service postfix restart (重启一下)
[root@localhost ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 yiyou.org ESMTP Mail System
ehlo test.com
250-mail.yiyou.org
250-PIPELINING
250-SIZE 14680064
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth login
334 VXNlcm5hbWU6
cG9zdG1hc3RlckBleHRtYWlsLm9yZw==
334 UGFzc3dvcmQ6
ZXh0bWFpbA==
235 2.7.0 Authentication successful
quit
221 2.0.0 Bye
Connection closed by foreign host
[dag] name=Dag RPM Repostory for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag gpgcheck=1 enabled=1 gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
[root@localhost ~]# yum -y install clamav clamav-db clamd clamav-devel amavisd-new编辑/etc/amavisd.conf,修改下面的内容
$mydomain = 'yiyou.org'; # a convenient default for other settings把下面内容去掉注释,并修改为下面
['ClamAV-clamd',
\&ask_daemon, ["CONTSCAN {}\n", "/tmp/clamd.socket"],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
[root@localhost ~]# usermod -G amavis clamav [root@localhost ~]# service clamd start在/etc/postfix/master.cf 增加下面的内容:
smtp-amavis unix - - n - 4 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o receive_override_options=no_header_body_checks
在/etc/postfix/main.cf 加入下面的内容
content_filter = smtp-amavis:[localhost]:10024
[root@localhost ~]# service postfix reload
User vuser Group vgroup
[root@localhost ~]# cd /etc/httpd/conf.d/ [root@localhost conf.d]# vim extmail.conf输入下面的内容:
Alias /extman/cgi/ /var/www/extsuite/extman/cgi/ Alias /extman /var/www/extsuite/extman/html/ <Location "/extman/cgi"> SetHandler cgi-script Options +ExecCGI </Location> # config for ExtMail Alias /extmail/cgi/ /var/www/extsuite/extmail/cgi/ Alias /extmail /var/www/extsuite/extmail/html/ <Location "/extmail/cgi"> SetHandler cgi-script Options +ExecCGI </Location>
[root@localhost ~]# mkdir /var/www/extsuite [root@localhost ~]# tar zxf extmail-1.0.5b1.tar.gz [root@localhost ~]# cp -r extmail-1.0.5b1 /var/www/extsuite/extmail [root@localhost ~]# cp -r extman-0.2.5b1 /var/www/extsuite/extman
[root@localhost ~]# cd /var/www/extsuite/extmail/ [root@localhost extmail]# cp webmail.cf.default webmail.cf修改webmail.cf 下面的选项
SYS_SESS_DIR = /tmp/extmail SYS_MAILDIR_BASE = /home/data/domains SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail
[root@localhost extmail]# cd /var/www/extsuite/extman/修改webman.cf 下面的选项:
SYS_MAILDIR_BASE = /home/data/domains
[root@localhost extman]# mkdir /tmp/{extman,extmail}
[root@localhost extman]# chown vuser:vgroup /tmp/ext*
[root@localhost addon]# cd /var/www/extsuite/extman/addon/ [root@localhost addon]# cp -r mailgraph_ext /usr/local/将下面的内容加入/etc/rc.local
/usr/local/mailgraph_ext/mailgraph-init start /usr/local/mailgraph_ext/qmonitor-init start安装所依懒的软件包
[root@localhost mailgraph_ext]# yum -y install rrdtool perl-rrdtool perl-GD perl-File-Tail
[root@localhost mailgraph_ext]# /usr/local/mailgraph_ext/qmonitor-init start Starting queue statistics grapher: qmonitor [root@localhost mailgraph_ext]# /usr/local/mailgraph_ext/mailgraph-init start Starting mail statistics grapher: mailgraph_ext
[root@localhost ~]# tar zxf slockd-0.2beta1.tar.gz [root@localhost ~]# cp -r slockd-0.2beta1 /usr/local/slockd [root@localhost ~]# cd /usr/local/slockd将下面的内容加入/etc/rc.local
/usr/local/slockd/slockd-init start[root@localhost slockd]# vim config/main.cf (编辑slockd/config/main.cf)修改下面的内容
setsid 1 (去掉注释,让程序成为后台进程)修改/etc/postfix/main.cf 将原先的内容:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname改为:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, check_policy_service inet:127.0.0.1:10030重载postfix 配置文件
[root@localhost slockd]# service postfix reload
[root@localhost slockd]# chown -R vuser:vgroup /var/lib/php/session/
请尊重作者劳动,复制此文档时,请保留或添加文档来源。版权:开源易有(http://www.yiyou.org)