RedHat 9.0下安裝igenus實錄(轉)

worldblog發表於2007-08-10
RedHat 9.0下安裝igenus實錄(轉)[@more@]

  在REDHAT9.0下安裝igenus bluelotus 2003.06.16 Redhat9.0+Qmail+smtp-auth+Vpopmail+MySQL+Igenus,例項:

  一、安裝環境 及準備工作

  安裝Redhat9.0,安裝時選取安裝apache、php、mysql,可省去以後自已編譯安裝的麻煩,mysql要注意選取mysql-devel開發包,mysql的標頭檔案和庫檔案分別在/usr/include/mysql和/usr/lib/mysql。

  安裝完Redhat9.0後,修改/etc/httpd/conf/httpd.conf,使web服務正常啟用,為mysql新增root使用者的密碼。如果設定了防火牆,要開啟伺服器的smtp 25和pop3 110兩個埠。

  二、安裝ucspi-tcp-0.88

  1.下載相應軟體及補丁,由於redhat9.0的glibc的版本問題,必須打補丁才能正常編譯。

  wget

  wget

  wget

  wget

  2.安裝ucspi-tcp-0.88

  #tar zxvf ucspi-tcp-0.88.tar.gz

  #cd ucspi-tcp-0.88

  #patch -p1 < ../ucspi-tcp-0.88.a_record.patch

  #patch -p1 < ../ucspi-tcp-0.88.errno.patch

  #patch -p1 < ../ucspi-tcp-0.88.nobase.patch

  #make

  #make setup check

  三、安裝qmail

  1.下載軟體及補丁:

  wget

wget

wget

wget

wget

wget

wget

  2.建立目錄:

  # mkdir /var/qmail

# mkdir /var/qmail/alias

  3.建組及使用者:

  # groupadd nofiles

# groupadd qmail

# useradd alias -g nofiles -d /var/qmail/alias -s /nonexistent

# useradd qmaild -g nofiles -d /var/qmail -s /nonexistent

# useradd qmaill -g nofiles -d /var/qmail -s /nonexistent

# useradd qmailp -g nofiles -d /var/qmail -s /nonexistent

# useradd qmailq -g qmail -d /var/qmail -s /nonexistent

# useradd qmailr -g qmail -d /var/qmail -s /nonexistent

# useradd qmails -g qmail -d /var/qmail -s /nonexistent

  4.打補丁及編繹安裝qmail

  #tar zxvf qmail-1.03.tar.gz

#tar zxvf qmail-smtpd-auth-0.31.tar.gz

#cp qmail-smtpd-auth-0.31/base64.* qmail-1.03 //安裝smtp-auth補丁,支援smtp認證

#patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch

#cd qmail-1.03

#patch -p1 < ../qmail-103.patch

#patch -p1 < ../qmailqueue-patch

#patch -p1 < ..qmail-maildir++.patch

#patch -p1 < ..qmail-1.03.errno.patch

#patch -p1 < ..qmail-1.03.qmail-local.patch

#vi qmail-smtpd.c //將函式straynewline中的451改為553

# make setup check

# ./config-fast test.mydomain.com

  5.新增別名使用者:

  # touch /var/qmail/alias/.qmail-root

# touch /var/qmail/alias/.qmail-postmaster

# touch /var/qmail/alias/.qmail-mailer-daemon

  6.如果存在postfix和sendmail,停用現在的mail服務

  #/etc/rc.d/init.d/sendmail stop

#cp /var/qmail/bin/sendmail /usr/sbin/qmail.sendmail

#rm -f /etc/alternative/mta

#ln -s /usr/sbin/qmail.sendmail /etc/alternative/mta

Redhat9.0已經考慮到了使用其它郵件伺服器代替sendmail的情況,因為本身就提供postfix和sendmail兩種選擇。

  四、安裝vpopmail

  1.下載vpopmail的穩定版

  wget

  2.建立目錄:

  #mkdir /home/vpopmail

  #mkdir /home/vpopmail/etc

  3.新增使用者和組:

  #groupadd vchkpw

  #useradd -g vchkpw vpopmail

  4.新增mysql的vpopmail使用者,用於操作vpopmail資料庫

  #mysql -u root -p //進入mysql命令列

  mysql> grant all on vpopmail.* to vpopmail@localhost identified by "密碼";

  5.編譯安裝vpopmail

#tar zxvf vpopmail-5.2.1.tar.gz

#cd vpopmail-5.2.1

#vi vmysql.h

/* =========================== vmysql.h ============================== */

#define MYSQL_UPDATE_SERVER "localhost" (mysql伺服器名)

#define MYSQL_UPDATE_USER "vpopmail" (使用者名稱)

#define MYSQL_UPDATE_PASSWD "12345678" (改成你設定的密碼)

#define MYSQL_READ_SERVER "localhost" (mysql伺服器名)

#define MYSQL_READ_USER "vpopmail" (使用者名稱)

#define MYSQL_READ_PASSWD "12345678" (改成你設定的密碼)

/*==================================================================*/

  6.建立tcp.smtp檔案(或者使用/etc/tcp.smtp)

  # vi /home/vpopmail/etc/tcp.smtp

/*==================== tcp.smtp ================================ */

127.0.0.1:allow,RELAYCLIENT=""

:allow

/*========================================================== */

#cd /home/vpopmail/etc

#tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

  7.進行編譯:

  # ./configure 下面是我使用的引數

--prefix=/home/vpopmail 指定安裝路徑

--enable-mysql=y 是否應用Mysql資料庫

--enable-incdir=/usr/include/mysql Mysql資料庫include檔案所在目錄

--enable-libdir=/usr/lib/mysql Mysql資料庫lib檔案所在目錄

--enable-default-domain=mydomain.com 定義虛擬域名

