LINUX 安装SVN服务端

安装

使用yum安装非常简单:

yum install subversion

配置

2.1. 创建仓库

我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。

[root@localhost /]# cd /home

[root@localhost home]# mkdir svn

[root@localhost home]# svnadmin create /home/svn
[root@localhost home]# ls 
svnconf db format hooks locks README.txt

我们这里特别关注一下conf文件夹,这个是存放配置文件的

[root@localhost home]# cd svn/conf
[root@localhost conf]# ls
authz passwd svnserve.conf

其中:

  • authz 是权限控制文件
  • passwd 是帐号密码文件
  • svnserve.conf 是SVN服务配置文件

接下来我们依次修改这3个文件。

2.2. 配置passwd

[root@localhost conf]# vi passwd 
[users]
test1=123456
test2=123456

上面的例子中我们创建了2个用户,一个test1,一个test2

 

2.3. 配置authz

[root@localhost conf]# vi authz 
[/]
liuxianan=rw
test1=r
test2=r
*=

上面配置的含义是,liuxianan对/home/svn/下所有文件具有可读可写权限,test只有只读权限,除此之外,其它用户均无任何权限,最后一行*=很重要不能少。

2.3.1. 拓展:使用用户分组

这个我一般不用,但是记录下来。

还是这个文件:

[root@localhost conf]# vi authz
[groups]group1 = liuxianan
group2 = test1,test2
[/]@group1 = rw@group2 = r* =

上面配置中创建了2个分组,分组1的用户可读可写,分组2的用户只读。

格式说明:

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

2.4. 配置svnserve.conf

[root@localhost conf]# vi svnserve.conf 打开下面的5个注释anon-access = read #匿名用户可读auth-access = write #授权用户可写password-db = passwd #使用哪个文件作为账号文件authz-db = authz #使用哪个文件作为权限文件realm = /home/svn # 认证空间名,版本库所在目录

2点注意:

  • 最后一行的realm记得改成你的svn目录
  • 打开注释时切记前面不要留有空格,否则可能有问题(网上说的,我没有亲测)

启动与停止

[root@localhost conf]# svnserve -d -r /home/svn(启动)[root@localhost conf]#killall svnserve(停止)

上述启动命令中,-d表示守护进程, -r 表示在后台执行。停止还可以采用杀死进程的方式:

[root@localhost conf]# ps -ef|grep 
svnserveroot 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
[root@localhost conf]# kill -9 4908

最后来个总的截图:

客户端连接

这里使用TortoiseSVN,输入地址svn://你的IP 即可,不出意外输入用户名和密码就能连接成功了。

默认端口3690,如果你修改了端口,那么要记得加上端口号。

总结

总的来说,如果你不需要杂七杂八的权限配置只是自己一个人用的话,安装配置还是比较简单的,并不像网上说的那么麻烦,我按照网上的方法一次性成功了。

扩展:yum安装路径

以svn为例:

# rpm -qa | grep subversionsubversion-1.6.11-15.el6_7.x86_64# rpm -ql subversion-1.6.11-15.el6_7.x86_64.../usr/share/doc/subversion-1.6.11/usr/share/doc/subversion-1.6.11/BUGS/usr/share/doc/subversion-1.6.11/CHANGES...

说明:

  • rpm -qa 查询所有安装的rpm包,可以配合grep命令。
  • rpm -qi 查询某个具体包的介绍。
  • rpm -ql 列出某个具体包的所有文件

rpm几个默认安装路径:

/etc 一些设置文件放置的目录/usr/bin 一些可执行文件/usr/lib64 一些程序使用的动态函数库/usr/share/doc 一些基本的软件使用手册与帮助文档/usr/share/man 一些man page文件

在 svnserve.conf 中,将 anon-access 设置成 none 允许比对历史版本

Linux系统上安装Subversion (SVN) 服务器,通常我们会选择Apache作为Web服务器的后端,并配合Subversion的mod_dav_svn模块来提供服务。以下是安装Emotional SVN服务器的基本步骤: 1. **更新包列表并安装必要的软件**: ```sh sudo apt-get update sudo apt-get install apache2 sudo apt-get install subversion libapache2-mod-dav-svn ``` 2. **启动并启用Apache及SVN模块**: ```sh sudo systemctl start apache2 sudo systemctl enable apache2 sudo a2enmod dav_svn ``` 3. **配置Apache**: - 首先备份原有配置文件 (`sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default.bak`) - 创建一个新的虚拟主机配置文件 (`sudo nano /etc/apache2/sites-available/emotional-svn.conf`): ``` <VirtualHost *:80> ServerName emotional.example.com DocumentRoot /var/www/emotional ErrorLog ${APACHE_LOG_DIR}/emotional-svn-error.log CustomLog ${APACHE_LOG_DIR}/emotional-svn-access.log combined <Directory /var/www/emotional> Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Limit Order allow,deny Allow from all Require valid-user SVNPath /path/to/repositories </Directory> </VirtualHost> ``` - 将`ServerName`, `DocumentRoot`, 和`SVNPath`替换为实际的域名、存储目录和svn仓库路径。 4. **创建用户和仓库**: 使用`htpasswd`命令添加SVN用户: ```sh htpasswd -c /etc/apache2/.htpasswd user_name ``` 5. **重启Apache以应用更改**: ```sh sudo systemctl restart apache2 ``` 6. **验证安装**: 浏览器访问`http://emotional.example.com/svn/repository-name`,如果能正常看到SVN欢迎界面,说明安装成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值