1. 程式人生 > 其它 >Linux 原始碼安裝svn服務

Linux 原始碼安裝svn服務

 svn要求使用最新穩定版本

svn下載地址:

https://mirrors.aliyun.com/apache/subversion/subversion-1.14.2.tar.gz

依賴 下載地址

apr:https://mirrors.aliyun.com/apache/apr/apr-1.7.0.tar.gz

apr-util:https://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz

zlib:http://www.zlib.net/zlib-1.2.12.tar.gz

sqlite-autoconf:https://www.sqlite.org/2020/sqlite-autoconf-3320000.tar.gz

expat:https://github.com/libexpat/libexpat/releases

以上安裝包,上傳到/root/svn下解壓

注意:

/root/svn 因為是原始碼安裝編譯需要指定路徑,換個路徑,下面的命令也要記得改!

編寫需要用到C,要記得安裝gcc和gcc-c++:yum install –y gcc gcc-c++

安裝步驟

1.     安裝apr

#cd apr-1.7.0

# vi configure

 找到RM='$RM'修改為RM='$RM -f'(該操作用來解決報錯:cannot remove 'libtoolT':No such file or directory)

編譯

# ./configure prefix=/root/svn/apr-1.7.0

# make & make install

2.     安裝expat

# cd /root/svn/

#cd expat-2.4.8

編譯

# ./configure  

# make & make install

3. 安裝apr-util

# cd /root/svn/

#cd apr-util-1.6.1

編譯

# ./configure prefix=/root/svn/apr-util-1.6.1 --with-apr=/usr/local/apr

# make & make install

4. 安裝zlib

# cd /root/svn/

#cd zlib-1.2.12

編譯

# ./configure

# make & make install

5.     sqlite-autoconf

將sqlite-autoconf-3320000改名為sqlite-amalgamation並移動到subversion-1.14.2資料夾下

#cd /root/svn

#cd subversion-1.14.2

# cp -r ../sqlite-autoconf-3320000 sqlite-amalgamation

6.     安裝subversion

編譯

#./configure prefix=/root/svn/subversion-1.14.2 --with-apr=/root/svn/apr-1.7.0 --with-apr-util=/root/svn/apr-util-1.6.1 --with-zlib=/root/svn/zlib-1.2.11 --with-lz4=internal --with-utf8proc=internal

# make & make install

7.     配置SVN倉庫

收拾一下/root/svn,將安裝包移走,只留解壓後的安裝包路徑

建立庫目錄

#cd /root/svn

# mkdir -p myproject

新增/建立 配置檔案

# svnadmin create /root/svn/myproject

上面一句不行,用下面一句

# /root/svn/subversion-1.14.2/bin/svnadmin create /root/svn/myproject

進入配置檔案所在目錄

#cd /root/svn/myproject/conf

修改/新增 配置檔案subversion.conf

#vi subversion.conf

新增下面資訊

[general]

#使非授權使用者無法訪問

anon-access = none

#使授權使用者有寫許可權

auth-access = write

#指明密碼檔案路徑

password-db = passwd

#訪問控制檔案

authz-db =authz          

#認證名稱空間,subversion會在認證提示裡顯示,並且作為憑證快取的關鍵字

realm = repos

 修改passwd檔案用於建立使用者

# vi passwd

新增使用者:使用者名稱1 = 密碼1

修改authz檔案用於管理使用者許可權            

#vi authz

新增下面資訊(myproject、admin和user1 就是上面新增的)

格式:

[庫名:目錄]

使用者名稱1 = 許可權

使用者名稱2 = 許可權

例如:

[myproject:/]

admin = rw

user1 =r

修改svnserve.conf,取消下面的遮蔽

8.     啟動服務

#/root/svn/subversion-1.14.2/bin/svnserve -d --listen-port 3690  -r /root/svn

9.     開啟防火牆埠

#firewall-cmd --zone=public --add-port=3690/tcp --permanent

10.  裝上客戶端就可以訪問svn服務

在同網段下的客戶機上安裝svn客戶端遠端連線svn伺服器

地址為:svn://svn伺服器IP地址/myproject

11、驗證

匯入了一個檔案:1.xlsx

伺服器端檢視到有檔案新增,上傳檔案是通過資料處理後儲存在db/revs裡面。但是提交一次svn會自動生成一個版本檔案,這個檔案是經過處理的,同樣也看不到原檔案。