前沿:
终于下定决心在VirtualPC下Linux中安装subversion试试,主要是项目压力相对比较轻松。
大致要点:
0、准备编译、安装文件,共三个:
httpd-2.2.19.tar.gz
subversion-1.6.15.tar.gz
subversion-deps-1.6.6.tar.bz2
1、映射Windows共享文件夹
用文件系统的方式(这种方式要确定你的内核支持smbfs)
smbmount //IP或者NETBIOS名称/共享资源名 /本地挂接点 [-o option]
常用的的option有username=<用户名>,password=<密码>,guest(指定为用guest访问,不用提供密码,前面的即使用username=guest参数的话也会要求输入密码),ro(有时候为了系统安全要指定为只读模式),rw,同时多个option的话用逗号隔开。
或者可以用mount -t smbfs [-o option] //IP或者NETBIOS名称/共享资源名 /本地挂接点来实现同样的功能。
例子如下:
smbmount //glass/littlep /test -o guest或者mount -t smbfs -o guest //glass/littlep /test,然后就能通过访问/test来使用网络上的资源了。
真实例子:
mount -t -o username=administrator,password=xxxx,ip=192.168.1.222 //xxx/share /mnt/share
2、编译、安装apache:执行configure命令
configure -prefix=/usr/local/apache -enable-dav -enable-so && make && make install
提示:bash: command not found
环境变量中没有对应的路径。
这里直接带上绝对路径就可以了
/usr/local/httpd-2.2.19/configure -prefix=/usr/local/apache -enable-dav -enable-so && make && make install
大约需要等待10分钟。
修改/usr/local/apache/conf/http.conf中的端口:
修改
#Listen 12.34.56.78:80
Listen 80
为
#Listen 12.34.56.78:80
Listen 8089
重启动服务
/usr/local/apache/bin/httpd -k restart
/usr/local/apache/bin/httpd -k stop
/usr/local/apache/bin/httpd -k start
这时,试着在本机的浏览器里访问:http://localhost:8089/,如果出现“It work!”说明apache安装成功了。
3、如何压缩和解压缩.bz2的包?
#bzip2 /etc/smb.conf
这将压缩文件smb.conf成smb.conf.bz2
#bunzip2 /etc/smb.conf.bz2
这将在当前目录下还原smb.conf.bz2为smb.conf
4、删除svn自带的apache(使用已经安装过的apache)
rm -rf apr
rm -rf apr-util
5、编译、安装svn
/usr/local/subversion-2.2.19/configure -prefix=/usr/local/subversion -with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apache/bin/apr-1-config -with-apr-util=/usr/local/apache/bin/apu-1-config && make && make install
大约需要等待3分钟,出现错误如6。
确认系统已经安装了krb5-devel以及krb5-libs等套件,然后建立以下的symbolic links:
ln -s /usr/kerberos/include/com_err.h /usr/include/
ln -s /usr/kerberos/include/profile.h /usr/include/
ln -s /usr/kerberos/include/krb5.h /usr/include/
重新进行5
大约需要等待13分钟。
7、查看版本库是否安装成功
/usr/local/subversion/bin/svnserve –version
8、生成SVN的用户权限文件
创建访问权限文件
/usr/local/apache/bin/htpasswd -cmb /usr/local/subversion/auth/svn-auth-file fengxian fengxian
更新用户密码
/usr/local/apache/bin/htpasswd /usr/local/subversion/auth/svn-auth-file fengxian
添加新用户
/usr/local/apache/bin/htpasswd -mb /usr/local/subversion/auth/svn-auth-file zhangdongjie zhangdongjie
/usr/local/apache/bin/htpasswd -mb /usr/local/subversion/auth/svn-auth-file noodle noodle
/usr/local/apache/bin/htpasswd -mb /usr/local/subversion/auth/svn-auth-file test test
删除用户
/usr/local/apache/bin/htpasswd htpasswd -D /usr/local/subversion/auth/svn-auth-file fengxian
9、让apache管理SVN
在/usr/local/apache/conf/httpd.conf最后面添加管理SVN的代码,让apache启动的时候自动加载SVN
<Location /svn>
DAV svn
SVNParentPath /usr/local/subversion
AuthType Basic
AuthName “subversion repository”
SVNListParentPath on
AuthUserFile /usr/local/subversion/auth/svn-auth-file
AuthzSVNAccessFile /usr/local/subversion/auth/svn-access-file
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
10、建立SVN版本库
cd /usr/local/subversion
svnadmin create /usr/local/svn/mttech
svnadmin create /usr/local/svn/test
(创建版本库)
svnadmin load /usr/local/svn/mttech < /usr/local/svnbak/mttech.20100802.bak
(恢复版本库数据)
11、给apache授权管理SVN
给用户授权:编辑svn-access-file为:
[/]
*=r
[mttech:/]
noodle=rw
test=rw
[test:/]
noodle=rw
test=rw
12、把SVN版本库的管理权限授予apache用户
chown -R apache:apache /usr/local/svn/mttech
13、重启apache
14、在ie浏览器地址栏中输入http://localhost:8089/svn/mttech
弹出输入用户名/密码提示对话框
输入test/test后
单击“OK”按钮
如果出现mttech – Revision 0: /
即表示svn安装、配置成功。
15、客户端迁出svn项目
客户端是WinXP的TortoiseSVN。
先在ie浏览器中输入http://192.168.1.222:8089/svn/mttech正常
然后在指定文件夹中使用checkout命令输入http://192.168.1.222:8089/svn/mttech后正常
16、至此,linux subversion在VirtualPC上安装配置彻底结束。
小结:
中间会遇到一些问题,主要是Linux操作不熟练、svn部署文档不齐全的原因。总算部署成功,如愿以偿了。