歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> BSD >> FREEBSD 中安裝iGENUS_2.0.2

FREEBSD 中安裝iGENUS_2.0.2

日期:2017/2/28 11:26:49   编辑:BSD


$ tar -zxvf igenus_2.0.2_20040901_release.tgz
$ cd igenus
由於igenus使用了自己的表結構,所以要在postfix的基礎上使用igenus的所有功能,還需要進行比較大的修改,這裡我們就不再討論,本文中我們就向大家介紹如何使用戶能夠登錄到igenus中,並且正常的發郵件和收郵件,其它功能就不再介紹。
首先需要修改igenus的配置文件,讓其它知道如何與MySQL連接:
$ cd config
$ vi config_inc.php
根據你的實際情況修改以下內容(配置中的中文為筆者說明):
$CFG_BASEPATH = "/htdocs/mail/igenus";   //iGENUS的絕對路徑
// Mysql
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'postfixadmin';      //因為用戶需要在igenus中更改密碼等,所以需要使用對數據庫具有寫權限的postfixadmin用戶,而非擁有只讀權限的postfix用戶
$CFG_MYSQL_PASS = 'postfix';
$CFG_MYSQL_DB = 'postfix';
// Temp directory for maildir listing,mail body decodeing etc.
$CFG_TEMP = $CFG_BASEPATH."/temp";     //這裡我們將igenus的臨時目錄設置為igenus安裝目錄下的temp目錄
現在需要建立temp文件夾,並使其可被web服務器的用戶讀寫: 
$ mkdir igenus/temp
$ chmod 777 igenus/temp
同時要使igenus使用Postfixadmin的表結構,我們需要修改igenus目錄中的login.php文件,以使用戶能夠正常登錄。
$ vi login.php
修改其中的:
$query = "SELECT * FROM vpopmail WHERE pw_name='$Post_name' and pw_domain='$Post_domain'";
為:
$query = "SELECT * FROM mailbox WHERE username='$Post_name@$Post_domain' and active='1'";
將:
$home = $data['pw_dir'];
$Post_passwd2 = $data['pw_passwd'];
$pw_id = $data['pw_id'];
$pw_shell = $data['pw_shell'];
$pw_gecos = $data['pw_gecos'];
$pw_gid = $data['pw_gid'];
$pw_domain = strtolower($data['pw_domain']);
$pw_name = strtolower($data['pw_name']);
修改為:
$home = "/var/mail/" . $data['maildir'] . "../";
$Post_passwd2 = $data['password'];
$pw_shell = $data['quota'];
$pw_gecos = $data['name'];
$pw_domain = strtolower($data['domain']);
$pw_name = strtolower($data['username']);
其中$home = "/var/mail/" . $data['maildir'] . "../";是告訴iGENUS郵件存儲的路徑,"/var/mail/"為我們的郵件存放目錄,同時因為iGENUS進行讀寫郵件時會在$home變量後面加上字符串"Maildir/",但我們的MySQL數據表mailbox中的maildir字段中已經包含"Maildir/",所以為了讓iGENUS得到正確的路徑,我們在最後加上了字符串"../"
修改:
if ($pw_gid & 0x04){
PutLogs($pw_id, 'login', "no priv to login","$Post_name@$Post_domain", $sql);
ErrorExit(-2); // 用戶無權登錄
}
if ($home !="" && ($Post_passwd2 == crypt($Post_passwd,$Post_passwd2))){
為:
if ($pw_gid & 0x04){
PutLogs($pw_id, 'login', "no priv to login","$Post_name@$Post_domain", $sql);
ErrorExit(-2); // 用戶無權登錄
}
if ($home !="" && ($Post_passwd2 == $Post_passwd)){

注釋或者刪除:
$_SESSION['G_ID'] = $pw_id;
在提示的地方將mysql_fetch_object()改成@mysql_fetch_object()即可
1、也就是在mailbox.php的253和274行
2、在add2addr.php的94和109行(通訊錄)
3、在pubaddr.php的第65和85行(通訊錄中的公共)
4、在address.php的第59和73行(通訊錄中的個人)
5、在personal.php的第82行(系統設置的個人資料)
6、在card.php的第162\179行(名片夾)
7、在stow.php的第119\138行(收藏夾)
8、在message.php的第106\126行(內部通知)
在以下的PHP文件中將$OUT['EMAIL']= "$SG_USERNAME@$SG_DOMAIN";更改成:$OUT['EMAIL']=$SG_USERNAME";
mailbox.php、logo.php、file.php、forword.php、list.php、message.php、reply.php、scheduler.php、send.php、sendagain.php、sendmail.php裡面的setfrom行、sendok.php、writeagain.php、personal.php 、
設置網絡硬盤路徑
可以修改igenus/config下的config_inc.php中的$CFG_NETDISK_PATH = "/home/netdisk";
#mkdir /home/netdisk
#chmod –R www:www? /home/netdisk
請改成你這節的路徑比如:$CFG_NETDISK_PATH = " /var/netdisk";前提是你必須有這個目錄
Copyright © Linux教程網 All Rights Reserved