gforge安装指南

Gforge作为一个开源世界中优秀的协同开发软件,为开放源代码软件的开发提供了完善的软件开发平台,鼓励开发者充分的利用这一开放的平台来为开源世界开发出更加丰富的开源软件。

Gforge起初来源于开源的sf.net--sourceforge,直到cvs2.6版就转向商业版开发,不再开源。然后就有了分支Gforge,主要开发人员来自sf,其实gforge最一开始是在debian下使用。官方服务器也是debian的,还有其他sf的分支。在ibm内部开源网站也是使用的gforge,不过是多加了些plugin而已。

Gforge在4.6版本产生了支持一个mysql的分支,但是至今已经9个月,没有发布任何可用的版本。所以本篇文章使用Gforge for postgresql。

安装gforge需要准备以下内容:
Openssl
Apache
Postgresql
Php
Bdb
Svn

使用的Server版本是Redhat Enterprise 4.4 32bits 不安装默认的Web Server, Database Server等

需要准备的tar包如下:
Openssl-0.9.8e.tar.gz
httpd-2.2.6.tar.gz
postgresql-8.2.5.tar.gz
php-5.2.4.tar.gz
db-4.4.20.tar.gz
subversion-1.2.1.tar.bz2
gforge-4.5.16.tar.bz2
这些包都能从网上找到。

按照以下顺序安装:
一. openssl
#tar -zvxf openssl-0.9.8e.tar.gz
#cd openssl-0.9.8e
# ./config --prefix=/usr/local/openssl
#make
#make install

二. apache
# tar -zxf httpd-2.2.6.tar.gz
# cd httpd-2.2.6
# ./configure --prefix=/usr/local/apache --enable-dav --enable-so --enable-ssl --with-ssl=/usr/local/openssl --enable-rewrite --enable-maintainer-mode
#make
#make install


三. postgresql
#tar -zxvf postgresql-8.2.5.tar.gz
# cd postgresql-8.2.5
# ./configure --prefix=/usr/local/pgsql --with-openssl
#gmake
#gmake install
#adduser postgres
#passwd postgres
#mkdir -P /usr/local/pgsql/data
#chown -R postgres  /usr/local/pgsql/
#chown   postgres  /usr/local/pgsql/data
#su postgres
$/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data (初始化数据库)
$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & (在后台运行,返回一个pid)

四. php
#tar zxf php-5.2.4.tar.gz
#cd php-5.2.4
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-pgsql=/usr/local/pgsql --enable-mbstring --enable-ftp
#make
#make install
#cp php.ini-dist /usr/local/php/lib/php.ini

#vi php.ini
修改
register_globals=On
magic_quotes_gpc=On
file_uploads=On
include_path=".:/var/www/gforge:/var/www/gforge/www:/var/www/gforge/www/include:/etc/gforge:/var/www/gforge/www/admin/:/var/www/gforge/plugins/scmcvs/etc:/var/www/gforge/plugins/scmsvn/etc"#vi /usr/local/apache/conf/httpd.conf
添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

查找DirectoryIndex
加入 index.htm index.php
重新启动apache :
#/usr/local/apache/bin/apachectl restart

五.BDB
# tar zxf db-4.4.20.tar.gz
# cd db-4.4.20/build_unix/
#../dist/configure --prefix=/usr/local/bdb (注意 不能在dist/目录下运行config)
#make
#make install

六.SVN
#tar xvfj subversion-1.2.1.tar.bz2
#cd subversion-1.2.1
# ./configure --prefix=/usr/local/svn --with-berkeley-db=/usr/local/bdb --with-apxs=/usr/local/apache/bin/apxs --with-ssl --with-libs=/usr/local/openssl --enable-maintainer-mode
#make
#make install
#svnadmin –version (未能运行)
#svnserve –d (未能启动)


七.gforge
#tar xvfj gforge-4.5.16.tar.bz2
#mv gforge-4.5.16 /var/www/gforge
#mkdir /etc/gforge
#cp /var/www/gforge/etc/local.inc.example /etc/gforge/local.inc

#vi /etc/gforge/local.inc
修改
$sys_dbhost="localhost"
$sys_dbname="gforge"
$sys_dbuser="postgres"
$sys_dbpasswd="postgres"
$sys_urlroot='/var/www/gforge/www/';
$sys_themeroot='/var/www/gforge/www/themes/';
$sys_default_domain = 'gforge.teamlet.org';
$sys_forum_return_domain = "gforge.teamlet.org";
$sys_download_host = 'download.gforge.teamlet.org';
$sys_shell_host = 'shell.gforge.teamlet.org';
$sys_users_host = 'users.gforge.teamlet.org';
$sys_scm_host = 'cvs.gforge.teamlet.org';
(将gforge.teamlet.org换成你自己的域名)
$svndir_prefix='/usr/local/bin';
$sys_plugins_path='/var/www/gforge/plugins/';

八. 准备gforge用的数据库
# vi /usr/local/pgsql/data/pg_hba.conf
加入
host gforge gforge 127.0.0.1 255.255.255.255 md5

# vi /usr/local/pgsql/data/postgresql.conf
加入
tcpip_socket = true

#chown -R postgres /var/www/gforge/www/db
#su - postgres
$/usr/local/pgsql/bin/psql template1
template1=# CREATE USER gforge NOCREATEUSER NOCREATEDB PASSWORD 'gfpwd';
template1=# CREATE DATABASE gforge OWNER gforge ENCODING 'UNICODE';
template1=# \q

$/usr/local/pgsql/bin/createlang plpgsql gforge
$cd /var/www/gforge/www/db
$/usr/local/pgsql/bin/psql gforge
gforge=# \i gforge.sql
gforge=# \q

(将/var/www/gforge/复制到/usr/local/apache/htdocs下)
#cp -r /var/www/gforge  /usr/local/apache/htdocs
然后可以通过浏览器访问了。

下面的步骤尚未测试。

九. 设置Apache的Virtual Server连接到/var/www/gforge/www

(Server Name一定要和gforge里的local.inc的domain一致才能运行)

设置Virtual Server例子如下:

Listen 8080
DocumentRoot "/var/www/gforge/www"
ForceType application/x-httpd-php

ForceType application/x-httpd-php

Options FollowSymLinks
AllowOverride None
Order allow,deny
allow from all

ServerName gforge.teamlet.org

如果使用Webmin设置virtual host,只要修改httpd.conf文件,并按照上面的例子修改就可以了。