建立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

 

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