wget http://labs.xiaonei.com/apache-mirror/apr/apr-0.9.17.tar.gz
wget http://labs.xiaonei.com/apache-mirror/apr/apr-util-0.9.15.tar.gz
获取地址:http://apr.apache.org/
上面两个是apache的插件,安装subversion的时候需要用到.将他们解压安装完以后,然后解压subversion,进入后配置安装条件
./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
如果你需要使用伯克利数据库的话可以安装后指定数据库的存储路径.
然后make && make install
安装比较简单,就是配置麻烦点.
建立一个版本库.
/usr/local/subversion/bin/svnadmin create /usr/local/subversion/store
然后进入store/conf 中配置里面的数据,打开svnseve.conf 开启anon,auth,password-db,realm几个选项,realm这里是store , 注意:不要让他们前面有空格,我在这里配置的时候直接去掉#符号没有删除后的空格,客户端commit的时候总是提示未知的选项.
然后配置几个打开选项的值,包括配置选项的文件,选项文件的格式在文件里面都有demo.
authz文件配置用户的相关信息,第一个选项是group,如果你只有一个账户不需要配置,然后下一个选项是制定项目目录的权限,可以使用[/] 然后在下面输入你的账户和权限如果需要读写就是username=rw,只读的话就是username=r 下面一个选项指定你的库名称和路径这里是[store:/]然后输入你的账户和权限,格式同上一个选项一样.
然后这时候可以在客户端装上tortoisesvn,选择你的项目目录checkout,然后在url的地方输入svn://your_host_address/,完成后可以commit 上传你的项目文件了.
这里没有集成到apache中,使用svn协议的好处:
设置快速简单。网络协议是有状态的,比WebDAV快很多。不需要在服务器创建系统帐号。不会在网络传输密码。
官方的访问协议对比:
特性 | Apache + mod_dav_svn | svnserve | svnserve over SSH |
---|---|---|---|
认证选项 | HTTP(S) basic auth、X.509 certificates、LDAP、NTLM或任何Apache httpd已经具备的方式 | CRAM-MD5 | SSH |
用户帐号选项 | 私有的'users'文件 | 私有的'users'文件 | 系统帐号 |
授权选项 | 可以授予整个版本库的读/写权限,也可以指定目录的。 | 可以授予整个版本库的读/写权限,也可以指定目录的。 | 只能对版本库整体赋予读/写权限 |
加密 | 通过可选的 SSL | 无 | SSH通道的 |
Logging | 对每个HTTP请求记录完全的Apache日志,通过选项“高级”记录普通的客户端操作。 | no logging | no logging |
交互性 | 可以部分的被其他WebDAV客户端使用 | 只同svn客户端通讯 | 只同svn客户端通讯 |
Web浏览能力 | 有限的内置支持,或者通过第三方工具,如ViewVC | 只有通过第三方工具,如 ViewVC | 只有通过第三方工具,如 ViewVC |
速度 | 有些慢 | 快一点 | 快一点 |
初始设置 | 有些复杂 | 极为简单 | 相当简单 |
以前搭建过apache的http访问方式,不过配置起来麻烦.
开发过程中有时候有些版本需要保存以后需要修改,或者用到的时候还可以回调,拷贝副本会弄的很乱,就干脆装一个,一个人开发的时候还好解决,团队开发就要使用版本控制软件了.
本来想导出命令记录的,后来觉得太乱就没导出,不过要是标准的记录的话可以备份以后用,比如:
history > ./commend4install