一、所需软件包
1、apr-1.4.6.tar.gz 下载地址:http://apr.apache.org/
2、apr-util-1.4.1.tar.gz 下载地址:http://apr.apache.org/
3、pcre-8.20.tar.gz 下载地址:http://www.pcre.org/
4、serf-1.2.1.tag.bz2 下载地址:http://pan.baidu.com/s/1dDhfmhV
这个库提供的是对http和https协议的支持。值得说明的是,1.8版本之前这里依赖的是neon,1.8之后改成了serf
5、sqlite-amalgamation,这个比较特殊了,因为是直接用他的源文件,且需要放到正确的路径。下载地址:http://www.sqlite.org/snapshot/sqlite-amalgamation-201404281756.zip
将代码解压到svn源代码目录根目录下,并命名为sqlite-amalgamation,否则在安装subversion的时候会提示sqlite3错误
二、编译安装subversion
如果有旧版本的subversion,则卸载yum erase subversion
./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/httpd/bin/apxs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-zlib --with-openssl --enable-maintainer-mode make && make install
三、安装成功之后添加环境变量(永久性)
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
vi /etc/profile export PATH="$PATH:/usr/local/subversion/bin/"
要让刚才的修改马上生效,需要执行以下代码
source /etc/profile
四、检查是否安装成功
subversion --version
如果有libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr错误提示,解决方法是:http://www.cnblogs.com/rnckty/p/4560262.html
五、配置subversion
1、建立项目的版本库目录(/var/svn)(可建立多个,新建库后以下各项都需重新配置)
mkdir -p /var/svn/web(创建web项目的版本库目录)
2、建立web项目的svn版本库
svnadmin create /var/svn/web
3、修改版本库的配置文件
vi /var/svn/web/conf/svnserve.conf
各参数功能在配置文件的注释中有说明, 此处配置如下:
[general] anon-access = none # 使非授权用户无法访问 auth-access = write # 使授权用户有写权限 password-db = passwd # 指明密码文件路径 authz-db = authz # 访问控制文件
其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.
4、配置用户
vi /var/svn/web/conf/passwd
输入以下内容:
[users]
username1 = password1
username2 = password2
可以添加多个,此为用户名密码对。
5、配置权限
vi /var/svn/web/conf/authz
此配置文件设置各用户的授权。
包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:
#对仓库web根目录权限设置
[web:/]
user1 = rw
user2 = r
6. 使用import导入文件
新建好的版本库是空的,需要导入工作目录。
//这条语句将把路径/var/www/web 下找到的文件导入到你创建的 Subversion 仓库中去
svn import /var/www/web/ file:///var/svn/web/ -m “注释”
六、启动服务
svnserve -d -r /var/svn/ -d守护进程 -r以root用户的身份运行
七、项目检出
SVN CHECKOUT, svn://ip/web 输入用户名和密码
八、参考文章
http://www.linuxidc.com/Linux/2014-05/101232.htm
https://wiki.archlinux.org/index.php/Subversion_Setup_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
http://blog.51yip.com/server/291.html
http://www.linuxidc.com/Linux/2012-02/53109.htm