Host: Windows 10, VM: Ubuntu Desktop 18.04 LTS.
主要参照此网页,介绍了如何在Ubuntu 18.04机器上安装和配置SVN:
https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/how-to-install-apache-svn-on-ubuntu-18-04.html
但是因为我使用的是Ubuntu VM,而且Ubuntu VM默认并没有安装SSH服务,所以需要先做一下准备工作。
1. 运行VM并登录进去, 安装SSH服务 sudo apt install ssh。
2. 运行ifconfig来获取VM的ip 地址, 我试了几次,默认生成的VM里ip地址总是10.0.2.15. 这个ip稍后进行端口映射时会用到。
3. 退出VM结束它运行。
在VirtualHost的VM设置里,将VM的两个端口(22 SSH, 80 HTTP) 映射到Host,具体如下图,这里我分别映射到了host的220和800端口。Guest IP 在前面已经获取。 然后以headless方式启动VM,速度会快不少。再从主机使用Putty进行SSH登录,就可以完全从主机运行了。
接下来就可以进行安装和配置SVN的各种操作了。
- 更新安装库:
sudo apt-get update - 安装 apache网络服务器:
sudo apt-get install -y apache2 ,
安装完毕后,从host主机的浏览器里输入127.0.0.1:800应该能打开Apache2 demo页面。 - 安装svn:
sudo apt-get install -y subversion subversion-tools libapache2-mod-svn. - 配置SVN:
首先选择一个路径以指定svn的根路径,进入此svn目录,运行命令创建svn repo:
svnadmin create development
然后需要修改整个svn文件夹的owner是www-data,这样Apache才可以访问该路径。这里我在当前用户目录下创建一个目录svn. :
sudo chown -R www-data:www-data svn - 配置svn以支持apache访问,编辑如下文件:
sudo nano /etc/apache2/mods-enabled/dav_svn.conf,
使它包含如下内容:<Location /svn> DAV svn
#SVNPath /home/chuantao/svn/development SVNParentPath /home/chuantao/svn/ AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location>然后运行htpasswd命令来创建登录用户名和密码,稍后从host浏览器访问svn server时需要使用。
sudo htpasswd -cm /etc/apache2/dav_svn.passwd czang
(-c Create new file, -m Forced MD5 encrytion of the passwd) - 重启apache2 service:
sudo service apache2 restart。 - 打开host的浏览器,输入127.0.0.1:800/svn/development,输入用户名和密码就可以访问了。到此为止SVN搭建完毕。
- 如果有从别的SVN hotcopy出来的备份文件,此时可以把此备份文件(和development有相似文件结构)复制到此SVN目录下,并修改owner,则就可以直接使用了。
- 删除一个repo,直接在svn这个目录下rm -rf repo就可以了,必要的时候sudo。
- 解压一个tar文件到指定路径:
tar -C path -xvf file.tar - 然后修改文件夹名字,以及将owner修改为www-data,就可以了。