天天看點

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

作者:cpolar極點雲

由于文檔資料越來越多,将所有資料都存放在自己的電腦上容易混淆,并且也不利于分享。這種情況下,考慮将資料上傳SVN統一管理,這樣一來其他人也能很友善的查略各種資料。

當SVN安裝在區域網路内的話,想要遠端通路資料庫或者代碼将會受到限制,為了能從公共網絡通路内網SVN資料庫,cpolar能很好的解決這一需求,cpolar是一個能把内網服務暴露至公網進行通路的工具。

SVN分為服務端和用戶端,服務端主要是做資料資料存儲,用戶端主要是圖形化工具連接配接服務端擷取服務端資料資料,下面介紹在ubuntu系統安裝服務端,再通過用戶端遠端通路。

1. Ubuntu安裝SVN服務

指令行輸入安裝指令:

sudo apt install subversion           
Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

檢視svn版本,出現版本資訊表示安裝成功:

svnserve --version           
Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

建立版本庫,執行如下系列指令

1.cd /opt
2.sudo mkdir svn
3.cd svn
4.sudo mkdir repository           

建立好後輸入以下指令建立倉庫

sudo svnadmin create /opt/svn/repository           
Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

建立成功後我們repository目錄下會發現一系列檔案,其中:

  • conf檔案夾下是存放的配置檔案,包括SVN使用者名的權限、密碼這些;
  • db裡面的包含我們上傳到SVN伺服器上面的文檔、代碼等資料的不同版本。

這裡需要注意的是要對db檔案夾釋放權限,否則用戶端可能無法連接配接SVN伺服器。

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

輸入以下指令,對db檔案夾釋放權限,釋放成功後db檔案夾會變成綠色

sudo chmod -R 777 db           
Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

2. 修改配置檔案

首先修改repository檔案下的conf這個檔案夾裡面的檔案

2.1 修改svnserve.conf檔案

這個檔案裡面主要設定我們的SVN通路方式.輸入編輯指令:

sudo vim svnserve.conf           

按”i”鍵進入編輯

解開四個參數的#号注釋

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

然後按Esc鍵退出編輯,輸入”:wq”儲存退出

2.2 修改passwd檔案

這個檔案主要是添加使用者名和密碼,輸入指令進入編輯:

sudo vim passwd           

按”i” 進行編輯

添加以下資訊,賬号密碼可自行定義!

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

添加完成Esc鍵退出,輸入”:wq”儲存退出.

2.3 修改authz檔案

這個檔案主要是對登入使用者的權限管理,輸入以下指令進入編輯:

sudo vim authz           

按”i” 進行編輯

添加如下資訊

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

然後Esc鍵退出編輯,輸入”:wq”儲存退出

3. 啟動svn服務

輸入以下指令啟動svn

sudo svnserve -d -r /opt/svn/           

4. 内網穿透

上面我們在本地Ubuntu虛拟機安裝了svn服務端,但目前隻能在區域網路絡下通路,如離開了區域網路将無法連接配接svn。不過我們可以通過cpolar來實作公網通路,突破區域網路的限制

4.1 安裝cpolar内網穿透

支援一鍵腳本安裝指令

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash           

token認證

登入cpolar官網背景,點選左側的驗證,檢視自己的認證token,之後将token貼在指令行裡:

cpolar authtoken xxxxxxx           
Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

向系統添加服務

sudo systemctl enable cpolar           

啟動cpolar服務

sudo systemctl start cpolar           

4.2 建立隧道映射本地端口

成功啟動cpolar服務後,我們在浏覽器上通路本地9200端口【http://127.0.0.1:9200 】,登入cpolar web UI管理界面。

登入成功後,點選左側儀表盤的隧道管理——建立隧道,建立一個tcp協定的隧道指向本地3690端口:

  • 隧道名稱:可自定義,注意不要與已有的隧道名稱重複
  • 協定:tcp
  • 本地位址:3690
  • 域名類型:免費選擇随機域名
  • 地區:選擇China VIP

點選建立

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

隧道建立成功後,點選左側的狀态——線上隧道清單,可以看到,剛剛建立的隧道已經有生成了相應的公網位址,将其複制下來

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

5. 測試公網通路

官方網站下載下傳svn用戶端:https://tortoisesvn.net/downloads.html

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

SVN安裝完在桌面滑鼠右鍵,點選svncheckout,輸入我們複制的cpolar公網位址,然後點選ok

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

輸入我們前面建立的賬号密碼

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

接着右鍵,這時候出現svn update,點選,沒有出現error即連接配接成功

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

6. 配置固定公網TCP端口位址

由于以上使用cpolar所建立的隧道使用的是随機公網位址,該位址為随機臨時位址,24小時内會發生變化,不利于長期遠端通路。

為了更好的連接配接,我們可以為其配置二級子域名,該位址為固定位址,不會随機變化

需要注意,配置固定TCP端口位址需要将cpolar更新到專業版套餐或以上。

6.1 保留一個固定的公網TCP端口位址

登入cpolar官網,點選左側的預留,選擇保留的TCP位址,我們先來為遠端SVN保留一個固定端口位址。

  • 地區:選擇China VIP
  • 描述:即備注,可自定義填寫

點選保留

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

位址保留成功後,系統會生成相應的固定公網位址,将其複制下來

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

6.2 配置固定公網TCP端口位址

在浏覽器上通路9200端口,http://127.0.0.1:9200/,登入cpolar web ui管理界面,點選左側儀表盤的隧道管理——隧道清單,找到svn隧道,點選右側的編輯

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

修改隧道資訊,将保留成功的固定tcp位址配置到隧道中

  • 端口類型:修改為固定tcp端口
  • 預留的tcp位址:填寫保留成功的位址

點選更新

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

隧道更新成功後,點選左側儀表盤的狀态——線上隧道清單,找到我的世界隧道,可以看到公網位址已經更新成為了固定tcp位址。

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

7. 使用固定TCP端口位址遠端SVN服務

右鍵打開relocate

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

修改連接配接位址,改為固定tcp的位址,修改完點選OK

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

接着右鍵svn update,點選,沒有出現error即連接配接成功

Linux搭建SVN伺服器,并内網穿透實作公網遠端通路

繼續閱讀