Postfix+dovecot+extmail+sasl+mysql源码安装手册
dovecot+postfix+courier-authlib+cyrus-sasl+extmail+extman安装配置
需要软件
Dovecot 客户端收发邮件(110/995/143/993等)
Postfix 邮件发送(25)
Extmail 邮件web页面
Extman exmail管理后台
Cyrus-sasl 邮件验证
Courier-authd 用户验证连接MYSQL程序
Httpd web访问
Mysql 存储用户信息
Php 动态网页支持
结构图(一定要读懂,很关键。)
LAMP的安装配置
httpd安装配置
httpd安装
shell> tar zxvf apr-1.51.tar.gz
shell> cd apr-1.51
shell> ./configure –prefix=/data/sw/apr
shell> make && make install
shell> tar zxvf apr-util-1.53.tar.gz
shell> cd apr-util-1.53.tar.gz
shell> ./configure –prefix=/data/sw/apr-util –with-apr=/data/sw/apr --enable-suexec
shell> make && make install
shell> tar zxvf pcre-8.33.tar.gz
shell> cd pcre-8.33
shell> ./configure –prefix=/data/sw/pcre –enable-utf8
shell> make && make install
shell> tar zxvf httpd-2.4.9.tar.gz
shell> cd httpd-2.4.9
shell> ./configure --prefix=/data/sw/httpd --enable-ssl --enable-cgi --enable-vhost-alias --enable-so --with-apr=/data/sw/apr --with-apr-util=/data/sw/apr-util --with-pcre=/data/sw/pcre
shell> make&& make install
httpd配置
shell> cd /data/sw/httpd/conf
shell> vi httpd.conf
修改Listen 80 à
Listen 0.0.0.0:80
修改#ServerName www.example.com à
ServerName localhost:80
Shell> echo “export PATH=$PATH:/data/sw/httpd/bin” >>/etc/profile
Shell> source /etc/profile
启动httpd
Shell> apachectl start
httpd测试
查看端口
Shell> netstat –nlupt
访问http://http-server/
Mysql的安装配置
Bison的安装—MYSQL编译需要
Shell> tar zxvf bison-3.0.tar.gz
Shell> cd bison-3.0
Shell> ./configure –prefix=/data/sw/bison
Shell> make && make install
Cmake安装—MYSQL编译需要
Shell> tar zxvf cmake-2.8.10.2.tar.gz
Shell> cd cmake-2.8.10.2
Shell> ./configure –prefix=/data/sw/cmake
Shell> gmake
Shell> make install
Mysql的安装
Shell> groupadd –g 1000 mysql
Shell> useradd –g mysql –u 1000 –d /dev/null –s /sbin/nologin mysql
Shell> tar zxvf mysql-5.5.37.tar.gz
Shell> cd mysql -5.5.37
Shell> /data/sw/cmake/bin/cmake –DCMAKE_INSTALL_PREFIX=/data/sw/mysql –DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
Shell> make && make install
Mysql配置
Shell> cd /data/sw/mysql
Shell> cp support-files/my-medium.cf ./my.cnf
Shell> chown –R mysql:msyql /data/sw/mysql
Shell> cd /data/sw/mysql/scripts/
Shell> ./mysql_install_db --basedir=/data/sw/mysql/ --datadir=/data/sw/mysql/data --user=mysql --collation-server=utf8_general_ci
Shell> echo “export PATH=$PATH:/data/sw/mysql/bin” >> /etc/profile
Shell> source /etc/profile
Shell> echo “/data/sw/mysql/lib” >> /etc/ld.so.conf
Shell> ldconfig –v
Shell> mysqld_safe &
Shell> mysqladmin –uroot password ‘root’
Mysql测试
Shell> netstat –nlupt
Shell> mysql –uroot –proot –e “show databases;”
DBI/Test-Deep/DBD-mysql的安装—perl访问mysql需要
Shell> tar zxvf DBI-1.631.tar.gz
Shell> cd DBI-1.631
Shell> perl MakeFile.pl
Shell> make && make install
Shell> tar zxvf Test-Deep-0112.tar.gz
Shell> cd Test-Deep-0112
Shell> perl Makefile.PL
Shell> make && make install
Shell> tar zxvf DBD-mysql-4.027.tar.gz
Shell> cd DBD-mysql-4.027
Shell> perl Makefile.PL --mysql_config=/data/sw/mysql/bin/mysql_config --testdb=test --testuser=root --testhost=localhost --testpassword=root --testport=3306 --testsocket=/tmp/mysql.sock
Shell> make
Shell> make test
Shell> make install
PHP的安装配置
Libiconv安装—php编译需要
Shell> tar zxvf libiconv-1.14.tar.gz
Shell> cd libiconv-1.14
Shell> ./configure –prefix=/data/sw/libiconv
Shell> make
Shell> make install
GD/gd/libpng/libjpeg/zlib/freetype的安装
shell> tar xvf libpng-1.6.8.tar.xz
shell> cd libpng-1.6.8
shell> ./configure
shell> make && make install
shell> tar zxvf jpegsrc.v9a.tar.gz
shell> cd jpeg-9a
shell> ./configure –mandir=/usr/share/man/man1
shell> make && make install
shell> tar zxvf zlib-1.2.7.tar.gz
shell> cd zlib-1.2.7
shell> ./configure
shell> make && make install
shell> tar xvf freetype-2.4.8.tar.bz2
shell> cd freetype-2.4.8
shell> ./configure
shell> make && make install
shell> tar zxvf fontconfig-2.11.1.tar.gz
shell> cd fontconfig-2.11.1
shell> ln –s /usr/local/lib/pkgconfig/freetype2.pc /usr/lib/pkgconfig/freetype2.pc
shell> ./configure
shell> make && make install
shell> tar zxvf gd-2.0.33.tar.gz
shell> cd gd-2.0.33
shell> ./configure
shell> make && make install
shell> tar zxvf GD-2.53.tar.gz
shell> cd GD-2.53
shell> perl MakeFile
shell> make && make install
Php安装
Shell> tar zxvf php-5.5.12.tar.gz
Shell> cd php-5.5.12
Shell> ./configure –prefix=/data/sw/php –with-iconv-dir=/data/sw/libiconv –enable-fpm –with-mysql=/data/sw/mysql –with-apxs2=/data/sw/http/bin/apxs
Shell> make
Shell> make test
Shell> make install
Shell> echo “export PATH=$PATH:/data/sw/php/bin:/data/sw/php/sbin” >>/etc/profile
Shell> source /etc/profile
php配置
shell> cd php-5.5.12
Shell> cp php.ini-development /data/sw/php/php.ini
Shell> cd /data/sw/php
Shell> cp etc/php-fpm.conf.default etc/php-fpm.conf
Shell> echo “export PATH=$PATH:/data/sw/php/bin” >> /etc/profile
Shell> source /etc/profile
Httpd对Php配置
Shell> vi /data/sw/httpd/conf/httpd.conf
Php测试
Shell> cd /data/sw/httpd/htdocs
Shell> mv index.html index.html.bak
Shell> echo “<?php phpinfo(); ?>” > index.php
Shell> killall httpd
Shell> apachectl
访问http://localhost
DNS中转配置
参考
http://chengchow.blog.51cto.com/1642666/1209233
也可以不安装,通过修改hosts文件来解析域名和IP地址
Mail系统安装配置
tcl/tk/expect安装
shell> tar zxvf tcl8.5.7-src.tar.gz
shell> cd tcl8.5.7/unix
shell> ./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib –libexecdir=/usr/libexec –includedir=/usr/include –sysconfdir=/usr/local/etc
shell> make && make install
shell>tar zxvf tk8.5.7.tar.gz
shell> cd tk8.5.7/unix
shell> ./configure –bindir=/usr/bin –sbindir=/usr/sbin –libdir=/usr/lib –libexecdir=/usr/libexec –includedir=/usr/include –sysconfdir=/usr/local/etc
shell> make && make install
shell> tar zxvf expect-5.44.1.15.tar.gz
shell> cd expect-5.44.1.15
shell> ./configure
shell> make && make install
## extmail修改密码需要
cyrus-sasl/mailbase的安装配置—smtp发送验证
shell> tar zxvf cyrus-sasl-2.1.26.tar.gz
shell> cd cyrus-sasl-2.1.26
shell> cp /data/sw/mysql/include/*.h /usr/include/.
Shell> mkdir –p /var/run/cyrus-sasl
Shell> chmod –R 755 /var/run/cyrus-sasl
shell> ./configure --prefix=/data/sw/cyrus-sasl --enable-cram --enable-digest --enable-plain --enable-login --disable-anon --enable-sql --with-authdaemond=/data/sw/courier-authlib/var/spool/authdaemon/ --with-mysql=/data/sw/mysql/include/ --localstatedir=/var/run/cyrus-sasl
安装报错:cannot find –lmysqlclient
修改config.status文件
S["LIB_MYSQL"]="-L/data/sw/mysql/lib -Wl,-rpath,/data/sw/mysql/lib -lmysqlclient"
## 这个调参数调了几次都没成功,就手动修改了config.status文件了
shell> make && make install
启动
Shell> ln –s /usr/local/lib/sasl2 /usr/lib/sasl2
## 否则telnet时报错mail postfix/smtpd[6777]: fatal: no SASL authentication mechanisms
Shell> echo “export PATH=$PATH:/data/sw/cyrus-sasl/sbin” >>/etc/profile
Shell> source /etc/profile
Shell> saslauthd -a shadow getpwent pam rimap -d &
courier-authlib的安装配置
courier-authlib安装
shell> tar xvf courier-authlib-0.62.4.tar.bz2
shell> cd courier-authlib-0.62.4
shell> mkdir –p /var/run/courier-authlib
shell> chmod –R 755 /var/run/courier-authlib
shell> ./configure --prefix=/data/sw/courier-authlib --with-mailuser=postfix--with-mailgroup=postfix --with-mysql-libs=/data/sw/mysql/lib --with-mysql-includes=/data/sw/mysql/include –localstatedir=/var/run/courier-authlib
shell> make
shell> make install
courier-authlib配置
Shell> chmod 755 /data/sw/courier-authlib/var/spool/authdaemon
Shell> cd /data/sw
Shell> cp etc/authlib/authdaemonrc.dist etc/authlib/authdaemonrc
Shell> cp etc/authlib/authmysqlrc.dist etc/authlib/authmysqlrc
Shell> vi etc/authlib/authdaemonrc
## DEBUG_LOGIN=2详细日志,调试时用
Shell> vi etc/authlib/authmysqlrc
创建邮件存储目录
Shell> mkdir –p /home/domains
Shell> chown –R postfix:postfix /home/domains
courier-authlib启动
shell> echo “export PATH=$PATH:/data/sw/courier-authlib/sbin” >> /etc/profile
shell> source /etc/profile
shell> echo “/data/sw/courier-authlib/lib/courier-authlib” >> /etc/ld.so.conf
shell> ldconfig –v
shell> authdaemond start
shell> ps aux | grep authdaemond
dovecot的安装配置
dovecot的安装
shell> tar zxvf dovecot-2.2.13.tar.gz
shell> cd dovecot-2.2.13
shell>./configure --prefix=/data/sw/dovecot --with-pam --with-mysql --with-zlib --with-ssl=openssl
shell> cp –r doc/example-config/* /data/sw/dovecot/etc/dovecot/.
Shell> mkdir -p /etc/ssl/certs
dovecot的配置
shell> echo “export PATH=$PATH:/data/sw/dovecot/bin:/data/sw/dovecot/sbin” >> /etc/profile
shell> cd /data/sw/dovecot/etc/dovecot
Shell> doveconf –n > dovecot.conf.new
Shell> mv dovecot.conf dovecont.conf.old;mv dovecot.conf.new dovecot.conf
dovecot测试
postfix的安装配置
postfix安装
Shell> echo “/data/sw/mysql/llib” >> /etc/ld.so.conf
shell> groupadd -g 1001 postfix
shell> useradd -g postfix -u 1001 -s /sbin/nologin -M postfix
shell> groupadd -g 1002 postdrop
shell> useradd -g postdrop -u 1002 -s /bin/nologin -M postdrop
shell>make makefiles 'CCARGS=-DHAS_MYSQL -I/data/sw/mysql/include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/data/sw/mysql/lib -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto'
shell> ln –s /etc/postfix/aliases /etc/aliases
postfix配置
Shell> vi /etc/postfix/main.cf
Myhostname = mail.zhengwing.org
Mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
Mynetworks = 192.168.254.0/24, 127.0.0.1/8
alias_maps = hash:/etc/aliases
shell> ln –s /etc/postfix/aliases /etc/aliases
Postfix测试
Postfix支持saslauthd
Shell> vi /etc/postfix/main.cf
Shell> ln –s /data/sw/cyrus-sasl/lib/sasl2 /usr/lib/sasl2
Shell> vi /usr/lib/sasl2/smtpd.conf
## 方框内配置可以不写,不影响使用,但日志会有auxprop的一个警告信息
Extmail/extman的安装配置
Extmail/extman的安装
Shell> tar zxvf extmail -1.2.tar.gz –C /data/sw/httpd/htdocs
Shell> tar zxvf extman-1.1.tar.gz –C /data/sw/httpd/htdocs
Shell> cd /data/sw/httpd/htdocs
Shell> chmod +x –R extmail/tools extman/tools
Shell> chown –R postfix:postfix extmail/cgi extman/cgi
Shell> cp extman/docs/mysql* /data/sw/dovecot/etc/dovecot/.
Shell> /data/sw/httpd/htdocs/docs
修改extmail.sql中TYPE=MyISAM为ENGINE=MyISAM
Shell> mysql –uroot –proot < extmail.sql
Shell> mysql –uroot –proot < init.sql
Shell> vi /data/sw/httpd/conf/httpd.conf
## 也可以配置虚拟域用户,如上图注销部分,但是需要suexec模块支持
Shell> sed -i '1c\#!/usr/bin/perl -w' /data/sw/httpd/htdocs/extmail/cgi/index.cgi
Httpd cgi配置
Shell> saslauthd -a shadow getpwent pam rimap -d &
Unix-Syslog的安装
## extmail日志需要,可以不安装,这里使用syslog-ng,日志都集中发送到/var/log/message
Shell> tar zxvf Unix-Syslog-1.1.tar.gz
应用测试
Webmail测试
http://192.168.254.200/extman/cgi/index.cgi
Foxmail配置
设置接收和发送邮件服务器,这里可以分别选择pop3和IMAP
附一:extmail配置文件
SYS_CONFIG = /data/sw/httpd/htdocs/extmail/
SYS_LANGDIR = /data/sw/httpd/htdocs/extmail/lang
SYS_TEMPLDIR = /data/sw/httpd/htdocs/extmail/html
SYS_SMTP_HOST = 192.168.254.200
SYS_LOG_FILE = /var/log/extmail.log
SYS_MESSAGE_SIZE_LIMIT = 5242880
SYS_MAILDIR_BASE = /home/domains
SYS_MYSQL_SOCKET = /tmp/mysql.sock
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_DOMAIN = domain
SYS_MYSQL_ATTR_PASSWD = password
SYS_MYSQL_ATTR_CLEARPW = clearpwd
SYS_MYSQL_ATTR_NDQUOTA = netdiskquota
SYS_MYSQL_ATTR_MAILDIR = maildir
SYS_MYSQL_ATTR_DISABLEWEBMAIL = disablewebmail
SYS_MYSQL_ATTR_DISABLENETDISK = disablenetdisk
SYS_MYSQL_ATTR_DISABLEPWDCHANGE = disablepwdchange
SYS_MYSQL_ATTR_ACTIVE = active
SYS_MYSQL_ATTR_PWD_QUESTION = question
SYS_MYSQL_ATTR_PWD_ANSWER = answer
SYS_LDAP_BASE = o=extmailAccount,dc=example.com
SYS_LDAP_RDN = cn=Manager,dc=example.com
SYS_LDAP_ATTR_DOMAIN = virtualDomain
SYS_LDAP_ATTR_PASSWD = userPassword
SYS_LDAP_ATTR_CLEARPW = clearPassword
SYS_LDAP_ATTR_QUOTA = mailQuota
SYS_LDAP_ATTR_NDQUOTA = netdiskQuota
SYS_LDAP_ATTR_HOME = homeDirectory
SYS_LDAP_ATTR_MAILDIR = mailMessageStore
SYS_LDAP_ATTR_DISABLEWEBMAIL = disablewebmail
SYS_LDAP_ATTR_DISABLENETDISK = disablenetdisk
SYS_LDAP_ATTR_DISABLEPWDCHANGE = disablePasswdChange
SYS_LDAP_ATTR_PWD_QUESTION = question
SYS_LDAP_ATTR_PWD_ANSWER = answer
SYS_AUTHLIB_SOCKET = /data/sw/courier-authlib/var/spool/authdaemon/socket
SYS_G_ABOOK_LDAP_HOST = localhost
SYS_G_ABOOK_LDAP_BASE = ou=AddressBook,dc=example.com
SYS_G_ABOOK_LDAP_ROOTDN = cn=Manager,dc=example.com
SYS_G_ABOOK_LDAP_ROOTPW = secret
SYS_G_ABOOK_LDAP_FILTER = objectClass=OfficePerson
SYS_G_ABOOK_FILE_PATH = /data/sw/httpd/htdocs/extmail/globabook.cf
SYS_G_ABOOK_FILE_CHARSET = utf-8
附二:extman配置文件
SYS_CONFIG = /data/sw/httpd/htdocs/extman/
SYS_LANGDIR = /data/sw/httpd/htdocs/extman/lang
SYS_TEMPLDIR = /data/sw/httpd/htdocs/extman/html
SYS_MAILDIR_BASE = /home/domains
SYS_GROUPMAIL_SENDER = postmaster@extmail.org
SYS_DEFAULT_SERVICES = webmail,smtpd,smtp,pop3,netdisk
SYS_DOMAIN_HASHDIR_DEPTH = 2x2
SYS_QUOTA_MULTIPLIER = 1048576
SYS_MYSQL_SOCKET = /tmp/mysql.sock
SYS_MYSQL_ATTR_USERNAME = username
SYS_MYSQL_ATTR_PASSWD = password
SYS_LDAP_BASE = dc=extmail.org
SYS_LDAP_RDN = cn=Manager,dc=extmail.org
SYS_LDAP_ATTR_PASSWD = userPassword
SYS_CMDSERVER_SOCK = /tmp/cmdserver.sock
SYS_CMDSERVER_PID = /var/run/cmdserver.pid
SYS_CMDSERVER_LOG = /var/log/cmdserver.log
SYS_CMDSERVER_AUTHCODE = your_auth_code_here
附三:dovecot.conf配置
# 2.2.13: /data/sw/dovecot/etc/dovecot/dovecot.conf
# OS: Linux 3.8.13-gentoo i686 Gentoo Base System release 2.1 ext3
mail_location = maildir:/home/domains/%d/%n/Maildir
args = /data/sw/dovecot/etc/dovecot/dovecot-mysql.conf
args = /data/sw/dovecot/etc/dovecot/dovecot-mysql.conf
附四:postfix配置文件
queue_directory = /var/spool/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
myhostname = mail.zhengwing.org
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.254.0/24,127.0.0.0/8
alias_maps = hash:/etc/postfix/aliases
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
manpage_directory = /usr/local/man
sample_directory = /etc/postfix
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version is test!
reject_unknown_recipient_domain,
reject_authenticated_sender_login_mismatch
mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_base = /home/domains
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:1001
Postfix+dovecot+extmail+sasl+mysql源码安装手册相关推荐
- (二)企业部分之lnmp环境的搭建:mysql源码安装
Web服务器架构 Web服务器架构一般主要由系统环境.Web服务器.数据库和语言组成. 可以有以下组成方式: 系统:linux unix windox mac freebsd aix Web服务器:a ...
- mysql centos 源码安装_CentOS5下MySQL源码安装方式
1.编译环境安装 uname -aLinux ha01 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Lin ...
- rad linux下安装mysql_Linux(CentOS或RadHat)下MySQL源码安装
MySQL 5.6开始,需要使用g++进行编译. cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本. bison :MySQL语法解析器需要使用bis ...
- linux安装源码mysql失败,linux停mysql源码安装
当前位置:我的异常网» Linux/Unix » linux停mysql源码安装 linux停mysql源码安装 www.myexceptions.net 网友分享于:2013-07-19 浏览: ...
- mysql源码安装(带图详解)
** mysql源码安装 ** mysql源码安装 参考教程: https://www.cnblogs.com/igoodful/p/11365494.html https://blog.csdn.n ...
- Mysql 源码安装
一.文章说明 最近接触到mysql数据库,因此闲来研究一下,今天演示一下用源码安装mysql,如果使用rpm包安装的话个人感觉挺简单的. 环境说明: 操作系统:rhel 5.4 x86 Mysql版本 ...
- mysql源码安装配置_MySQL源码安装及配置
目录 --cmake下载安装 http://cmake.org/download/ # wgethttp://cmake.org/files/v3.3/cmake-3.3.2.tar.gz # tar ...
- centos 7 mysql 源码安装_centos7 mysql5.7.17源码安装
centos7 mysql5.7.17源码安装 **安装前准备 操作系统环境:Centos 7.2 1.解决依赖包并下载源码包至/home/soft/目录下[root@node03 ~]# yum - ...
- php mysql 源码 安装教程_源码安装和配置apache(httpd)和 PHP 和 mysql全过程(一)...
[服务器环境为:CentOS6.5 64位目标:搭建LNMP(Linux + Nginx + MySQL + PHP +SVN),其中svn是用来代替ftp,方便开发中调试同步代码相关目录:所有软件都 ...
最新文章
- 病理分析常见数据集及常用模型方法总结
- vmware虚拟机ubuntu开机黑屏问题解决
- Electron 开发环境下总是 crash
- ParseFloat有超长的小数位数的解决
- Git快速入门+复习笔记
- 程序员为什么想进大厂,看看年终奖你们就知道了
- mysql insert 错误码_利用 MySQL 自身错误诊断区域-爱可生
- Sublime Text 3 Key
- 2017/2/25 学习笔记
- 【5G核心网】 3GPP TS 系列解读
- 陈丹琦新作:关系抽取新SOTA,用pipeline方式挫败joint模型
- 微信抖音的服务器,抖音微信登陆未获得权限怎么办
- dummy像元概念定义
- 让物联网为“中国制造”插上腾飞的翅膀
- Cygwin使用之神器apt-cyg安装与使用
- 对机器学习中鲁棒性的理解
- Unity 在2D中实现LookAt
- C语言细看从头|内存清空函数
- TCP协议客户端与服务器端一般的通信过程
- Apple ID,APP ID,Bundle ID,iOS Certificates,iOS Provisioning Profiles各自含义以及之间的关系