美文网首页
centos7搭建smtp服务器

centos7搭建smtp服务器

作者: 明明就_c565 | 来源:发表于2018-11-15 15:51 被阅读0次

    环境

    [root@CentOS7 ~]# uname -a

    Linux CentOS7 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    下列配置均在配置文件指定处修改

    配置系统相关

    关闭selinux

    setenforce 0

    关闭firewalld防火墙,并清空iptables规则:

    systemctl stop firewalld

    iptables -F

    iptables -X

    iptables -nvL

    安装mysql

    yum install -y wget

    wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

    rpm -ivh mysql-community-release-el7-5.noarch.rpm

    wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    rpm -ivh epel-release-latest-7.noarch.rpm

    安装必要的库

    yum install nginx vim gcc gcc-c++ openssl openssl-devel db4-devel ntpdate mysql mysql-devel mysql-server bzip2 php-mysql cyrus-sasl-md5 perl-GD perl-DBD-MySQL perl-GD perl-CPAN perl-CGI perl-CGI-Session cyrus-sasl-lib cyrus-sasl-plain cyrus-sasl cyrus-sasl-devel libtool-ltdl-devel telnet mail libicu-devel -y

    配置用户

    yum remove postfix -y

    userdel postfix

    groupdel postdrop

    groupadd -g 2525 postfixuseradd -g postfix -u 2525-s/sbin/nologin -M postfix

    groupadd -g 2526 postdropuseradd -g postdrop -u 2526-s/sbin/nologin -M postdrop

    cd/usr/local/src/

    安装postfix并配置

    wget http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-3.0.11.tar.gztar -zxvf postfix-3.0.11.tar.gzcdpostfix-3.0.11

    make makefiles'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ''AUXLIBS=-L/usr/lib64/mysql -lmysqlclient -lz -lrt -lm -L/usr/lib64/sasl2 -lsasl2 -lssl -lcrypto'

    make && make install

    tempdir: [/usr/local/src/postfix-3.0.11] /tmp/extmail // 就只更改这一项为tmp目录,其他的全部默认

    更改目录的属主和属组

    [root@CentOS7 postfix-3.0.11]# chown -R postfix:postdrop /var/spool/postfix

    [root@CentOS7 postfix-3.0.11]# chown -R postfix:postdrop /var/lib/postfix/

    [root@CentOS7 postfix-3.0.11]# chown root /var/spool/postfix

    [root@CentOS7 postfix-3.0.11]# chown -R root /var/spool/postfix/pid

    [root@CentOS7 ~]# chmod a+x /etc/postfix

    [root@CentOS7 ~]# vim postfix

    #!/bin/bash

    #

    # postfix      Postfix Mail Transfer Agent

    #

    # chkconfig: 2345 80 30

    # description: Postfix is a Mail Transport Agent, which is the program \

    #              that moves mail from one machine to another.

    # processname: master

    # pidfile: /var/spool/postfix/pid/master.pid

    # config: /etc/postfix/main.cf

    # config: /etc/postfix/master.cf

    # Source function library.

    . /etc/rc.d/init.d/functions

    # Source networking configuration.

    . /etc/sysconfig/network

    # Check that networking is up.

    [ $NETWORKING = "no" ] && exit 3

    [ -x /usr/sbin/postfix ] || exit 4

    [ -d /etc/postfix ] || exit 5

    [ -d /var/spool/postfix ] || exit 6

    RETVAL=0

    prog="postfix"

    start() {

        # Start daemons.

        echo -n $"Starting postfix: "

            /usr/bin/newaliases >/dev/null 2>&1

        /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start"

        RETVAL=$?

        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix

            echo

    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix

            echo

        return $RETVAL

    }

    stop() {

      # Stop daemons.

        echo -n $"Shutting down postfix: "

        /usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop"

        RETVAL=$?

        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix

        echo

        return $RETVAL

    }

    reload() {

        echo -n $"Reloading postfix: "

        /usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload"

        RETVAL=$?

        echo

        return $RETVAL

    }

    abort() {

        /usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort"

        return $?

    }

    flush() {

        /usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush"

        return $?

    }

    check() {

        /usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check"

        return $?

    /usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check"

        return $?

    }

    restart() {

        stop

        start

    }

    # See how we were called.

    case "$1" in

      start)

        start

        ;;

      stop)

        stop

        ;;

      restart)

        stop

        start

        ;;

      reload)

        reload

        ;;

      abort)

        abort

        ;;

      flush)

        flush

        ;;

      check)

        check

        ;;

      status)

          status master

        ;;

    condrestart)

        [ -f /var/lock/subsys/postfix ] && restart || :

        ;;

      *)

        echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}"

        exit 1

    esac

    exit $?

    为脚本添加执行权限,并将服务添加到开机启动项中

    [root@CentOS7 ~]# chkconfig --add postfix

    [root@CentOS7 ~]# chkconfig postfix on

    [root@CentOS7 ~]# chown postfix.postfix -R /var/lib/postfix/

    [root@CentOS7 ~]# chown postfix.postfix /var/spool/ -R

    安装dovecot

    yum install -y dovecot dovecot-mysql

    配置dovecot

    [root@localhost ~]# cd /etc/dovecot/

    [root@localhost dovecot]# vim dovecot.conf    //直接在配置文件最后添加即可

    protocols = imap pop3

    !include conf.d/*.conf

    listen = *

    base_dir = /var/run/dovecot/

    [root@localhost dovecot]# cd conf.d/

    [root@localhost conf.d]# vim 10-auth.conf

    disable_plaintext_auth = no

    [root@localhost conf.d]# vim 10-mail.conf

    mail_location = maildir:~/Maildir

    mail_location = maildir:/var/mailbox/%d/%n/Maildir

    mail_privileged_group = mail

    [root@localhost conf.d]# vim 10-ssl.conf

    ssl = no

    [root@localhost conf.d]# vim 10-logging.conf

    log_path = /var/log/dovecot.log

    info_log_path = /var/log/dovecot.info

    log_timestamp = "%Y-%m-%d %H:%M:%S "

    [root@localhost conf.d]# cp auth-sql.conf.ext auth-sql.conf

    [root@localhost conf.d]# vim auth-sql.conf

    passdb { 

        driver = sql       

        # Path for SQL configuration file, see example-config/dovecot-sql.conf.ext 

        args = /etc/dovecot/dovecot-sql.conf.ext

    }

    userdb { 

        driver = sql 

        args = /etc/dovecot/dovecot-sql.conf.ext

    }

    安装 Courier Unicode Library

    wget https://sourceforge.net/projects/courier/files/courier-unicode/1.2/courier-unicode-1.2.tar.bz2

    tar jxvf courier-unicode-1.2.tar.bz2

    cd courier-unicode-1.2

    ./configure && make && make install

    安装courier-authlib

    cd /usr/local/src/

     wget https://sourceforge.net/projects/courier/files/authlib/0.66.2/courier-authlib-0.66.2.tar.bz2

    tar -jxvf courier-authlib-0.66.2.tar.bz2

    cd courier-authlib-0.66.2

    ./configure --prefix=/usr/local/courier-authlib --sysconfdir=/etc --without-authpam --without-authshadow --without-authvchkpw --without-authpgsql --with-authmysql --with-mysql-libs=/usr/lib64/mysql --with-mysql-includes=/usr/include/mysql --with-redhat --with-authmysqlrc=/etc/authmysqlrc --with-authdaemonrc=/etc/authdaemonrc --with-mailuser=postfix

    make && make install

    配置courier-authlib

    chmod 755 /usr/local/courier-authlib/var/spool/authdaemon

    cp /etc/authdaemonrc.dist /etc/authdaemonrc

    cp /etc/authmysqlrc.dist /etc/authmysqlrc

    vim /etc/authdaemonrc //配置文件里的验证方法比较多,我们这里只使用authmysql

    authmodulelist="authmysql"

    authmodulelistorig="authmysql"

    vim /etc/authmysqlrc //直接添加到配置文件尾部,然后去上面将响应系统默认的注视掉,或者删除即可

    MYSQL_SERVER localhost

    MYSQL_USERNAME          extmail

    MYSQL_PASSWORD          extmail

    MYSQL_SOCKET            /var/lib/mysql/mysql.sock

    MYSQL_PORT              3306

    MYSQL_DATABASE          extmail

    MYSQL_USER_TABLE        mailbox

    MYSQL_CRYPT_PWFIELD    password

    DEFAULT_DOMAIN          test.com

    MYSQL_UID_FIELD        '2525'

    MYSQL_GID_FIELD        '2525'

    MYSQL_LOGIN_FIELD      username

    MYSQL_HOME_FIELD        concat('/var/mailbox/',homedir)

    MYSQL_NAME_FIELD        name

    MYSQL_MAILDIR_FIELD    concat('/var/mailbox/',maildir)

    courier-authlib添加服务启动脚本及其他

    [root@CentOS7 courier-authlib-0.66.2]# cp courier-authlib.sysvinit /etc/init.d/courier-authlib

    [root@CentOS7 courier-authlib-0.66.2]# chmod +x /etc/init.d/courier-authlib

    [root@CentOS7 courier-authlib-0.66.2]#  chkconfig --add courier-authlib

    [root@CentOS7 courier-authlib-0.66.2]# chkconfig courier-authlib on

    [root@CentOS7 courier-authlib-0.66.2]# echo "/usr/local/courier-authlib/lib/courier-authlib" >> /etc/ld.so.conf.d/courier-authlib.conf

    [root@CentOS7 courier-authlib-0.66.2]#  ldconfig

    [root@CentOS7 courier-authlib-0.66.2]# service courier-authlib start

    Starting Courier authentication services: authdaemond

    [root@CentOS7 courier-authlib-0.66.2]#

    smtp以及虚拟用户相关的设置

    [root@CentOS7 courier-authlib-0.66.2]# vim /usr/lib64/sasl2/smtpd.conf //文件不存在,要自己创建

    pwcheck_method: authdaemond

    log_level: 3

    mech_list: PLAIN LOGIN

    authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket

    安装extmail

    安装extmail和extman

    下载extmail和extman

    https://zh.osdn.net/projects/sfnet_ds5752/downloads/yu/extmail-1.2.tar.gz/

    https://zh.osdn.net/projects/sfnet_ds5752/downloads/yu/extman-1.1.tar.gz/

    创建站点目录并解压、重命名extmail包

    [root@CentOS7 src]# mkdir -p /var/www/extsuite

    [root@CentOS7 src]# tar -zxvf extmail-1.2.tar.gz -C /var/www/extsuite/

    [root@CentOS7 src]# mv /var/www/extsuite/extmail-1.2/ /var/www/extsuite/extmail

    建立临时文件目录与session目录,并更改权限

    [root@CentOS7 extmail]# mkdir -p /tmp/extmail/upload

    [root@CentOS7 extmail]# chown -R postfix.postfix /tmp/extmail/

    回到extman的下载目录下,解压extman包

    cd /usr/local/src/

    tar -zxvf extman-1.1.tar.gz -C /var/www/extsuite/

    cd /var/www/extsuite/

    mv extman-1.1/ extman

    拷贝extman的配置文件

    [root@CentOS7 extsuite]# cd extman/

    [root@CentOS7 extman]# cp webman.cf.default webman.cf

    更改cgi目录的属主属组

    [root@CentOS7 extman]# chown -R postfix.postfix /var/www/extsuite/extman/cgi/

    [root@CentOS7 extman]# chown -R postfix.postfix /var/www/extsuite/extmail/cgi/

    配置数据库

    导入数据库

    [root@CentOS7 extman]# vim docs/extmail.sql

    :%s/TYPE/ENGINE/

    [root@CentOS7 extman]# mysql -uroot < docs/extmail.sql

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    [root@CentOS7 extman]#

    [root@CentOS7 extman]# yum install mysql-server mysql-client -y

    [root@CentOS7 extman]# service mysqld restart

    [root@CentOS7 extman]# mysql -uroot < docs/extmail.sql

    ERROR 1364 (HY000) at line 31: Field 'ssl_cipher' doesn't have a default value

    [root@CentOS7 extman]# vim /etc/my.cnf  //把sql_mode参数注释掉

    #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [root@CentOS7 extman]# mysql -uroot < docs/extmail.sql

    [root@CentOS7 extman]# mysql -uroot < docs/init.sql

    导入数据成功后再次修改/etc/my.cnf文件,把刚刚注释的那行给去掉注释,不去掉的话,mysql服务可能会出现不能启动的问题:

    [root@CentOS7 extman]# vim /etc/my.cnf

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    登陆mysql

    [root@CentOS7 extman]# mysql -u root

    mysql> GRANT ALL ON extmail.* to extmail@'%' identified by 'extmail';

    Query OK, 0 rows affected (0.00 sec)

    复制之前的配置文件

    [root@CentOS7 extman]# cd /var/www/extsuite/extman/docs/

    [root@CentOS7 docs]# cp mysql_virtual_* /etc/postfix/

    为extman创建临时目录

    [root@CentOS7 docs]# mkdir /tmp/extman

    [root@CentOS7 docs]#  chown -R postfix.postfix /tmp/extman/

    启动postfix、dovecot、saslauthd服务,并查看进程是否正常

    [root@CentOS7 docs]# service postfix start

    Starting postfix (via systemctl):                          [  OK  ]

    [root@CentOS7 docs]#

    [root@CentOS7 docs]# ps -aux|grep postfix

    root      7277  0.0  0.0  95432  2144 ?        Ss  10:19  0:00 /usr/libexec/postfix/master -w

    postfix  7278  0.0  0.0  95492  3804 ?        S    10:19  0:00 pickup -l -t unix -u

    postfix  7279  0.0  0.0  95540  3828 ?        S    10:19  0:00 qmgr -l -t unix -u

    root      7322  0.0  0.0 112708  968 pts/0    S+  10:20  0:00 grep --color=auto postfix

    [root@CentOS7 docs]#

    [root@CentOS7 docs]# ss -tnluo | grep :25

    tcp    LISTEN    0      100      *:25                    *:*                 

    [root@CentOS7 docs]# netstat -nap|grep 25

    tcp        0      0 0.0.0.0:25              0.0.0.0:*              LISTEN      7277/master       

    unix  2      [ ACC ]    STREAM    LISTENING    176525  7277/master          private/virtual

    [root@CentOS7 docs]# service dovecot start

    Redirecting to /bin/systemctl start dovecot.service

    [root@CentOS7 docs]# ps -aux|grep dovecot

    root      7440  0.2  0.0  42428  1972 ?        Ss  10:22  0:00 /usr/sbin/dovecot -F

    dovecot  7442  0.0  0.0  9360  1012 ?        S    10:22  0:00 dovecot/anvil

    root      7443  0.0  0.0  9488  1168 ?        S    10:22  0:00 dovecot/log

    root      7445  0.0  0.0  12372  2092 ?        S    10:22  0:00 dovecot/config

    root      7461  0.0  0.0 112704  972 pts/0    S+  10:22  0:00 grep --color=auto dovecot

    [root@CentOS7 docs]# systemctl start saslauthd

    [root@CentOS7 docs]# ps -aux|grep saslauth

    root      7494  0.0  0.0  74368  976 ?        Ss  10:22  0:00 /usr/sbin/saslauthd -m /run/saslauthd -a pam

    root      7495  0.0  0.0  74368  740 ?        S    10:22  0:00 /usr/sbin/saslauthd -m /run/saslauthd -a pam

    root      7496  0.0  0.0  74368  740 ?        S    10:22  0:00 /usr/sbin/saslauthd -m /run/saslauthd -a pam

    root      7497  0.0  0.0  74368  740 ?        S    10:22  0:00 /usr/sbin/saslauthd -m /run/saslauthd -a pam

    root      7498  0.0  0.0  74368  740 ?        S    10:22  0:00 /usr/sbin/saslauthd -m /run/saslauthd -a pam

    root      7510  0.0  0.0 112704  972 pts/0    S+  10:23  0:00 grep --color=auto saslauth

    [root@CentOS7 docs]# ps aux |grep courier-authlib

    root      7539  0.0  0.0 112704  976 pts/0    S+  10:23  0:00 grep --color=auto courier-authlib

    root    20039  0.0  0.0  4356  452 ?        S    Nov14  0:00 /usr/local/courier-authlib/sbin/courierlogger -pid=/usr/local/courier-authlib/var/spool/authdaemon/pid -start /usr/local/courier-authlib/libexec/courier-authlib/authdaemond

    root    20040  0.0  0.0  64416  2820 ?        S    Nov14  0:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond

    root    20041  0.0  0.0  64416  752 ?        S    Nov14  0:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond

    root    20042  0.0  0.0  64416  752 ?        S    Nov14  0:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond

    root    20043  0.0  0.0  64416  752 ?        S    Nov14  0:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond

    root    20044  0.0  0.0  64416  752 ?        S    Nov14  0:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond

    root    20045  0.0  0.0  64416  752 ?        S    Nov14  0:00 /usr/local/courier-authlib/libexec/courier-authlib/authdaemond

    测试

    [root@CentOS7 docs]# /usr/local/courier-authlib/sbin/authtest -s login postmaster@extmail.org extmail

    Authentication succeeded.    // 显示这个表示成功,测试时使用的是postmaster@extmail.org,因为我们导入的数据库init.sql里面自带了这个。

        Authenticated: postmaster@extmail.org  (uid 2525, gid 2525)

        Home Directory: /var/mailbox/extmail.org/postmaster    // 这里需要注意/var/mailbox这个目录现在我们还没有创建,后面web访问的时候如果没有会报错,所以提前创建。

              Maildir: /var/mailbox/extmail.org/postmaster/Maildir/

                Quota: (none)

    Encrypted Password: $1$phz1mRrj$3ok6BjeaoJYWDBsEPZb5C0

    Cleartext Password: extmail

              Options: (none)

    [root@CentOS7 docs]# mkdir /var/mailbox

    [root@CentOS7 docs]# chown -R postfix.postfix /var/mailbox/

    测试发信

    [root@CentOS7 docs]# printf "postmaster@extmail.org" | openssl base64

    cG9zdG1hc3RlckBleHRtYWlsLm9yZw==

    [root@CentOS7 docs]#

    [root@CentOS7 docs]# printf  "extmail" | openssl base64

    ZXh0bWFpbA==

    [root@CentOS7 iRedMail-0.9.8]# telnet localhost 25

    Trying ::1...

    telnet: connect to address ::1: Connection refused

    Trying 127.0.0.1...

    Connected to localhost.

    Escape character is '^]'.

    220 mail.hww.com ESMTP Postfix

    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.

    配置nginx

    修改nginx实现web访问

    #SU_UID=vuser

    SU_UID=postfix

    #SU_GID=vgroup

    SU_GID=postfix

    启动dispatch-init

    [root@CentOS7 docs]# /var/www/extsuite/extmail/dispatch-init start

    Starting extmail FCGI server...

    [root@CentOS7 docs]#  /var/www/extsuite/extman/daemon/cmdserver -v -d

    loaded ok

    安装nginx

    yum install nginx -y

    添加nginx虚拟主机

    [root@CentOS7 docs]# vim /etc/nginx/conf.d/extmail.conf

    server {

            listen      8080;

            server_name  mail.hww.com;

            index index.html index.htm index.php index.cgi;

            root  /var/www/extsuite/extmail/html/;

            location /extmail/cgi/ {

                    fastcgi_pass          127.0.0.1:8888;

                    fastcgi_index        index.cgi;

                    fastcgi_param  SCRIPT_FILENAME  /var/www/extsuite/extmail/cgi/$fastcgi_script_name;

                    include              fcgi.conf;

            } 

            location  /extmail/  {

                    alias  /var/www/extsuite/extmail/html/;

            } 

            location /extman/cgi/ {

                    fastcgi_pass          127.0.0.1:8888;

                    fastcgi_index        index.cgi;

                    fastcgi_param  SCRIPT_FILENAME  /var/www/extsuite/extman/cgi/$fastcgi_script_name;

                    include            fcgi.conf;

            } 

            location /extman/ {

                    alias  /var/www/extsuite/extman/html/;

            } 

            access_log  /var/log/extmail_access.log;

    }

    创建fcgi.conf文件

    [root@CentOS7 docs]# vim /etc/nginx/fcgi.conf

    fastcgi_param GATEWAY_INTERFACE CGI/1.1;

    fastcgi_param  SERVER_SOFTWARE    nginx;

    fastcgi_param  QUERY_STRING      $query_string;

    fastcgi_param  REQUEST_METHOD    $request_method;

    fastcgi_param  CONTENT_TYPE      $content_type;

    fastcgi_param  CONTENT_LENGTH    $content_length;

    fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

    fastcgi_param  REQUEST_URI        $request_uri;

    fastcgi_param  DOCUMENT_ROOT      $document_root;

    fastcgi_param  SERVER_PROTOCOL    $server_protocol;

    fastcgi_param  REMOTE_ADDR        $remote_addr;

    fastcgi_param  REMOTE_PORT        $remote_port;

    fastcgi_param  SERVER_ADDR        $server_addr;

    fastcgi_param  SERVER_PORT        $server_port;

    fastcgi_param  SERVER_NAME        $server_name;

    安装Unix::Syslog

    [root@CentOS7 src]# wget http://www.cpan.org/authors/id/M/MH/MHARNISCH/Unix-Syslog-1.1.tar.gz

    --2018-11-15 10:43:13--  http://www.cpan.org/authors/id/M/MH/MHARNISCH/Unix-Syslog-1.1.tar.gz

    Resolving www.cpan.org (www.cpan.org)... 151.101.78.217, 2a04:4e42:12::729

    Connecting to www.cpan.org (www.cpan.org)|151.101.78.217|:80... connected.

    HTTP request sent, awaiting response... 200 OK

    Length: 13738 (13K) [application/x-gzip]

    Saving to: ‘Unix-Syslog-1.1.tar.gz’

    100%[==========================================================================================================>] 13,738      --.-K/s  in 0s     

    2018-11-15 10:43:13 (197 MB/s) - ‘Unix-Syslog-1.1.tar.gz’ saved [13738/13738]

    [root@CentOS7 src]# ls

    courier-authlib-0.66.2          courier-unicode-1.2          extmail-1.2.tar.gz  postfix-3.0.11        Unix-Syslog-1.1.tar.gz

    courier-authlib-0.66.2.tar.bz2  courier-unicode-1.2.tar.bz2  extman-1.1.tar.gz  postfix-3.0.11.tar.gz  wget-log

    [root@CentOS7 src]# tar zxvf Unix-Syslog-1.1.tar.gz

    [root@CentOS7 src]# cd Unix-Syslog-1.1

    [root@CentOS7 Unix-Syslog-1.1]# perl Makefile.PL && make && make install

    启动nginx

    [root@CentOS7 Unix-Syslog-1.1]# service nginx start

    Redirecting to /bin/systemctl start nginx.service

    [root@CentOS7 Unix-Syslog-1.1]# ps -aux |grep nginx

    root      8806  0.0  0.0 120780  2284 ?        Ss  10:45  0:00 nginx: master process /usr/sbin/nginx

    nginx    8807  0.0  0.0 121224  3172 ?        S    10:45  0:00 nginx: worker process

    nginx    8808  0.0  0.0 121224  3172 ?        S    10:45  0:00 nginx: worker process

    nginx    8809  0.0  0.0 121224  3172 ?        S    10:45  0:00 nginx: worker process

    nginx    8810  0.0  0.0 121224  3172 ?        S    10:45  0:00 nginx: worker process

    root      8827  0.0  0.0 112704  972 pts/0    S+  10:45  0:00 grep --color=auto nginx

    [root@CentOS7 Unix-Syslog-1.1]# netstat -lntp

    Active Internet connections (only servers)

    Proto Recv-Q Send-Q Local Address          Foreign Address        State      PID/Program name   

    tcp        0      0 0.0.0.0:110            0.0.0.0:*              LISTEN      7440/dovecot       

    tcp        0      0 0.0.0.0:143            0.0.0.0:*              LISTEN      7440/dovecot       

    tcp        0      0 0.0.0.0:80              0.0.0.0:*              LISTEN      8806/nginx: master 

    tcp        0      0 0.0.0.0:8080            0.0.0.0:*              LISTEN      8806/nginx: master 

    tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      811/sshd           

    tcp        0      0 127.0.0.1:8888          0.0.0.0:*              LISTEN      8026/dispatch.fcgi 

    tcp        0      0 0.0.0.0:25              0.0.0.0:*              LISTEN      7277/master       

    tcp6      0      0 :::3306                :::*                    LISTEN      5738/mysqld       

    tcp6      0      0 :::80                  :::*                    LISTEN      8806/nginx: master 

    [root@CentOS7 Unix-Syslog-1.1]#

    windows页面访问测试

    到windows上访问你服务器IP的8080端口

    extman的登录账户为:root@extmail.org

    密码为:extmail*123*

    首次使用需要先添加域,添加之后再修改域,改为可自由注册,再注册用户就可以登录发邮件了:

    此处遇到了校验码无法正常显示的问题,可以先不要校验码的功能,先玩玩其它的;有点粗暴了,后续待解决

    SYS_CAPTCHA_ON = 1  把1改为0表示不启用校验码功能

    [root@CentOS7 ~]# vim /var/www/extsuite/extman/webman.cf

    #SYS_CAPTCHA_ON = 1

    SYS_CAPTCHA_ON = 0 

    或者安装/usr/ports/graphics/p5-GD , 没找到资源。。。

    登陆成功

    添加并设置域

    注册

    登陆

    此时报错了

    Can't chdir to /var/mailbox/fish.com/heweiwei/Maildir/, No such file or dire

    解决办法:比较粗暴,只可解燃眉之急,后续待解决

    使用管理员群发邮件,用户自己创建目录了

    群发后即可登陆如下:

    此处大致就搞定了

    后续需修复一些小问题

    参考原文链接

    CentOS7下搭建postfix邮箱服务器并实现extmail的web访问

    相关文章

      网友评论

          本文标题:centos7搭建smtp服务器

          本文链接:https://www.haomeiwen.com/subject/yqgdfqtx.html