GForege配置 過程中的問題
注:因為搭建環(huán)境不具有代表性,本文僅供參考,望讀者自行領(lǐng)會!
1.不支持ubuntu10.1的問題,使用Debianetch
2.只支持postsql7.4的問題,更改腳本7.4成8.2
3.postgresql的Socket無法訪問的問題
4.發(fā)現(xiàn)重大問題,居然沒有PostMaster,不知道這個破Postgresql怎么裝的,還apt-get呢
5.重大發(fā)現(xiàn)Postmast和postgres都在/usr/lib/postgresql/8.2里,現(xiàn)在遇到的問題是postgres找不到配置文件可能PDGDATA設(shè)置的問題PGDATA是環(huán)境變量,用來制定Psql數(shù)據(jù)庫的數(shù)據(jù)存放位置。
6.postgresql混亂的權(quán)限問題
更改其所需要的文件為postgresql用戶和用戶組
chown postgresql:postgresql filename
7.PGDATA的具體位置有initdb來指定,或者創(chuàng)建一個空文件夾指定制定給initdb命令。
9.修改/etc/postgresql/8.2/main/environment文件,添加PGDATA變量。
10.遇到巨大障礙,在/etc/init.d/postgresql-8.2時,出現(xiàn)錯誤:
Could not connect to database
pg_control: could not open file "/etc/lib/postgresql/8.2/pg_control" for reading : No such file or directory
Error: Could not parse locale out of pg_control data output
11.轉(zhuǎn)移到服務(wù)器上操作,postgresql8.2看似良好
12.上午install-gforge-1-dependency.php查看出錯
13.中午運行install-gforge-1-dependency.php DEBIANETCH直接下載成功,通過所有依賴性驗證
14.開始install-gforge-2-db.php,需要將7.4變成8.2
15.出現(xiàn)db/目錄為空問題
從測試機上拷貝過去的vr6有問題沒有db文件夾,將本機上的db打包,用ftp傳到服務(wù)器,服務(wù)器端apt-get install unzip 解壓解決問題
16.運行install-gforge-2-db.php再次出現(xiàn)問題,原因為針對8.2版本的不兼容,不支持過短的密碼和-e指令
ReadMasked()中Php的popen()函數(shù)調(diào)用的read -e指令無法解析,這可能是由于版本原因造成,popen函數(shù)參見popen,read的問題可能是由于不同的Linux版本的read命令無法解析-e指令造成的,read命令使用指南參見Linux的Read命令。 測試發(fā)現(xiàn)在Unbuntu上直接執(zhí)行read命令是行得通的,但是php的popen命令來打開read命令就行不通了!怪事!
考慮proc_open具備雙向管道功能,但是參數(shù)太多,暫不考慮,先查找其他的解決。
通過明文改寫install-gforge-2-db.php來解決密碼問題
因而install-gforge-2-db.php通過?。。。ァ?/font>
17.運行,第三部分install-gforge-3.php的時候,添寫完網(wǎng)站相關(guān)信息,之后,遇到一個問題
Restart Apache失敗
現(xiàn)在任務(wù)是查看Apache服務(wù)器的問題
的確Apache服務(wù)器遇到了問題,錯誤來自于兩個方面
warndav_module dav_svn_module authz_svn_module均已加載,skipping故跳過 error/etc/gforge/http.conf配置錯誤,無法解析RewriteEngine參數(shù),也許它在某個模塊中定義過,而該模塊沒有加載 warn的問題已經(jīng)解決,因為gforge的http.conf文件里寫道: LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
所以,在第一次調(diào)用時或者之前,這三個模塊已經(jīng)加載了,所以當(dāng)本次再調(diào)用時,就出現(xiàn)已經(jīng)加載的警告提示。
關(guān)鍵問題還是error問題,在gforge的http.conf中寫道: RewriteEngine on//
無法識別的原因是未加載模塊,需要使用
LoadModule /usr/lib/apache2/modules/mod_rewrite.so來加載
遇到apache2的VirtualHost配置問題
將http.conf配置更改
192.168.1.90:80>出現(xiàn)如下 錯誤:
could not bind to address 0.0.0.80?no listening sockets available,shutting down.Unable to open logs?
懷疑是什么東西占用端口80用lsof -I :port查看或netstat -ntlp
改回? _default_:80>出現(xiàn)老錯誤
Mixing * ports and non-* ports with a NameVirtualHost Address is not supported proceeding with undefined results. 學(xué)習(xí)基于IP的虛擬主機設(shè)置
最后發(fā)現(xiàn)為什么配置總是錯呢,原來我忘加sudo了,這真是個討厭的東西
Install-gforge-3.php本身也遇到了問題
Update Gforge DB文件/opt/gforge5/db/pqsql/db_updater.php需要ionCube PHPLoader
這個模塊需要ioncube_loader_lin_5.2.so的支持
遇到知識障礙:PHP.ini的配置編寫問題
在/etc/php5/cli/php.ini中改寫,我一開始寫錯地方了把/etc/php5/apache2/php.ini給改寫了
在其中任意位置加入zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.2.so
重新運行Install-gforge-3.php成功!?。。。?!
18.Apache重定向問題
了解Apache的默認(rèn)文件安裝目錄和啟動目錄以及配置文件格式
定向成功
19.GForge主頁還是遇到了新的問題,還是ioncube的問題
Site error: the file /opt/gforge5/www/index.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.
可見,ioncube的配置上還是有問題,是否需要動態(tài)加載呢??
GForge對他們的關(guān)鍵頁面都采用了ionCube加密技術(shù),我們需要解壓器
使用php -m我可以確定iconCube Loader已經(jīng)加載、
那么問題就還在于php腳本執(zhí)行時出現(xiàn)錯誤,原因可能不再腳本本身!
20.學(xué)習(xí)使用putty進行SSH連接以加快調(diào)試進程
21.重點iconCube問題
編寫腳本如下、
echo '';
if(!extension_loaded('ionCube Loader'))
{
echo 'We need load it!';
$oc=strtolower(substr(php_uname(),0,3));oc is '.$oc.'
';ln='/ioncube/ioncube_loader_'.$oc.'_'.substr(phpversion(),0,3).(($oc=='win')?'.dll':'.so');
echo '
$
echo 'ln is .'$ln.'
';
$oid=$id=realpath(ini_get('extension_dir'));
echo 'extensiondir is '.$oid.'
';
if(strlen($
$
}
$
$i=strlen($rd);
echo 'rd is '.$rd.'
';
if($
{
$lp=substr($rd,0,$i).$ln;
if(file_exists($oid.$lp))
{
$ln=$lp;
break;
}
}
}
echo 'finally ln is '.$lin.'
';
if (dl($ln))oc is lin
echo 'load success!
';
else echo 'load failed!
';
}
else
{
echo 'has loaded';
}
if (function_exists('_il_exec'))
echo 'Well exists';
else
echo 'funtion _il_exec does not exist';
echo '';
?>
在服務(wù)器上加載一個test.php文件,在瀏覽器上查看如下結(jié)果:
We need load it!
ln is /ioncube/ioncube_loader_lin_5.2.so extensiondir is /usr/lib/php5/20060613+lfs
rd is /../../../../opt/gforge5/www/ ln is
finally
Warning: dl() function.dl">function.dl:Unable to load dynamic library'/usr/lib/php5/20060613+lfs//ioncube/ioncube_loader_lin_5.2.so' -/usr/lib/php5/20060613+lfs//ioncube/ioncube_loader_lin_5.2.so: cannotopen shared object file: No such file or directory in /opt/gforge5/www/test.php on line 32 load failed!
funtion _il_exec does not exist
22.更改ioncube_loader_lin_5.2.so位置和/usr/lib/php5/200613+lfs下的其他模塊保持一致;
使用ln -s /usr/local/ioncube ioncube
終于加載成功了!
23.但是index.php返回頁面是空的
Configuration error: Host name (192.168.1.90) differs from system configuration (localhost)
使用如下命令
cd /opt/gforge5
php change-hostname.php
更改IP配置,成功?。。?!
24.重定向問題解決
使用Header函數(shù)出現(xiàn)問題,使用javascript腳本解決問題。
25.Wiki失?。?/font>
Configuration variable "userwiki.disableBracketLinks" doesn't exist. Maybe cache needs to be updated?
配置文件位置不對!高鵬將/opt/gforge5/plugins/wiki/conf/wiki.conf 拷貝到 /etc/gforge/plugins/wiki/wiki.conf下,即成功!
26.更改用戶界面
改變/www/themes下文件和圖片
更改GFThemes.css文件內(nèi)人Font-size改變字體外觀!
改變images下的圖像文件,改變logo
至此告一段落!