搭建Linux環境--安裝svn

Subversion(簡稱SVN)是一個開源的版本控制系統,管理隨時間改變的數據,SVN服務支持svnserve和http訪問模式。程序員

SVN簡介

SVN管理的數據存放在中央資料檔案庫(Repository)中。該檔案庫會記錄文件的每一次變更,這樣您就能夠把數據恢復至舊版本或瀏覽文件的變更歷史。SVN中經常使用的概念和操做以下:安全

  • Repository(源代碼庫):源代碼統一存放的地方。
  • Checkout(提取):該操做用於從Repository中提取一份源代碼到本地。
  • Commit(提交):該操做用於將修改代碼後的代碼提交到Repository。
  • Update(更新):該操做用於同步本地源代碼與Repository中的源代碼。
使用SVN管理代碼的常見流程爲:
  1. Checkout(您提取源代碼到本地)
  2. 其餘人修改並提交源代碼到Repository
  3. Update(您得到最新的代碼)
  4. 您修改並調試成功源代碼。
  5. Commit(提交修改後的代碼到Repository,其餘程序員便可看到您的修改)。
SVN管理源代碼的單位爲行。若是您與其餘程序員同時修改了一個文件中的代碼:
  • 若修改的代碼在不一樣行,SVN會自動合併兩種修改。
  • 若修改的代碼在同一行,SVN會提示文件衝突(Conflict),須要手動確認。

安裝部署

一:安裝SVN

一、運行命令安裝SVN,查看SVN版本:tcp

yum install subversion

svnserve --version

二:建立SVN版本庫

一、運行如下命令建立版本庫根目錄。svn

mkdir /var/svn

二、依次運行如下命令建立版本庫,查看自動生成的版本庫文件ui

cd /var/svn
svnadmin create /var/svn/svnrepos
cd svnrepos
ls

注:Subversion目錄說明

3、配置SVN

一、設置帳號和密碼:阿里雲

運行命令:cd conf/
編輯文件:vi passwd

移動光標至[users]塊中,添加用戶帳號和密碼。url

注:添加帳號和密碼的格式爲:帳號 = 密碼。例如,admin(帳號) = 123456(密碼),以下圖所示(注意等號兩端要有一個空格)。spa

按Esc鍵退出編輯模式,並輸入:wq保存並退出。3d

二、爲帳號設置讀寫權限:版本控制

運行vi authz命令,打開權限控制文件。

i鍵進入編輯模式。

移動光標至文件末尾,並添加以下代碼(admin表示帳號,r表示讀權限,w表示寫權限):

[/]
admin=rw

Esc鍵退出編輯模式,並輸入:wq保存並退出。

三、修改SVN服務配置:

運行vi svnserve.conf打開SVN服務配置文件。

i鍵進入編輯模式。

移動光標找到以下配置行,刪除行前面的註釋符#和空格

anon-access = read       #匿名用戶可讀,您也能夠設置 anon-access = none,不容許匿名用戶訪問。設置爲 none,可使日誌日期正常顯示 
auth-access = write      #受權用戶可寫 
password-db = passwd      #使用哪一個文件做爲帳號文件 
authz-db = authz         #使用哪一個文件做爲權限文件 
realm = /var/svn/svnrepos   #認證空間名,版本庫所在目錄

注:每行不能以空格開始,且等號兩端要有一個空格。

Esc鍵退出編輯模式,並輸入:wq保存並退出。

四、啓動SVN版本庫: 

運行命令:svnserve -d -r /var/svn/     # 啓動svn
運行命令:ps -ef |grep svn         # 查看SVN服務是否開啓

若是返回結果以下圖所示,表示SVN服務已經開啓。

注:運行 killall svnserve命令可中止SVN服務。

五、防火牆設置

 開放防火牆端口,執行命令vi /etc/sysconfig/iptables,添加如下內容:

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

保存並退出,執行service iptables restart重啓防火牆。

 注:重啓防火牆失敗:

 解決辦法:可嘗試關閉firewalld服務在重啓iptables

service iptables save
systemctl stop firewalld     -- 關閉firewalld服務
systemctl disable  firewalld  --設置開機禁用firewalld
systemctl start iptables     -- 啓動iptables
systemctl status iptables    --確認iptables狀態
systemctl enable iptables    -- 設置iptables開機啓動
systemctl status firewalld    --確認firewalld服務

六、阿里雲添加安全組規則

SVN服務的默認端口爲TCP 3690。您須要登陸阿里雲ECS管理控制檯,添加安全組規則放行TCP 3690端口。

四:svn客戶端鏈接

一、在本機下載並安裝TortoiseSVN客戶端

二、右鍵單擊本地項目文件夾,在彈出菜單中,選擇SVN檢出,填寫以下信息後,單擊肯定。

指定資源庫URL,格式爲svn://實例公網IP地址/SVN倉庫名。本示例中,SVN倉庫名爲svnrepos。


若是出現下圖所示信息,表示檢出成功。


注:第一次登陸需輸入帳號和密碼,即您在passwd文件中設置的帳戶和密碼。
 
# Generated by iptables-save v1.4.21 on Tue Jul  2 17:03:06 2019
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5:5594]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --Dport 3690 -j ACCEP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Jul  2 17:03:06 2019
相關文章
相關標籤/搜索