夜勿眠 发表于 2018-9-27 10:21:26

Mysql+Postfix+Dovecot+Extmail

  Mysql+Postfix+Dovecot+Extmail
  Tips: mysql(数据库),postfix(发送),dovecot(接收),extmail(web管理)

    服务器端:【10.14.4.63】
  Serverd.example.com (serverd)
  本实验做的是一个类似于163的网页收发邮箱,最终是extmail提供的图形界面。然后就是postfix的发信和dovecot的收信,但这一系列都离不开数据库mysql。思路上,先装mysql,然后得需要和extmail交互的mysql账号,可以从extmail导入需要的数据。然后,就装一个发信的postfix吧,定义好postconf中相关的环境变量,确保能发信了。接下来安装dovecot吧,配置收信服务。到最后,就可以配置extmail的前台登陆和后台管理了。大概就这个吧~~
  # iptables -F
  # setenforce 0
  一、Mysql(mysql,mysql-server)
  # rpm -qa | grep mysql
  # yum install mysql mysql-server -y
  # service mysqld start
  # mysql_secure_installation(设置密码westos)
  # mysql -pwestos (检查是否能成功登陆)
  文字配置太麻烦,用图形吧~(phpMyAdmin,appache发布)
  # yum install httpd -y && service httpd start
  # tar -jxf phpMyAdmin-2.11.3-all-languages.tar.bz2
  # cp -r phpMyAdmin-2.11.3-all-languages /var/www/html/admin
  # cd /var/www/html/admin/
  # cp config.sample.inc.php config.inc.php
  # vim config.inc.php
  $cfg['blowfish_secret'] = 'anywords'; /* YOU...... (加入随机变量)

  
  没有装php php-mysql
  # yum install php php-mysql -y
  # service httpd restart

  
  二、Extmail
  先要安装postfix:
  # yum install postfix -y
  # postconf -m | grep mysql
  mysql (说明支持mysql,不支持的话就源码安装加上参数)
  
  # tar -zxf extman-1.1.tar.gz -C
  # tar -zxf extmail-1.2.tar.gz
  # mkdir /var/www/extsuite
  # cp -r extman-1.1 /var/www/extsuite/extman
  # cp -r extmail-1.2 /var/www/extsuite/extmail
  # cp extmail/webmail.cf.default webmail.cf
  # cp extman/webmail.cf.default webmail.cf
  来个明文验证吧
  # pwd
  /var/www/extsuite/extman/docs
  # vim init.sql (将加密文本换成明文)

  
  导入extmail数据,建立相关数据
  # mysql < extmail.sql -pwestos
  # mysql < init.sql -pwestos
  看看数据有什么变化吧~~

  

  

  
  看,导入了mysql的root、extmail、webman
  把相关文件拷到postfix目录,准备postfix的相关变量
  # cp mysql_virtual_alias_maps.cf /etc/postfix/
  # cp mysql_virtual_domains_maps.cf /etc/postfix/
  # cp mysql_virtual_mailbox_maps.cf /etc/postfix/
  三、Postfix
  # postconf | grep virtual
  # useradd -s /sbin/nologin vmail
  # id vmail
  uid=501(vmail) gid=501(vmail) groups=501(vmail)
  # postconf -e inet_interfaces=all
  # postconf -e virtual_mailbox_base=/home/vmail/
  # postconf -e virtual_uid_maps=static:501
  # postconf -e virtual_gid_maps=static:501
  # postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cf
  # postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf
  # postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
  测试一下吧,看能不能让我们创建出新的域:
  # mail -s hello postmaster@extmail.org
  nihao
  EOT

  
  看看配置文件都对着没?

  
  呵呵,能显示吧,对着了,重启
  # postfix reload
  四、Dovecot
  # yum install dovecot dovecot-mysql -y
  # pwd
  /etc/dovecot/conf.d
  # vim 10-mail.conf
  ---->mail_location = maildir:/home/vmail/%d/%n/Maildir
  ---->first_valid_uid = 501
  # vim 10-auth.conf
  ---->!include auth-system.conf.ext
  ---->!include auth-sql.conf.ext
  # pwd
  /etc/dovecot
  # cp /usr/share/doc/dovecot-2.0/example-config/dovecot-sql.conf.ext .
  ---->connect = host=localhost dbname=extmail user=extmail password=extmail
  ---->default_pass_scheme = PLAIN
  ---->driver = mysql
  ---->user_query = SELECT maildir, 501 AS uid, 501 AS gid FROM mailbox WHERE username = '%u'
  ---->password_query = \
  SELECT username, domain, password \
  FROM mailbox WHERE username = '%u'
  在换一种方法测试一下:
  # service postfix restart
  # service dovecot restart
  看看dovecot接收邮件的监听端口:
  # netstat -antlp | grep dovecot

  
  # yum install telnet -y
  # telnet localhost 110

  
  Ok,成功登陆
  来看看错误的配置吧,多是由于/etc/dovecot/dovecot-sql.conf.ext密码确认设置错,或是由于/etc/dovecot/conf.d/10-mail中的邮件路径错误。

  
  收发都正常了,接下来配置我们的最后一个:extmail,用图形去管理收发邮件吧。
  # vim webmail.cf
  ---->SYS_CRYPT_TYPE = plain
  ---->SYS_MYSQL_USER = extmail
  SYS_MYSQL_PASS = extmail
  ---->SYS_MAILDIR_BASE = /home/vmail
  # pwd
  /var/www/extsuite/extman
  # less INSTALL   (多看相关安装文档介绍)

  
  # vim /etc/httpd/conf/httpd.conf

  
  # chown vmail.vmail /var/www/extsuite/extmail/cgi/ /var/www/extsuite/extman/cgi/ -R
  # echo `10.14.4.63 mail.extmail.org` >> /etc/hosts
  访问mail.extmail.org:

  
  缺什么就装什么了:
  # yum install perl-CGI -y

  
  # tar -zxf Unix-Syslog-1.1.tar.gz
  # cd Unix-Syslog-1.1
  # perl Makefile.PL

  
  # yum provides */MakeMaker.pm

  
  # yum install perl-ExtUtils-MakeMaker -y
  # cd Unix-Syslog-1.1
  # perl Makefile.PL

  
  # make && make install
  Ok,成功了

  


  
  免费注册试试:


  
  成功~~~
  再看看后台管理配置吧!
  # vim /var/www/extsuite/extman/webman.cf
  ---->SYS_MAILDIR_BASE = /home/vmail
  ---->SYS_SESS_DIR = /tmp
  ---->SYS_CAPTCHA_ON = 0
  ---->SYS_CRYPT_TYPE = plain


  
  后台能正常登陆!
  
  
  有理解不对的地方请不吝指正~~ qq345258361

页: [1]
查看完整版本: Mysql+Postfix+Dovecot+Extmail