1、安装SVN服务器

​sudo apt-get install subversion -y​

2、创建仓库

mkdir /home/pi/svnRepository

​svnadmin create /home/pi/svnRepository​

仓库创建在/home/pi/svn目录下

3、编辑配置文件

​nano /home/pi/svnRepository/conf/svnserve.conf​

如下图去掉注释



树莓派搭建SVN服务器_svn


看不到图的,编辑svnserve.conf,代码如下:



[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd


 注意:所有的行都必须顶格,否则报错。

然后配置用户信息

​nano /home/pi/svnRepository/conf/passwd​




树莓派搭建SVN服务器_svn_02


编辑passwd


4、停止服务

可以使用ps找到相应进程和进程号,再kill掉

ps -ef |grep svnserve

或者直接使用: killall svnserve 

 

5、启动服务

启动服务

​svnserve -d -r /home/pi/svn​

然后检查是否启动

​ps -ef |grep svnserve​

6、Windows里SVN客户端连接服务器

接下接下来, 我在Windows上安装了TortoiseSVN客户端。 怎么初次创建文件呢? 如下两种方法都可以

        1. 用 svn的import功能, 初始化创建仓库文件。

        2  用 svn的 check out先下载文件(实际上仓库为空),

然后add文件, 然后commit.       

在这里, 我用方法2, 搞定, 来看看

输入的

 

树莓派搭建SVN服务器_svn服务器_03


输入SVN服务器地址:svn://192.168.31.117 ,这个地址就是我的树莓派的ip地址


树莓派搭建SVN服务器_配置文件_04


 


连接上SVN服务器


 

出处:​​https://www.jianshu.com/p/9c2778887d3b​

=======================================================================================

树莓派下svn服务器搭建
  1. 安装svn服务器



sudo apt-get install subversion -y


  1. 创建仓库



sudo svnadmin creat /media/pi/移动硬盘挂载目录/svn


  1. 修改配置文件
    配置文件位置在上面建立的仓库目录下/conf/svnserve.conf



#拒绝匿名访问,分read,write,none三种
anon-access=none
#开启认证用户访问权限
auth-access=write
#存储用户及密码数据库的路径
password-db=passwd


  1. 添加授权用户
    配置文件同样位于仓库目录下的/conf/passwd



[users]
jerry=123456
student=88888888
test=88888888


  1. 启动svn服务



sudo svnserve -d -r /media/pi/硬盘挂载路径/svn


命令说明

-d:后台运行

-r:服务器根目录

  1. 设置开机启动
    修改/etc/rc.local文件添加自动执行命令
    sudo nano /etc/rc.local
    在exit 0前面添加如下内容



sleep 20s && /usr/bin/svnserve  -d -r  /media/pi/04b0b893-7bca-b54f-b7cb-0e7d051803a9/svn


命令说明:

sleep 20s表示等待20秒,&& 表示后台运行

这样做的原因是usb设备的挂载也需要时间,等usb设备挂载完毕后再开启svn服务

 

出处:​​https://www.jianshu.com/p/038b121c1a67​

=======================================================================================

Linux系统中svn服务是否启动,重启及设置开机启动



安装完svn服务器后虽然好用但是因为经常重启Linux服务器,每次重启完就要去手动启动svn服务器,很是麻烦,于是在网上找了一些方法后,自己把svn服务器设置成开机启动

一、安装svn服务器:

1. 安装SVN服务器:

检查是否已安装



# rpm -qa subversion


树莓派搭建SVN服务器_svn服务器_05

安装SVN服务器



# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql


验证安装



# cd /etc/httpd/modules
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so


查看版本



# svnserve --version


 树莓派搭建SVN服务器_svn_06

  

2. 代码库创建:

安装完成后要建立SVN库



# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories


执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。

 树莓派搭建SVN服务器_配置文件_07

 

3. 配置版本库:

进入上面conf文件夹下,进行配置:

a. 用户密码passwd配置:



# vi + passwd  //+表示光标放在文件最低端


修改passwd为一下内容:



[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456


 

b. 权限控制authz配置:



# vi + authz


设置哪些用户可以访问哪些目录,向authz文件追加以下内容:



[/]
zhoulf=rw //给该用户访问所有库的权限 或 [repositories:/project] //repository库的根目录权限 zhoulf=rw


/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/opt/svn;/ 就是指对全部版本库都具有权限

repositories:/ 表示对库repositories的根目录设置权限

PS:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

 

c. 服务svnserve.con配置:



# vi + svnserve.conf


添加一下内容:



[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories


这里注意各标签不能错,也不能有重复,不然无法连接。

 

d. 配置防火墙端口(如果需要):

不一定每个人都需要设置,可以先测试后再看是否需要打开端口



# vi /etc/sysconfig/iptables


添加一下内容:



-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT


保存后重启防火墙



# service iptables restart


 

4. 查看SVN运行状态

a. 启动SVN



# svnserve -d -r /opt/svn/repositories(你的svn所在目录)


 

b. 查看SVN进程



# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories


 

c. 检测SVN端口



# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN


 

5. 停止重启SVN:



# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 启动


 

6. 测试连接:

(1)  在本地电脑上安装TortoiseSVN客户端:

        成功安装TortoiseSVN后在电脑桌面右键有TortoiseSVN提示;选择Repo-browser;会出现一个地址栏;

(2)在地址栏输入:svn://+服务器IP地址;如果安装没问题的话就会进入服务器的资源库

 

二、Linux服务器端设置svn开机启动

(1)在Linux服务器跟目录((/root路径下))创建一个脚本文件

     #  touch svn.sh

(2) 进入脚本文件

      # vim svn.sh

(3)添加一下内容

    #!/bin/bash

    /usr/bin/svnserve -d -r  /opt/svn/repositories

解释一下: 这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。

绝对路径怎么查?


      # which svnserve


(4)改该脚本的执行权限


    # chmod 777 svn.sh


(5)加入自动运行


     # vi /etc/rc.d/rc.local

在末尾添加脚本的路径:

       /root/svn.sh


(6)重启Linux服务器,重启后查看svn服务器是否已经开启


        #  ps -ef|grep svnserve


     如果显示以下信息表示svn已经开启了:


       tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN


 

安装完svn服务器后虽然好用但是因为经常重启Linux服务器,每次重启完就要去手动启动svn服务器,很是麻烦,于是在网上找了一些方法后,自己把svn服务器设置成开机启动

一、安装svn服务器:

1. 安装SVN服务器:

检查是否已安装



# rpm -qa subversion


树莓派搭建SVN服务器_svn服务器_05

安装SVN服务器



# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql


验证安装



# cd /etc/httpd/modules
# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so


查看版本



# svnserve --version


 树莓派搭建SVN服务器_svn_06

  

2. 代码库创建:

安装完成后要建立SVN库



# mkdir -p /opt/svn/repositories
# svnadmin create /opt/svn/repositories


执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。

 树莓派搭建SVN服务器_配置文件_07

 

3. 配置版本库:

进入上面conf文件夹下,进行配置:

a. 用户密码passwd配置:



# vi + passwd  //+表示光标放在文件最低端


修改passwd为一下内容:



[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456


 

b. 权限控制authz配置:



# vi + authz


设置哪些用户可以访问哪些目录,向authz文件追加以下内容:



[/]
zhoulf=rw //给该用户访问所有库的权限 或 [repositories:/project] //repository库的根目录权限 zhoulf=rw


/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/opt/svn;/ 就是指对全部版本库都具有权限

repositories:/ 表示对库repositories的根目录设置权限

PS:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

 

c. 服务svnserve.con配置:



# vi + svnserve.conf


添加一下内容:



[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories


这里注意各标签不能错,也不能有重复,不然无法连接。

 

d. 配置防火墙端口(如果需要):

不一定每个人都需要设置,可以先测试后再看是否需要打开端口



# vi /etc/sysconfig/iptables


添加一下内容:



-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT


保存后重启防火墙



# service iptables restart


 

4. 查看SVN运行状态

a. 启动SVN



# svnserve -d -r /opt/svn/repositories(你的svn所在目录)


 

b. 查看SVN进程



# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories


 

c. 检测SVN端口



# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN


 

5. 停止重启SVN:



# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 启动


 

6. 测试连接:

(1)  在本地电脑上安装TortoiseSVN客户端:

        成功安装TortoiseSVN后在电脑桌面右键有TortoiseSVN提示;选择Repo-browser;会出现一个地址栏;

(2)在地址栏输入:svn://+服务器IP地址;如果安装没问题的话就会进入服务器的资源库

 

二、Linux服务器端设置svn开机启动

(1)在Linux服务器跟目录((/root路径下))创建一个脚本文件

     #  touch svn.sh

(2) 进入脚本文件

      # vim svn.sh

(3)添加一下内容

    #!/bin/bash

    /usr/bin/svnserve -d -r  /opt/svn/repositories

解释一下: 这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。

绝对路径怎么查?


      # which svnserve


(4)改该脚本的执行权限


    # chmod 777 svn.sh


(5)加入自动运行


     # vi /etc/rc.d/rc.local

在末尾添加脚本的路径:

       /root/svn.sh


(6)重启Linux服务器,重启后查看svn服务器是否已经开启


        #  ps -ef|grep svnserve


     如果显示以下信息表示svn已经开启了:


       tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN