首先要讓 SLES 支援 one click install 必須安裝 yast2-metapackage-handler 這個套件
yast2-metapackage-handler | YaST2 - Easy Installation of Add--> | 套件
設定啟動 apache2 並預設開機啟動
#rcapache2 status
#rcapache2 start
#rcapache2 status
#chkconfig apache2 --list
#chkconfig apache2 on
#chkconfig apache2 --list
安裝之前搜尋一下相關套件
# zypper search perl-MIME
正在載入儲存庫資料...
正在讀取已安裝的套件...
S | 名稱 | 摘要 | 類型
--+-----------------+-----------------------------------------------+-----------
| perl-MIME-tools | modules for parsing (and creating!) MIME en-> | 套件
| perl-MIME-tools | modules for parsing (and creating!) MIME en-> | srcpackage
# zypper install perl-MIME-tools
正在載入儲存庫資料...
正在讀取已安裝的套件...
正在解析套件相依性...
將會安裝下列新的套件:
perl-IO-stringy perl-MailTools perl-MIME-tools
全部下載大小:396.0 K。 完成操作後,將使用額外的 837.0 K。
要繼續嗎? [是/否]: y
使用 one Click Install 安裝 perl-Text-Iconv
# OneClickInstallUI http://software.opensuse.org/ymp/home:computersalat:OpenXPKI/SLE_11/perl-Text-Iconv.ymp
下載 open webmail 套件 可以到 (
http://www.openwebmail.org/openwebmail/download/release/ 尋找最新的版本)
#wget http://www.openwebmail.org/openwebmail/download/release/2.53/openwebmail-2.53.tar.gz
解開前先觀察 /srv/www 目錄
# ls /srv/www/
cgi-bin htdocs
解壓縮套件, 會解出 cgi-bin and data 目錄
- -C 指定目錄 ( 放在 /srv/www 可以直接覆蓋 cgi-bin )
# tar zxvf openwebmail-2.53.tar.gz -C /srv/www/
# ls /srv/www/
cgi-bin data htdocs
移動 openwebmail 目錄到網站根目錄下
# mv /srv/www/data/openwebmail/ /srv/www/htdocs/
修改 openwebmail.conf 對應到 相對路徑
# vi /srv/www/cgi-bin/openwebmail/etc/openwebmail.conf
將
domainnames auto
auth_module auth_unix.pl
mailspooldir /var/mail
ow_cgidir /usr/local/www/cgi-bin/openwebmail
ow_cgiurl /cgi-bin/openwebmail
ow_htmldir /usr/local/www/data/openwebmail
ow_htmlurl /openwebmail
logfile /var/log/openwebmail.log
改為
domainnames auto
auth_module auth_unix.pl
mailspooldir /var/mail
ow_cgidir /srv/www/cgi-bin/openwebmail
ow_cgiurl /cgi-bin/openwebmail
ow_htmldir /srv/www/htdocs/openwebmail
ow_htmlurl /openwebmail
logfile /var/log/openwebmail.log
修改 dbm.conf 相關設定
# vi /srv/www/cgi-bin/openwebmail/etc/defaults/dbm.conf
將
dbm_ext .db
dbmopen_ext none
dbmopen_haslock no
改為
dbm_ext .pag
dbmopen_ext none
dbmopen_haslock no
複製相關檔案
# cp /srv/www/cgi-bin/openwebmail/etc/defaults/dbm.conf /srv/www/cgi-bin/openwebmail/etc/
修改 auth_unix.conf 相關設定
# vi /srv/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf
將
passwdfile_plaintext /etc/passwd
passwdfile_encrypted /etc/master.passwd
passwdmkdb /usr/sbin/pwd_mkdb
check_expire no
check_nologin no
check_shell no
check_cobaltuser no
change_smbpasswd no
改為
passwdfile_plaintext /etc/passwd
passwdfile_encrypted /etc/shadow
passwdmkdb none
check_expire no
check_nologin no
check_shell no
check_cobaltuser no
change_smbpasswd no
# cp /srv/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf /srv/www/cgi-bin/openwebmail/etc/
修改相關權限
# chmod 4555 /usr/bin/suidperl
# chmod 4555 /srv/www/cgi-bin/openwebmail/openwebmail*.pl
# chown root.mail /srv/www/cgi-bin/openwebmail/openwebmail*.pl
建立 openwebmail_path.conf
# vi /etc/openwebmail_path.conf
/srv/www/cgi-bin/openwebmail
進行初始化
# /srv/www/cgi-bin/openwebmail/openwebmail-tool.pl --init
連線測試
http://網站名稱/cgi-bin/openwebmail/openwebmail.pl
發現 openwebmail 的domain name 沒有抓到正確的 domain name
# vi /srv/www/cgi-bin/openwebmail/etc/openwebmail.conf
將
#domainnames auto
改成
domainnames mail.benesse.com.tw
透過 web 傳送信件 產生錯誤 訊息如下
Software error:
Wide character in subroutine entry at /srv/www/cgi-bin/openwebmail/modules/tool.pl line 160.
For help, please send mail to the webmaster ([no address given]), giving this error message and the time and date of the error.
解決方式
檢查版本
# perl -e 'use CGI; print "$CGI::VERSION\n";'
3.29
安裝 locate 套件
# zypper install findutils-locate
# find / -name CGI.pm
/usr/lib/perl5/5.10.0/CGI.pm
# vi /usr/lib/perl5/5.10.0/CGI.pm
將
# my $utf8 = $charset eq 'utf-8';
改成
my $utf8 = 0;
修正成功