最近刚申请了AWS免费使用一年,刚好有个自己的代码想通过svn进行管理,下面介绍搭建过程:
1、更新软件包
sudo apt update
sudo apt upgrade
2、装Apache Web服务器
sudo apt install apache2 apache2-utils
3、安装 Apache SubVersion
sudo apt install subversion libapache2-mod-svn subversion-tools libsvn-dev
安装完后启用Apache模块
sudo a2enmod dav
sudo a2enmod dav_svn
sudo systemctl start apache2.service
4、配置Apache Subversion
找到并修改文件:/etc/apache2/mods-enabled/dav_svn.conf,如下图
5、创建SVN库
sudo mkdir /var/www/svn sudo svnadmin create /var/www/svn/project sudo chown -R www-data:www-data /var/www/svn sudo chmod -R 775 /var/www/svn
sudo svnadmin create /var/www/svn/project(project为svn下项目的名称)
6、创建SVN用户
sudo htpasswd -cm /etc/apache2/dav_svn.passwd admin
sudo htpasswd -m /etc/apache2/dav_svn.passwd user1
创建用户时 输入密码
7、重启Apache服务
sudo systemctl restart apache2.service
8、访问SVN
之后就可以访问http:/ip/svn/project
9、问题解决
1、Could not find the requested SVN filesystem
svn checkout时报错Could not find the requested SVN filesystem,查看apache日志,则发现报错
Can't open file '/var/www/svn/format': No such file or directory
发现未创建SVN project,且dava_svn.conf文件指向的是实际的工程,未指向父文件夹
修改
#SVNPath /var/www/svn/project
SVNParentPath /var/www/svn
然后重启apache服务解决
2、could not begin a transaction
bing搜索发现是权限不够
用命令ll查看所需权限
执行
sudo chown -R www-data:www-data /var/www/svn
重启apache服务,解决问题
10、文件功能
1、dav_svn.conf
SVN相关配置,一般存在于:/etc/apache2/mods-enabled/dav_svn.conf
配置SVNParentPath /var/www/svn SVN根目录
2、dav_svn.passwd
密码配置文件,一般存在与/etc/apache2/dav_svn.passwd
3、error.log
Apache报错日志,方便追踪问题,一般存在于:
/var/log/apache2/error.log