--enable-passwd=n 是否使用系統密碼驗證方式

--enable-defaultquota=52428800s 定義預設郵箱大小,10485760為10MB,20971520為20MB,52428800s為50MB

--enable-tcprules-prog=/usr/local/bin/tcprules 指定tcprules目錄

--enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp 指定tcprules應用規則檔案

--enable-vpopuser=vpopmail vpopmail的使用者

--enable-vpopgroup=vchkpw vpopmail的組

--enable-ip-alias-domains=n 在虛擬域中允許透過反向IP地址查詢虛擬域名

# make

# make install-strip

  8.建立虛擬域

  # cd /home/vpopmail/bin

  # ./vadddomain 域名 (密碼) (在mysql資料庫vpopmail中自動生成vpopmail表單)

  (如果使用與機器名相同的虛擬域名,應先生成一個其它的虛擬域名,不然會有問題,無法自動生成vpopmail資料庫)

  # ./vadduser 使用者名稱 密碼 (會自動往表vpopmail中新增使用者資料,使用者名稱要帶域名,如demo@demo.com)

  如果不成功的話,則必須先刪除建立的域,./vdeldomain 域名

  五、smtp-auth的設定

  1.修改vchkpw的屬性

  #chmod 4755 vchkpw

  #chown root.root vchkpw

  如果使用帶驗證的smtp,smtp程式要呼叫密碼驗證程式,則必須要使用 setuid 和setgid。提高vchkpw的許可權,才能完成setgid操作。

  2.下載安裝cmd5checkpw

  wget

#tar zxvf cmd5checkpw-0.22.tar.gz

#cd cmd5checkpw-0.22

#make

#make install

  注意,因為使用vpopmail,所以checkpassword不用安裝。

  六、生成qmail的啟動指令碼

#cp /var/qmail/boot/home /var/qmail/rc

# vi /var/qmail/rc //對rc檔案進行修改,以決定投送方式:

/* ================= rc =========================*/

#!/bin/sh

# Using splogger to send the log through syslog.

# Using dot-forward to support sendmail-style ~/.forward files.

# Using qmail-local to deliver messages to ~/Mailbox by default.

exec env - PATH="/var/qmail/bin:$PATH"

qmail-start ./Maildir/ splogger qmail &

/* ============================================*/

#vi /var/qmail/smtp //編輯smtp服務的啟動指令碼

/* ===================== smtp ============================= */

#!/bin/sh

QMAILDUID=qmaild

NOFILESGID=nofiles

/usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd hostname /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 &

/* ====================================================== */

#vi /var/qmail/pop3 //編輯pop3服務的啟動指令碼

/* ====================== pop3 =========================== */

#!/bin/sh

/usr/local/bin/tcpserver -H -R 0 pop3

/var/qmail/bin/qmail-popup hostname

/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir &

/* ===================================================== */

#chmod 755 /var/qmail/rc

#chmod 755 /var/qmail/smtp

#chmod 755 /var/qmail/pop3

  七、執行qmail並測試

  #/var/qmail/rc

#/var/qmail/smtp

#/var/qmail/pop3

#ps aux | grep "qmail" //檢視qmail的服務程式是否已完全正常啟動

  如果qmail已正常啟動,用outlook測試qmail的smtp和pop3是否正常,注意由於vpopmail支援虛擬域名,所以在outlook中設定郵件帳號時,使用者名稱後要加上域名,如demo@demo.com。smtp是帶認證的,在outlook中也要作相應設定。建議先將qmail測試正常後再安裝igenus,我在qmail正常工作後,安裝igenus只用了10分鐘,非常順利。如果qmail出現問題,可檢視mysql中的vpopmail資料庫,/var/log下的mysqld和maillog日誌記錄,這樣容易很快找出問題。

  八、安裝並執行igenus

  1.到下載最新的安裝包,我用的是igenus_2_20030516_snap.tgz

  #tar zxvf igenus_2_20030516_snap.tgz -C /var/www/html //redhat下apache的預設document root

  2.建temp資料夾

  cd /var/www/html/igenus

mkdir temp

chmod -R 0755 temp

chown -R vpopmail:vchkpw temp

  3.修改httpd.conf

  #vi /etc/httpd/conf/httpd.conf

Group Apache

User Apache

修改為:

Group vchkpw

User vpopmail

  4.修改config_inc.php檔案

# cd /usr/local/apache/htdocs/igenus/config

# vi config_inc.php

/* =============== config_inc.php ==================== */

$CFG_BASEPATH = "/usr/local/apache/htdocs/igenus";

$CFG_MYSQL_HOST = 'localhost';

$CFG_MYSQL_USER = 'vpopmail';

$CFG_MYSQL_PASS = '12345678'; 改成你的密碼

$CFG_MYSQL_DB = 'vpopmail';

$CFG_TEMP = $CFG_BASEPATh."/temp";

/* ============================================== */

  5.重新編制Mysql資料庫表格

  #mysql -u root -p

mysql>use vpopmail;

mysql>alter table vpopmail drop primary key;

mysql>alter table vpopmail add column pw_id int(5) NOT NULL primary key auto_increment;

mysql>create table address

(

id int(11) unsigned NOT NULL auto_increment,

pw_id int(5) unsigned NOT NULL default '0',

name varchar(64) NOT NULL default '',

email varchar(128) NOT NULL default '',

UNIQUE KEY id (id),

KEY pw_id (pw_id)

) TYPE=MyISAM;

mysql>quit;

  6.如果需要,用vadddomain和vadduser新增新域名和新使用者。

  最後開啟瀏覽器,輸入http://你的網站/igenus,說Good Luck!。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-940584/,如需轉載,請註明出處,否則將追究法律責任。

相關文章