前面讲述了如何在windows下使用SVN版本控制器,但很多时候是把服务器放在Linux服务器上以供大家共同使用的,很多大学、研究人员也把自己的项目代码放在服务器上,而我们在浏览器中就可以查看,很多开源项目都是如此展示,我们下载的很多源码都是这样,Ubuntu官方软件包下载目录就是如此,如下图
我是在虚拟机中安装的。首先要保证Ubuntu能上网,使用速度不错的更新源,在学校里面用ipv6的源,速度很快。
我采用apt-get方式安装,当然也可以自己编译安装,但总觉得太麻烦,而且很多参数我也不懂,所以偷偷懒吧。
以下在root用户权限下操作。使用sudo su进入root用户即可。
(1) 安装Apache、SVN等。
apt-get install apache2 libapache2-mod-python libapache2-svn python-setuptools subversion python-subversion
Apache安装完成后,启动Apache2。
在客户机的浏览器中输入服务器的IP,如http://172.16.166.210,应能看到如下界面:
(2) 安装Mercurial。
apt-get install python-all-dev
apt-get install mercurial
(3)建立SVN库。
mkdir /var/lib/svn
svnadmin create /var/lib/svn/repos
chown –R njucslzh:njucslzh /var/lib/svn //这里是用户和用户组
⑵ 向SVN库提交代码。
svn import /home/njucslzh/bowling/ file:///var/lib/svn/repos -m “my program v1.0”
⑶ 配置Apache。
vim /etc/apache2/mods-available/dav_svn.conf
编辑此文件,将以下内容所在行的注释符去掉:
<Location /svn>
DAV svn
SVNPath /var/lib/svn/limeng
AuthType Basic
AuthName “njcslzh上的Subversion Repository” //要求用户密码时的提示消息
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
添加用户
htpasswd –c /etc/apache2/dav_svn.passwd njucslzh
输入并确认密码后,就添加了用户njucslzh。
重启Apache
/etc/init.d/apache2 reload //或restart
/etc/init.d/apache2 start/stop/restart
打开http://172.16.166.210/svn,输入用户名和密码,可看到如下界面
(4)SVN的检出、提交。
将SVN库检出到指定目录:
svn checkout http://172.16.166.210/svn /home/njucslzh/code/bowling
对检出的文件做过修改后,提交到SVN库:
svn commit -m "v2.0"
当然,更多的是在windows下检出更新提交等,如下