<linux下extmail服務的搭建>

Linux.應用發表於2014-07-12

下載2個軟體包: extmail-1.1.0.tar.gz     extman-1.1.tar.gz

下載地址:http://www.cpan.org/

建立extsuite目錄

mkdir /var/www/extsuite

解壓這2個包到這個目錄下:

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

tar zxf extmail-1.1.0.tar.gz -C /var/www/extsuite

 

改個短的名字

mv extmail-1.1.0 extmail       mv extman-1.1 extman

 

切換到後臺目錄:

/var/www/extsuite/extman/docs

cp三個檔案 別名 域 mailbox配置檔案

cp mysql_virtual_alias_maps.cf    mysql_virtual_domains_maps.cf     mysql_virtual_mailbox_maps.cf /etc/postfix/

 

安裝mysql資料庫 yum isnatll mysql-server.x86_64 -y

給mysql加個密碼: mysql_secure_installation

切換到次目錄: /var/www/extsuite/extman/docs

看到2個檔案: extmail.sql init.sql mysql -pwestos < extmail.sql

vim init.sql 把密碼項改成明文的:

mysql -pwestos < init.sql mysql -uextmail -pextmail

 

降下面的引數加入postfix主配置檔案:

useradd -u 800 vmail

postconf -d | grep virtual

postconf -e virtual_uid_maps=static:800

postconf -e virtual_gid_maps=static:800

postconf -e virtual_mailbox_base=/home/vmail/

postconf -e virtual_alias_maps=mysql:/etc/postfixmysql_virtual_alias_maps.cf

postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf

postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf

分別校驗是否ok

postmap -q "support@extmail.org" mysql:/etc/postfix/mysql_virtual_alias_maps.cf

postmap -q "postmaster@extmail.org" mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf

postmap -q "extmail.org" mysql:/etc/postfix/mysql_virtual_domains_maps.cf

cd /var/www/extsuite/extmail/

less INSTALL

找到以下行寫入http。

NameVirtualHost *:80

<VirtualHost *:80>

ServerName mail.extmail.org

DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

Alias /extmail /var/www/extsuite/extmail/html

SuexecUserGroup vmail vmail

</VirtualHost>

cd cgi/ chown vmail.vmail . -R

要是在真機上測試Apache服務,注意配置解析:

vim /etc/hosts

/etc/init.d/httpd restart     /etc/init.d/mysqld restart      /etc/init.d/postfix restart

瀏覽器中輸入:mail@extmail.org

 

下面進入報錯的解決方案:

extmail報錯:

Can't locate CGI.pm in @INC (@INC contains: /var/www/extsuite/extmail/libs /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /var/www/extsuite/extmail/libs/Ext/CGI.pm line 20. BEGIN failed--compilation aborted at /var/www/extsuite/extmail/libs/Ext/CGI.pm line 20. Compilation failed in require at /var/www/extsuite/extmail/libs/Ext/App.pm line 23. BEGIN failed--compilation aborted at /var/www/extsuite/extmail/libs/Ext/App.pm line 23. Compilation failed in require at /var/www/extsuite/extmail/libs/Ext/App/Login.pm line 16. BEGIN failed--compilation aborted at /var/www/extsuite/extmail/libs/Ext/App/Login.pm line 16. Compilation failed in require at index.cgi line 20.

解決:yum install perl-CGI

報錯: Can't locate /var/www/cgi-bin/extmail//lang//en_US in @INC (@INC contains: /var/www/extsuite/extmail/libs /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /var/www/extsuite/extmail/libs/Ext/Lang.pm line 65.

解決:沒有主檔案

[root@vm1 extmail]# cp webmail.cf.default webmail.cf

[root@vm1 extmail]# pwd /var/www/extsuite/extmail

報錯:

Unix::Syslog not found, please install it first! (in cleanup) Undefined subroutine &Ext::Logger::do_closelog called at /var/www/extsuite/extmail/libs/Ext/Logger.pm line 86.

解決方案:

沒有這個包: Unix-Syslog-1.1.tar.gz

# perl Makefile.PL  

 

 

安裝這個包的報錯

Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 1. BEGIN failed--compilation aborted at Makefile.PL line 1.

