1. 安装Subversion软件包
不同的Linux发行版使用不同的包管理器来安装Subversion,以下是一些常见的发行版和相应的安装命令:
| 发行版 | 安装命令 |
|-|-|
| Ubuntu / Debian | `sudo apt-get install subversion` |
| CentOS / Fedora / RHEL | `sudo yum install subversion` |
| Arch Linux / Manjaro | `sudo pacman -S subversion` |
2. 创建版本库目录
例如,在`/data/svn`目录下创建一个名为`repo`的版本库目录:
bash
mkdir -p /data/svn/repo
3. 配置版本库
使用`svnadmin`命令创建版本库:
bash
svnadmin create /data/svn/repo
执行该命令后,会在`/data/svn/repo`文件夹下生成`conf`、`db`、`format`、`hooks`、`locks`、`README.txt`等文件,说明一个SVN库已经建立。
4. 用户密码`passwd`配置
进入版本库的`conf`目录,编辑`passwd`文件:
bash
cd /data/svn/repo/conf
vim passwd
在`[users]`下添加用户和密码,格式为:`用户名=密码`,例如:
[users]
hello=123
5. 权限控制`authz`配置
编辑`authz`文件,设置哪些用户可以访问哪些目录:
bash
vim authz
向`authz`文件追加以下内容:
[/]
hello = rw
这表示`hello`用户对`repo`测试库下所有的目录有读写权限。
6. 服务`svnserve.conf`配置
编辑`svnserve.conf`文件:
bash
vim svnserve.conf
追加以下内容:
[general]
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
realm=/data/svn/repositories
7. 启动svn服务
查看svn的服务是否启动:
bash
ps -ef|grep svn
如果没有启动,执行下面命令:
bash
svnserve -d -r /data/svn/repo --listen-port=3690
8. 开启端口
如果是在有防火墙的环境下,需要开启3690端口,例如在CentOS系统中:
bash
/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
/etc/init.d/iptables status
9. 访问
通过`svn://ip地址`访问,端口默认为3690,输入配置好的用户名和密码即可。注意此处千万不能`svn://ip地址/repo`,否则无法访问。
二、Linux安装SVN的注意事项
1. 安装前检查系统环境
2. 配置文件的注意事项
3. 启动与停止服务的注意事项
4. 访问服务的注意事项
如果是在有防火墙的服务器上,需要在防火墙中开放3690端口,例如在CentOS系统中,可以使用`firewall-cmd --zone=public --add-port=3690/tcp --permanent`命令开放TCP端口,然后使用`firewall-cmd --reload`命令重新加载防火墙规则。