在項目開發中,比較流行的版本控制有github,svn。之前在開發個人項目的時候代碼量比較少。做幾個備份就可以了。但是隨着項目的逐漸壯大。在電腦,U盤上備份顯然已經不夠安全。就摸索這在我的騰訊雲的服務器上搭建一個svn服務端用於存儲我的項目代碼。我所購買的是linux ubuntu版本(要注意不同版本的安裝不盡相同)。
在控制檯轉換至root用戶下
su root 回車
輸入密碼 回車
輸入命令 svn 查看自己是否已經安裝了 svn
如果已經存在可以進行刪除 sudo apt-get remove --purge subversion(這裏只是做一個記錄,我是沒有。所以這個根本用不到,如果你有的話,也就不用再刪除了)
輸入命令 sudo apt-get install subversion 前面是命令 install subversion相信大家都知道 安裝svn
一陣瘋狂的安裝之後complete 結束
...是我省略的文件夾名稱 這個根據個人口味創建 千萬別直接把...抄過去
輸入命令 sudo mkdir /home/ubuntu /... /svn這個通俗一點來講是爲了未來的資源存儲 這個目錄就是你要創建的位置
輸入命令 sudo mkdir /home/ubuntu /... /svn/repository 這個呢就是在你剛剛創建的文件夾下再創建一個文件夾真正起作用的是以下命令
輸入命令 sudo chmod -R 777 /home/ubuntu /.../svn/repository 更改repository的權限
輸入命令 sudo svnadmin create /home/ubuntu /.../svn/repository 創建版本庫 直到此時,cd 到 repository下就會看到多出來很多東西
跟着自己創建的路徑一路的 cd下去 到了 repository 下 ls 可以看見db
輸入命令 sudo chmod -R 777 db 給db 加權限
在 repository 下 ls 還可以看見conf 接下來有三個文件要修改
進入到conf文件夾下
vi svnserve.conf
找到文件中的這幾行進行放開註釋(說的有點裝,就是把改行前面的註釋符#去掉)
anon-access = read(可改成none,即不可讀) 匿名用戶可讀 建議改成none 保護你的代碼隱私 匿名用戶不可讀
auth-access = write 認證之後的用戶 可讀 可寫(沒毛病)
password-db = passwd 這個就放開註釋就行 使用賬號密碼登錄
authz-db = authz 這個指向了 conf下的authz 文件
改完之後使用:wq!命令進行保存(這裏對於linux系統命令一竅不通的用戶科普一下 vi 文件(進入文件) 輸入i 開始修改 :q! 不保存退出 :wq!保存退出)
接下來 回到 repository 文件夾下 使用 vi passwd 這個文件很簡單 就是配置用戶的賬號以及密碼
在[users]下添加 zs = 123 (zs是用戶賬號 123是你的密碼 這個地方自己設置)
接着我們把目光投向authz
回到 repository 文件夾下 使用 vi authz 這個個人覺得就是權限認證配置了
這個文件可以按組進行分配權限 我挑個簡單的直接給用戶分配權限
zs = rw 在[groups]下添加這個 (zs 就是剛剛創建的用戶 rw 就是 read + write 讀寫權限)
重點到了 在[groups] 下加上[/]標誌版本庫在根目錄下這裏面也可以具體到你自己的某個文件夾下。因爲之前參照別人博客搭建沒有加上這一行,導致在後期無論怎麼連接都連接不上 報 authrizon failure(具體咋寫懶得去百度了。大概就長這模樣)
記得:wq! 進行保存偶。改完就完全結束了。 NO, NO, NO 接下來傳授各位幾行命令有關服務的查看 啓動 停止
大家可以 cd / 回到最高級 (發覺自己有點囉嗦了,直接上命令)
啓動命令 svnserve -d -r /home/ubuntu /.../svn (是到svn偶)
查看服務是否啓動 ps aux | grep svnserve
停止服務 killall svnserver
這裏補充一個題外話(netstatus -ap 可以查看所有服務狀態)
以下全是重點(因爲是我的坑)
服務起好之後
1,檢查防火牆是否關閉 沒有關閉會導致無法訪問 (不想關閉 可以把3690端口加入防火牆配置文件中)
2,3690 是svn服務默認端口 這個可以去查一下3690端口是不是被svn服務佔用
命令: sudo netstat -ntlp
3, 接下來就是客戶端的安裝 一般 就是 tortoiseSVN 安裝 和 eclipse中的安裝(這裏不做重點,因爲簡單,網上隨手可得)。
客戶端安裝https://jingyan.baidu.com/article/e73e26c0b7e06f24acb6a755.html
不得不說百度經驗還是很靠譜的。
最後一個知識點
在eclipse 中 可以通過 svn://ip:3690/repository 進行連接 據說還可以使用 http://ip:3690/repository https://ip:3690/repository 不行的話來回試試這幾個。
如果無法連接要多思考偶 知道網絡通信的原理。