1. 程式人生 > >在CentOS7.4 64bit中安裝SVN伺服器

在CentOS7.4 64bit中安裝SVN伺服器

1.安裝

CentOS通過yum安裝subversion,先登入伺服器,使用如下命令安裝subversion

[root@mair-001 ~]# yum install subversion

subversion預設安裝在/bin/目錄下,如下檢視命令

[root@mair-001 /]# which svnserve
/usr/bin/svnserve

檢查subversion是否安裝成功,如下命令

[[email protected]001 /]# svnserve --version
svnserve, version 1.7.14 (r1542130)
   compiled Aug 23
2017, 20:43:38 Copyright (C) 2013 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository back-end (FS) modules are available: * fs_base : Module for
working with a Berkeley DB repository. * fs_fs : Module for working with a plain file (FSFS) repository. Cyrus SASL authentication is available. [[email protected]001 /]#

顯示 以上資訊,說明subversion已安裝完成,版本號是1.7.14

2.建立版本號
subversion預設以/var/svn作為資料根目錄,可以通過/etc/sysconfig/svnserve修改這個預設位置,先檢視下svnserve.service檔案,如下,發現EnvironmentFile=/etc/sysconfig/svnserve

[[email protected] /]# systemctl cat svnserve.service
# /usr/lib/systemd/system/svnserve.service
[Unit]
Description=Subversion protocol daemon
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/svnserve
ExecStart=/usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid $OPTIONS

[Install]
WantedBy=multi-user.target
[[email protected] /]# 

檢視/etc/sysconfig/svnserve檔案內容

[[email protected]001 /]# cat /etc/sysconfig/svnserve 
# OPTIONS is used to pass command-line arguments to svnserve.
# 
# Specify the repository location in -r parameter:
OPTIONS="-r /var/svn

修改/etc/sysconfig/svnserver將預設目錄指定到/opt/svn

[root@mair-001 /]# cat /etc/sysconfig/svnserve
# OPTIONS is used to pass command-line arguments to svnserve.
# 
# Specify the repository location in -r parameter:
OPTIONS="-r /opt/svn"
[root@mair-001 /]# 

使用svnadmin建立版本庫mairuan

[root@mair-001 /]# mkdir -p /opt/svn
[root@mair-001 /]# svnadmin create /opt/svn/mairuan

檢視mairuan檔案目錄資訊

[root@mair-001 /]# ls /opt/svn/mairuan
conf  db  format  hooks  locks  README.txt

3.配置
編輯passwd檔案,新增使用者longwentao

[root@mair-001 mairuan]# vi conf/authz 

[users]
longwentao = longwentaopwd

編輯許可權檔案authz,使用者longwentao設定可讀寫許可權

[/]
longwentao = rw

編輯svnserve.conf

$ cat /opt/svn/mairuan/conf/svnserve.conf 
[general]
anon-access = none                     #控制非鑑權使用者訪問版本庫的許可權
auth-access = write                    #控制鑑權使用者訪問版本庫的許可權
password-db = passwd                   #指定使用者名稱口令檔名
authz-db = authz                       #指定許可權配置檔名
realm = mairuan                        #指定版本庫的認證域,即在登入時提示的認證域名稱

4.SVN服務
啟動SVN服務

[root@mair-001 mairuan]# systemctl start svnserve.service

檢查SVN服務是否啟動成功

[root@mair-001 mairuan]# ps aux | grep svn
root     11090  0.0  0.0 162200   896 ?        Ss   17:20   0:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid -r /opt/svn
root     11092  0.0  0.0 112660   972 pts/0    R+   17:21   0:00 grep --color=auto svn
[root@mair-001 mairuan]# 

通過netstat可以看到SVN打開了3690埠

[root@mair-001 mairuan]# netstat -tnlp | grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      11090/svnserve 

設定開機啟動

[root@mair-001 mairuan]# systemctl enable svnserve.service

5.客戶端測試
客戶端可以通過TortoriseSVN測試
這裡寫圖片描述