解決

yum install -y perl-ExtUtils-MakeMaker

# perl Makefile.PL # make install

報錯

DBI connect('database=extmail;host=localhost;mysql_socket=/var/lib/mysql/mysql.sock','db_user',...) failed: Access denied for user 'db_user'@'localhost' (using password: YES) at /var/www/extsuite/extmail/libs/Ext/Auth/MySQL.pm line 45

解決:進入資料庫失敗,修改主配置檔案。 SYS_MYSQL_USER = extmail SYS_MYSQL_PASS = extmail

 

報錯 Can't chdir to /home/domains/extmail.org/postmaster/Maildir/, No such file or directory

解決:

 

SYS_MAILDIR_BASE = /home/vmail

# mail support@extmail.org 發封郵件讓它建立郵件目錄

 extmail後臺的配置

後臺的操作 同樣的操作

NameVirtualHost *:80 <VirtualHost *:80> ServerName mail.example.com DocumentRoot /path/to/your/document/root/ ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi Alias /extman /var/www/extsuite/extman/html SuexecUserGroup vuser vgroup </VirtualHost>

只需要下面2行插入,mail前臺配置中 ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi Alias /extman /var/www/extsuite/extman/html

最終Apache寫入的配置:

<VirtualHost *:80>

ServerName mail.extmail.org

DocumentRoot /var/www/extsuite/extmail/html/

ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi

Alias /extmail /var/www/extsuite/extmail/html

ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi

Alias /extman /var/www/extsuite/extman/html

SuexecUserGroup vmail vmail

</VirtualHost>

 

/var/www/extsuite/extman chown vmail.vmail . -R

驗證碼

/var/www/extsuite/extman

cp webman.cf.default webman.cf

vim webman.cf SYS_CAPTCHA_ON = 1

SYS_CAPTCHA_LEN = 4

關於主頁的顯示:

vim /etc/rc.local

/var/www/extsuite/extman/daemon/cmdserver &

後臺圖形監控報錯:

Can't locate RRDs.pm in @INC (@INC contains: /var/www/extsuite/extman/libs /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /var/www/extsuite/extman/libs/Ext/GraphLog.pm line 23. BEGIN failed--compilation aborted at /var/www/extsuite/extman/libs/Ext/GraphLog.pm line 23. Compilation failed in require at /var/www/extsuite/extman/libs/Ext/MgrApp/ViewLog.pm line 22. BEGIN failed--compilation aborted at /var/www/extsuite/extman/libs/Ext/MgrApp/ViewLog.pm line 22. Compilation failed in require at viewlog.cgi line 18.

解決方法: 下載軟體包:rrdtool-perl-1.3.8-6.el6.x86_64.rpm yum localinstall rrdtool-perl-1.3.8-6.el6.x86_64.rpm

雖然顯示出來監控目錄,但是點選沒反映:

# cp mailgraph_ext/ /usr/local/ -r 為什麼要cp到/usr/local/下?

/usr/local/mailgraph_ext vim mailgraph-init會發現執行指令碼的路經:BASEDIR=/usr/local/mailgraph_ext

# /usr/local/mailgraph_ext/mailgraph-init start

報錯: Starting mail statistics grapher: mailgraph_ext Can't locate File/Tail.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/mailgraph_ext/mailgraph_ext.pl line 296. BEGIN failed--compilation aborted at /usr/local/mailgraph_ext/mailgraph_ext.pl line 296. Starting queue statistics grapher: qmonitor

下載包: File-Tail-0.99.3.tar.gz

tar -zxf File-Tail-0.99.3.tar.gz # cd File-Tail-0.99.3 # perl Makefile.PL

報錯: File::Tail will be installed without debugging information. This information isn't usefull unless you intend to tinker with the code. To install with debugging enabled, use: perl Makefile.PL LOGIT Checking if your kit is complete... Looks good Warning: prerequisite Time::HiRes 1.12 not found. Writing Makefile for File::Tail

解決方法: # yum install perl-Time-HiRes -y # perl Makefile.PL # make install

# /usr/local/mailgraph_ext/mailgraph-init start

之後就會看到圖形化監控。

 

 

 

 

 

 

 

 

 

 

相關文章