Ubuntu架设Gforge - mengduanhonglou的专栏 - CSDNBlog

来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:18:34

GForege配置 过程中的问题

注:因为搭建环境不具有代表性,本文仅供参考,望读者自行领会!1.不支持ubuntu10.1的问题,使用Debianetch2.只支持postsql7.4的问题,更改脚本7.4成8.23.postgresql的Socket无法访问的问题postgresql安装指南 http://www.linuxpk.com/3338.html http://soft.zdnet.com.cn/software_zone/2007/0926/524759.shtml4.发现重大问题,居然没有PostMaster,不知道这个破Postgresql怎么装的,还apt-get呢5.重大发现Postmast和postgres都在/usr/lib/postgresql/8.2里,现在遇到的问题是postgres找不到配置文件可能PDGDATA设置的问题PGDATA是环境变量,用来制定Psql数据库的数据存放位置。6.postgresql混乱的权限问题更改其所需要的文件为postgresql用户和用户组chown postgresql:postgresql filename7.PGDATA的具体位置有initdb来指定,或者创建一个空文件夹指定制定给initdb命令。8.使用完initdb命令之后,postgrespostmaster就可以运行成功了。9.修改/etc/postgresql/8.2/main/environment文件,添加PGDATA变量。10.遇到巨大障碍,在/etc/init.d/postgresql-8.2时,出现错误:Could not connect to databasepg_control: could not open file "/etc/lib/postgresql/8.2/pg_control" for reading : No such file or directoryError: Could not parse locale out of pg_control data output11.转移到服务器上操作,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服务器遇到了问题,错误来自于两个方面warndav_module dav_svn_module authz_svn_module均已加载,skipping故跳过error/etc/gforge/http.conf配置错误,无法解析RewriteEngine参数,也许它在某个模块中定义过,而该模块没有加载warn的问题已经解决,因为gforge的http.conf文件里写道:LoadModule dav_module         modules/mod_dav.soLoadModule dav_svn_module     modules/mod_dav_svn.soLoadModule authz_svn_module   modules/mod_authz_svn.so所以,在第一次调用时或者之前,这三个模块已经加载了,所以当本次再调用时,就出现已经加载的警告提示。关键问题还是error问题,在gforge的http.conf中写道:RewriteEngine on//RewriteEngine的用法官方网址:http://docs.huihoo.com/apache/httpd/2.2-cn/mod/mod_rewrite.html无法识别的原因是未加载模块,需要使用LoadModule /usr/lib/apache2/modules/mod_rewrite.so来加载遇到apache2的VirtualHost配置问题官方网址:http://httpd.apache.org/docs/2.0/vhosts/将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.源文档 <http://apache2triad.net/forums/viewtopic.php?t=5161&start=0> 学习基于IP的虚拟主机设置最后发现为什么配置总是错呢,原来我忘加sudo了,这真是个讨厌的东西 Install-gforge-3.php本身也遇到了问题Update Gforge DB文件/opt/gforge5/db/pqsql/db_updater.php需要ionCube PHPLoader这个模块需要ioncube_loader_lin_5.2.so的支持下载地址为:http://www.ioncube.com/loaders.phpIoncube是一个商业化的保护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('\\','/',substr($id,2));if(strlen($$$here=str_replace('\\','/',substr($here,2rd=str_repeat('/..',substr_count($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';elseecho '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: cannotopen shared object file: No such file or directory in /opt/gforge5/www/test.php on line 32load failed!funtion _il_exec does not exist源文档 <http://192.168.1.90/test.php>  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/gforge5php 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 至此告一段落!