一、安装前的准备工作
1、首先需要安装EPEL源,因为SVN不在CentOS的官方仓库中。
sudo yum install epel-release
2、升级系统,以防万一。
sudo yum update
3、安装Apache和subversion。
sudo yum install httpd subversion mod_dav_svn
二、创建SVN仓库
在这里我们将创建一个名为“repos”的SVN仓库。
1、首先在/var目录下创建一个名为“svn”的目录,用于存储SVN仓库。
sudo mkdir /var/svn
2、创建SVN仓库。
sudo svnadmin create /var/svn/repos
3、添加权限以便Apache用户能够访问SVN仓库。
sudo chown -R apache:apache /var/svn/repos
4、配置Apache以允许访问SVN仓库。
在/etc/httpd/conf.d/subversion.conf文件中添加以下内容:
<Location /svn/repos>
DAV svn
SVNPath /var/svn/repos
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-auth-users
Require valid-user
</Location>
注意:
- /svn/repos 是访问SVN仓库的路径,可以根据实际情况修改
- /var/svn/repos 是SVN仓库的路径,也可以根据实际情况修改
- /etc/svn-auth-users 是存储SVN用户信息的文件,将在下一步创建
三、创建SVN用户并授权
1、在/etc目录下创建一个名为“svn-auth-users”的文件。
sudo touch /etc/svn-auth-users
2、使用htpasswd工具添加一个新用户。
sudo htpasswd -cm /etc/svn-auth-users 用户名
3、添加更多的用户
sudo htpasswd -m /etc/svn-auth-users 用户名
注意:
- htpasswd命令的-c选项表示创建一个新用户
- 之后可以使用-m选项添加新用户,而不会覆盖原来的文件
四、重启Apache并访问SVN仓库
1、重启Apache
sudo systemctl restart httpd
2、在浏览器中访问http://IP地址/svn/repos,应该会看到类似下面的页面。
五、创建和使用SVN仓库
1、在SVN仓库中创建一个新的项目
sudo svn mkdir file:///var/svn/repos/project -m 'Create a new project'
2、将项目导出到本地目录中
svn checkout http://IP地址/svn/repos/project 本地目录
注意:
- file:///var/svn/repos/project 是SVN仓库中项目的路径,可以根据实际情况修改
- http://IP地址/svn/repos/project 是该项目的URL
六、常见问题解决办法
1、如果在访问SVN仓库的时候出现了403错误:
解决方法:
- 确认Apache用户是否有权限访问SVN仓库,可以使用以下命令查看:
sudo -u apache svn ls file:///var/svn/repos/project
sudo chmod -R 777 /var/svn/repos
2、如果在创建新用户时遇到“htpasswd: cannot create file /etc/svn-auth-users”错误:
解决方法:
- 确保/etc目录有足够的权限,可以使用以下命令修改:
sudo chmod 777 /etc