大家照此配置如果有我问题请反馈给我,以帮助更多的人排除问题。
针对redhat5.5版本,更高版本在configure时,不用那么多参数,另外需要的模块可以去/etc/httpd/modules下面去取
A. (只对公司内部:从apache+svn文件夹)获取并编译httpd-2.2.23,apr-1.4.6,apr-util-1.4.1,subversion1.6.1
1. apr安装:
./configure
make
make install
2. apr-util安装:
./configure --with-apr=/usr/local/apr
make
make install
3. apache2 编译参数
./autogen.sh
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-dav --enable-so --enable-maintainer-mode --enable-ssl=shared --enable-module=most --enable-shared=most --enable-rewrite
make
make install
4. subversion编译参数
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-apxs=/usr/local/apache2/bin/apxs --with-ssl
make
make install
B. 修改配置文件
1。修改/usr/local/apache2/conf/httpd.conf
模块配置
#LoadModule dav_module         modules/mode_dav.so
#LoadModule dav_fs_module      modules/mod_dav_fs.so
#LoadModule dav_lock_module    modules/mod_dav_lock.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
LoadModule ssl_module         modules/mod_ssl.so
#
因为要开启两个apache,还有一个是bugfree的服务器,所以修改监听端口(这个服务器的ssl端口为443,
所以bugfree服务器的ssl配置conf/extra/http-ssl.conf修改为监听4433,bugfree那个httpd.conf修改为监听8122端口)
Listen 8080

2。编辑conf/extra/httpd-dav.conf,加入如下内容,其余内容全部删除,

这样配置可以开启多个svn仓库,每个仓库可以拥有独立的权限

 

<Location /svn/>
         AddType text/plain cpp
         DAV svn
         SVNParentPath /svn/project
         SVNListParentPath On
         AuthType Basic
         AuthName "Subversion respository"
         AuthUserFile /svn/passwd.conf
         AuthzSVNAccessFile /svn/authz.conf
         Require valid-user
</Location>
<Location /test_repo>
         DAV svn
         SVNListParentPath On
         SVNPath /svn/project/test_repo
         AuthType Basic
         AuthUserFile /svn/passwd.conf
         AuthzSVNAccessFile /svn/authz.conf
         AuthName "Subversion respository"
         Require valid-user
</Location>
<Location /pms>
         DAV svn
         SVNListParentPath On
         SVNPath /svn/project/pms
         AuthType Basic
         AuthUserFile /svn/passwd.conf
         AuthzSVNAccessFile /svn/authz.conf
         AuthName "Subversion respository"
#         Satisfy Any
         Require valid-user
</Location>         

3。接下来配置ssl,需要以下几个步骤:

第一步,创建key和request: 
openssl req -new > new.cert.csr
第二步,从key中删除passphrase(可选): 
openssl rsa -in privkey.pem -out new.cert.key
第三步,把request转换成signed sert: 
openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1825
第四步,把cert和key文件拷贝到适当的位置: 
cp new.cert.cert /usr/local/apache2/conf/server.crt 
cp new.cert.key /usr/local/apache2/conf/server.key

 

4。subversion的配置

在/svn下创建authz.conf文件,内容如下

 

[groups]
Admin=root
Develop=he.ql,l.cj,test_1,test_2,zhang.hm
[/project/pms]
@admin=rw
@develop=rw

[/project/test_repo]
*=rw 

[/]
@admin=rw
@develop=r
C.设置密码
/usr/local/apache2/bin/htpasswd -bc /svn/htpasswd root <如果为空密码就是空的>
这样就会在/svn下创建htpasswd文件,密码采用加密的方式。

D.创建仓库
svnadmin create /svn/project/mark
svnadmin create /svn/project/hql
svnserve -d -r /svn/project/

E.到此启动apahce就可以测试了:(修改一下/svn目录下文件的权限)

启动apache2命令:

/usr/local/apache2/bin/apachectl start

 

http://ip/svn/test,同样也可以使用svn客户端来访问svn list http://ip/svn/test,输入用户名密码后就可以访问新建的test库了。同样支持windows的svn客户端访问。


Bugfree安装:照搬bugfree安装参考官方网站说明,所有文件需要全新覆盖,在安装的时候不能使用旧的数据库文件。安装之后可以使用phpmyadmin备份
在执行网页安装之前:

1。在/opt/lamp/htdocs/bugfree3.0.3下新建目录BugFile

mkdir Bugfile;chmod 777 BugFile

2。修改bugfree下所有文件的权限

chmod 777 bugfree3.0.3 -R

这样仍然不行,需要根据安装页面的效果去修改文件以及文件下面的所有文件的权限,最好根据安装页面第二个页面提示的状态进行操作

3。修改/opt/lamp/my.cnf 以避免mysqld无权限扩大和删除配置文件的问题,页面首页的乱码cbException通常由这个文件的权限分配导致

user = nobody

user=$(你的user_ID,比如root)
另外,需要注意查看/tmp 目录是否满了,否则会出现数据库无法启动的问题
4.配置备份工具phpmyadmin
默认情况下登录localhost/phpmyadmin 页面会看到权限错误
修改/opt/lampp/etc/extra/httpd-xampp.conf 中的
<Directory "opt/lampp/phpmyadmin">
    
#添加这行内容
    Require all granted
<Directory>