当前位置: 首页 > 工具软件 > GForge > 使用案例 >

Ubuntu架设Gforge

霍永年
2023-12-01

GForege配置 过程中的问题

注:因为搭建环境不具有代表性,本文仅供参考,望读者自行领会!
1.不支持ubuntu10.1的问题,使用Debianetch
2.只支持postsql7.4的问题,更改脚本7.4成8.2
3.postgresql的Socket无法访问的问题
postgresql安装指南 http://www.linuxpk.com/3338.html
4.发现重大问题,居然没有PostMaster,不知道这个破Postgresql怎么装的,还apt-get呢
5.重大发现Postmast和postgres都在/usr/lib/postgresql/8.2里,现在遇到的问题是postgres找不到配置文件可能PDGDATA设置的问题PGDATA是环境变量,用来制定Psql数据库的数据存放位置。
6.postgresql混乱的权限问题
更改其所需要的文件为postgresql用户和用户组
chown postgresql:postgresql filename
7.PGDATA的具体位置有initdb来指定,或者创建一个空文件夹指定制定给initdb命令。
8.使用完initdb命令之后,postgres postmaster 就可以运行成功了。
9.修改/etc/postgresql/8.2/main/environment文件,添加PGDATA变量。
10.遇到巨大障碍,在/etc/init.d/postgresql-8.2时,出现错误:
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.转移到服务器上操作,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
使用vi命令 %s/7.4/8.2/gcp
vi具体用法参考 vi命令大全
15.出现db/目录为空问题
从测试机上拷贝过去的vr6有问题没有db文件夹,将本机上的db打包,用ftp传到服务器,服务器端apt-get install unzip 解压解决问题
16.运行install-gforge-2-db.php再次出现问题,原因为针对8.2版本的不兼容,不支持过短的密码和-e指令
ReadMasked()中Php的popen()函数调用的read -e指令无法解析,这可能是由于版本原因造成,popen函数参见 popen ,read的问题可能是由于不同的Linux版本的read命令无法解析-e指令造成的,read命令使用指南参见 Linux的Read命令
测试发现在Unbuntu上直接执行read命令是行得通的,但是php的popen命令来打开read命令就行不通了!怪事!
考虑proc_open具备双向管道功能,但是参数太多,暂不考虑,先查找其他的解决。
通过明文改写install-gforge-2-db.php来解决密码问题
因而install-gforge-2-db.php通过!!!%—%
17.运行,第三部分install-gforge-3.php的时候,添写完网站相关信息,之后,遇到一个问题
Restart Apache失败
现在任务是查看Apache服务器的问题
的确Apache服务器遇到了问题,错误来自于两个方面
warn dav_module dav_svn_module authz_svn_module均已加载,skipping故跳过
error /etc/gforge/http.conf配置错误,无法解析RewriteEngine参数,也许它在某个模块中定义过,而该模块没有加载
warn 的问题已经解决,因为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
所以,在第一次调用时或者之前,这三个模块已经加载了,所以当本次再调用时,就出现已经加载的警告提示。
关键问题还是 error 问题,在gforge的http.conf中写道:
RewriteEngine on//
RewriteEngine的用法
无法识别的原因是未加载模块,需要使用
LoadModule /usr/lib/apache2/modules/mod_rewrite.so来加载
遇到apache2的VirtualHost配置问题
将http.conf配置更改
? 192.168.1.90:80>出现如下 错误:
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>出现老错误
Mixing * ports and non-* ports with a NameVirtualHost ? Address is not supported proceeding with undefined results.
学习基于IP的虚拟主机设置
最后发现为什么配置总是错呢,原来我忘加sudo了,这真是个讨厌的东西
 
Install-gforge-3.php本身也遇到了问题
Update Gforge DB文件/opt/gforge5/db/pqsql/db_updater.php需要ionCube PHPLoader
这个模块需要ioncube_loader_lin_5.2.so的支持
Ioncube是一个商业化的保护PHP代码的解决方案 http://www.ioncube.com/
遇到知识障碍: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的默认文件安装目录和启动目录以及配置文件格式
定向成功
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.
源文档 < http://192.168.1.90/ >
可见,ioncube的配置上还是有问题,是否需要动态加载呢??
我首先查看了 我的PHP配置
GForge对他们的关键页面都采用了ionCube加密技术,我们需要解压器
使用Php命令行模式进行测试 命令行使用指南参考 http://www.php.net/manual/zh/features.commandline.php
使用php -m我可以确定iconCube Loader已经加载、
那么问题就还在于php脚本执行时出现错误,原因可能不再脚本本身!
 
20.学习使用putty进行SSH连接以加快调试进程
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.'
';
$here=dirname(FILE ); id)>1&&$ id1==':'){ id=str_replace(' id,'/')).$here.'/';)); i
}
$
$i=strlen($rd);
echo 'rd is '.$rd.'
';
while($ i--){ 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 '';
?>
在服务器上加载一个test.php文件,在浏览器上查看如下结果:
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: cannot open 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返回页面是空的
猜想——这不是真正的页面位置,得找到入口页面,因为在访问192.168.1.219的时候,重定向到了 http://192.168.1.219/gf上 ,所以我在地址栏输入:192.168.1.90/gf果然打开了新页面,并提示到
Configuration error: Host name (192.168.1.90) differs from system configuration (localhost)
源文档 < http://192.168.1.90/gf/ >
使用如下命令
cd /opt/gforge5
php change-hostname.php
更改IP配置,成功!!!!
24.重定向问题解决
使用Header函数出现问题,使用javascript脚本解决问题。
windows.location = " http://192.168.1.90/gf/ ";
25.Wiki失败!
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文件内人Font-size改变字体外观!
改变images下的图像文件,改变logo
 
至此告一段落! 
 类似资料: