Linux (Ubuntu) 安裝 SVN-新來的老主管發起用 SVN!

kuibatian發表於2019-12-28

如果沒有安裝svn則:

ubuntu@ip-172-31-29-46:~$ svn --version
The program 'svn' is currently not installed. You can install it by typing: sudo apt-get install subversion

如果已經安裝svn則提示svn版本號:

cfj@cfj-virtual-machine:~$ svn --version
svn,版本 1.9.7 (r1800392)
   編譯於 Mar 28 2018,08:49:13 在 x86_64-pc-linux-gnu

Copyright (C) 2017 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/

先更新一下(可選)

sudo apt-get update

線上安裝命令:

sudo apt-get install subversion

在/opt/下面用mkdir命令建立目錄svn以及子目錄repository。目錄結構: /opt/svn/repository

更改更改repository資料夾的許可權 改為777

sudo chmod -R 777 /opt/svn/repository

將剛剛建立的目錄利用svn命令指定為版本庫:

sudo svnadmin create /opt/svn/repository

設定完成之後在repository下面會生產幾個資料夾和檔案

主要的配置檔案在conf資料夾下面:svnserve.conf,passwd,authz 

 # 4 修改repository資料夾下面的內容,完善配置

  • 首先修改db資料夾的許可權,改為777。db資料夾是儲存svn檔案的地方

sudo chmod -R 777 /opt/svn/repository/db

  • 其次修改con資料夾下面的svnserve.conf檔案
ubuntu@ip-172-31-29-46:/opt/svn/repository$ cd conf
ubuntu@ip-172-31-29-46:/opt/svn/repository/conf$ sudo vi svnserve.conf

 #匿名使用者可讀

*anon-access = read(可改成none,即不可讀)*

**#許可權使用者可寫
auth-access = write
#密碼檔案為passwd
password-db = passwd
#許可權檔案為authz
authz-db = authz**

(去掉前面的#,並且頂格,不然可能會報錯)

  • 再者修改con資料夾下面的passwd檔案,增加使用者和使用者密碼

格式:使用者名稱=密碼(明文)

sudo vi passwd

以上設定使用者為admin密碼為admin

  • 最後修改con資料夾下面的authz檔案,增加使用者組,目錄認證,組許可權

sudo vi authz

如果組內有多個人可以逗號分隔如:組名owner,組員user1,user2則:owner=user1,user2

對組的訪問許可權設定:rw,r,w。組名前面加@

@owner=rw

如果單使用者設定則一個使用者一行:

user1=rw

 單庫模式則設定為:[/] 本例子為單庫模式

svnserve -d -r /opt/svn/repository

-d:表示在後臺執行 ,-r:指定伺服器的根目錄

啟動之後可以檢視程式:

ubuntu@ip-172-31-29-46:/opt/svn/repository/conf$ ps -ef|grep svnserve
ubuntu 12593     1  0 13:37 ?        00:00:00 svnserve -d -r /opt/svn/repository
ubuntu 12595 11736  0 13:37 pts/0    00:00:00 grep --color=auto svnserve

如果需要停止,則kill -9 程式號

檢視埠號,預設埠3690

sudo netstat -ntlp

本例因為是設定的[/],則svn://ip地址/

就可以訪問

注意:如果是阿里雲或者亞馬遜的伺服器,可能svn埠號沒有對外開通,需要在控制檯中配置。

參考:
https://blog.csdn.net/sm_wang/article/deta...
http://www.runoob.com/svn/svn-start-mode.h...
https://blog.csdn.net/u011781521/article/d...
http://wiki.ubuntu.org.cn/SubVersion#.E7.9...

相關文章