通过Apache访问svn代码库的配置步骤
2008-03-24 20:29
489 查看
建立svn代码库,可以进行代码的版本控制,对一般用户来讲,如何方便的查看代码库内容,目前的一个解决方案是使用apache来访问svn代码库。通过自己的测试,现将完整的步骤小结如下:
平台:FreeBSD 7.1 rc1
1 安装FreeBSD系统,需要安装ports,具体安装步骤从略。
2 安装apache20
如果不需要使用bdb(bsd数据库)保存代码库,可以简单采取pkg_add的安装方式
# pkg_add -r apache20
如果svn代码库采用bdb存储,需要采用ports安装方式
# cd /usr/ports/www/apache20
# make WITH_BERKELEYDB=db4 install clean
3 安装 svnversion
如果不使用bdb数据库,即使用本地文件系统,按照下面方法编译
# cd /usr/ports/devel/subversion
# make WITH_PYTHON=yes WITH_MOD_DAV_SVN=yes WITHOUT_BDB=yes install clean
如果使用bdb数据库,按照下面方法编译
# cd /usr/ports/devel/subversion
# make WITH_PYTHON=yes WITH_MOD_DAV_SVN=yes install clean
4 建立初始svn代码库(使用本地文件系统)
a 建立组和账户,考虑到安全性与便于管理,代码库使用专门的用户和组来进行管理
# adduser svn # 建立用户svn和组svn
# pw groupmod svn -M www # 把www用户添加到svn组中,以便匿名用户可以通过浏览器访问
b 建立代码库,代码库建立在 /home/svn/bsdlover 目录下
# su - svn # 切换到svn用户
$ mkdir bsdlover # 建立代码库目录
$ svnadmin create /home/svn/bsdlover --fs-type fsfs # 建立根代码库,使用本地文件系统
如果要使用bdb数据库保存代码库,使用下面的命令
$ svnadmin create /home/svn/bsdlover --fs-type bdb
修改代码库权限,可以通过http方式提交代码(目前这里存在一个安全问题,权限控制在后续的补充中完成)
$ chmod -R g+w bsdlover
$ exit # 退出svn用户,回到root用户下
5 配置apache服务器访问svn代码库
a 加载需要的模块
编辑httpd.conf文件,找到下面的4条语句。然后把找到的语句前面的"#"号删除
系统安装时,建议采用先apache,后subversion的顺序。
LoadModule dav_module ...
LoadModule dav_fs_module ...
LoadModule dav_svn_module ...
LoadModule authz_svn_module ... # 这个语句目前没有参加测试,目前是注释掉的
需要注意的是这四个语句在httpd.conf中出现的先后顺序要正确
b 定义svn代码库的具体位置
编辑httpd.conf文件,在文件结尾处追加下面的语句
<Location /bsdlover> # 此处的"/bsdlover"是定义代码库根目录
DAV svn
SVNPath /usr/home/svn/bsdlover # 此处是定义代码库的具体路径
</Location>
c 重新运行apache服务器
# /usr/local/sbin/apachectl restart
如果能在 /var/run 目录下看到 httpd.pid 文件,表示服务器启动成功,这时在浏览器输入
http://localhost
应该可以看到apache的测试页面
6 导入具体的项目到代码库
# su - svn
$ mkdir livecd # 建立一个代码项目存放目录
$ touch livecd/readme.txt # 建议一个文件,用于测试导入效果
$ svn import livecd http://localhost/bsdlover/test -m "Importing of 1st project"
这个语句的作用是把livecd目录下的文件,导入到代码库,项目名称是 test ,-m 后面的字符串是注释
这条语句运行成功与否十分重要,如果成功,表示可以通过apache访问代码库了,而且可写
如果不成功,可以根据提示找到具体的问题所在
7 基本测试
在本机浏览器地址栏上输入
http://localhost/bsdlover
平台:FreeBSD 7.1 rc1
1 安装FreeBSD系统,需要安装ports,具体安装步骤从略。
2 安装apache20
如果不需要使用bdb(bsd数据库)保存代码库,可以简单采取pkg_add的安装方式
# pkg_add -r apache20
如果svn代码库采用bdb存储,需要采用ports安装方式
# cd /usr/ports/www/apache20
# make WITH_BERKELEYDB=db4 install clean
3 安装 svnversion
如果不使用bdb数据库,即使用本地文件系统,按照下面方法编译
# cd /usr/ports/devel/subversion
# make WITH_PYTHON=yes WITH_MOD_DAV_SVN=yes WITHOUT_BDB=yes install clean
如果使用bdb数据库,按照下面方法编译
# cd /usr/ports/devel/subversion
# make WITH_PYTHON=yes WITH_MOD_DAV_SVN=yes install clean
4 建立初始svn代码库(使用本地文件系统)
a 建立组和账户,考虑到安全性与便于管理,代码库使用专门的用户和组来进行管理
# adduser svn # 建立用户svn和组svn
# pw groupmod svn -M www # 把www用户添加到svn组中,以便匿名用户可以通过浏览器访问
b 建立代码库,代码库建立在 /home/svn/bsdlover 目录下
# su - svn # 切换到svn用户
$ mkdir bsdlover # 建立代码库目录
$ svnadmin create /home/svn/bsdlover --fs-type fsfs # 建立根代码库,使用本地文件系统
如果要使用bdb数据库保存代码库,使用下面的命令
$ svnadmin create /home/svn/bsdlover --fs-type bdb
修改代码库权限,可以通过http方式提交代码(目前这里存在一个安全问题,权限控制在后续的补充中完成)
$ chmod -R g+w bsdlover
$ exit # 退出svn用户,回到root用户下
5 配置apache服务器访问svn代码库
a 加载需要的模块
编辑httpd.conf文件,找到下面的4条语句。然后把找到的语句前面的"#"号删除
系统安装时,建议采用先apache,后subversion的顺序。
LoadModule dav_module ...
LoadModule dav_fs_module ...
LoadModule dav_svn_module ...
LoadModule authz_svn_module ... # 这个语句目前没有参加测试,目前是注释掉的
需要注意的是这四个语句在httpd.conf中出现的先后顺序要正确
b 定义svn代码库的具体位置
编辑httpd.conf文件,在文件结尾处追加下面的语句
<Location /bsdlover> # 此处的"/bsdlover"是定义代码库根目录
DAV svn
SVNPath /usr/home/svn/bsdlover # 此处是定义代码库的具体路径
</Location>
c 重新运行apache服务器
# /usr/local/sbin/apachectl restart
如果能在 /var/run 目录下看到 httpd.pid 文件,表示服务器启动成功,这时在浏览器输入
http://localhost
应该可以看到apache的测试页面
6 导入具体的项目到代码库
# su - svn
$ mkdir livecd # 建立一个代码项目存放目录
$ touch livecd/readme.txt # 建议一个文件,用于测试导入效果
$ svn import livecd http://localhost/bsdlover/test -m "Importing of 1st project"
这个语句的作用是把livecd目录下的文件,导入到代码库,项目名称是 test ,-m 后面的字符串是注释
这条语句运行成功与否十分重要,如果成功,表示可以通过apache访问代码库了,而且可写
如果不成功,可以根据提示找到具体的问题所在
7 基本测试
在本机浏览器地址栏上输入
http://localhost/bsdlover
相关文章推荐
- svn+apache+ssl安装配置,通过SSL访问
- Apache通过配置.htaccess文件禁止访问.git、.svn等目录
- 配置通过Apache(httpd)访问Subversion(SVN)1.7资源库
- 关于通过nginx配置到apache-tomcat-7.0.67的端口的时候access中打印访问日志会一直输出nginx的地址而不是用户的真实地址
- 配置webmin通过apache访问
- Apache通过配置端口访问不同目录
- 通过apache/nginx禁止访问.svn目录
- XAMPP配置Apache禁止通过IP直接访问网站
- ubuntu + nginx 安装subversion并配置nginx+apache通过http方式访问
- 配置通过http访问svn服务器(linux版本)
- svn搭建HTTP访问方式--- 配置apache配置文件
- liunx centos5.8 下配置apache+svn的http访问
- 通过配置apache实现多个站点访问
- apache下virtualhost与location合用配置转发SVN控制访问
- CentOS下通过apache访问SVN
- wordpress配置通过IP直接访问及apache的配置
- 通过httpd.conf来优化大数据访问 - sever 2008 Apache优化配置
- 基于Apache配置svn支持http访问
- [Trac学习]通过apache来访问svn和trac (转自limodou的blog)
- apache配置支持虚拟主机(通过端口访问)