VirtualPC下Linux中subversion部署关键点

来源:互联网 发布:淘宝ifashion怎么进去 编辑:程序博客网 时间:2024/05/22 22:10

前沿:

终于下定决心在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。

6、/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
确认系统已经安装了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部署文档不齐全的原因。总算部署成功,如愿以偿了。

致谢:

强烈感谢网络上的众多子民们啊!