在Centos7 上安裝SVN

在Centos7 上安裝SVN

2017年11月16日 17:07:54 crossangles_2017 閱讀數:2543mysql

一、安裝

使用yum安裝很是簡單:linux

yum install subversion

二、配置

建立倉庫

咱們這裏在/opt下創建一個名爲svn的倉庫(repository),之後全部代碼都放在這個下面,建立成功後在svn下面多了幾個文件夾。sql

 
  1. [root@localhost /]# cd /opt數據庫

  2. [root@localhost opt]# mkdir svnvim

  3. [root@localhost opt]# svnadmin create /opt/svnwindows

  4. [root@localhost opt]# ls svnide

  5. conf db format hooks locks README.txtsvn

咱們這裏特別關注一下conf文件夾,這個是存放配置文件的函數

 
  1. [root@localhost opt]# cd svn/confpost

  2. [root@localhost conf]# ls

  3. authz passwd svnserve.conf

其中:

  • authz 是權限控制文件
  • passwd 是賬號密碼文件
  • svnserve.conf 是SVN服務配置文件

接下來咱們依次修改這3個文件。

配置passwd

 
  1. [root@localhost conf]# vi passwd

  2. [users]

  3. test1=123456

  4. test2=123456

上面的例子中咱們建立了2個用戶,一個test1,一個test2

配置authz

 
  1. [root@localhost conf]# vi authz

  2. [/]

  3. liuxianan=rw

  4. test1=r

  5. test2=r

  6. *=

上面配置的含義是,liuxianan/opt/svn/下全部文件具備可讀可寫權限,test只有只讀權限,除此以外,其它用戶均無任何權限,最後一行*=很重要不能少。

 

配置svnserve.conf

 
  1. [root@localhost conf]# vi svnserve.conf

  2. 打開下面的5個註釋

  3. anon-access = none#匿名用戶可讀

  4. auth-access = write #受權用戶可寫

  5. password-db = passwd #使用哪一個文件做爲帳號文件

  6. authz-db = authz #使用哪一個文件做爲權限文件

  7. realm = /opt/svn # 認證空間名,版本庫所在目錄

2點注意:

  • 最後一行的realm記得改爲你的svn目錄
  • 打開註釋時切記前面不要留有空格,不然可能有問題

 

三、啓動與中止

 
  1. [root@localhost conf]# svnserve -d -r /opt/svn(啓動)

  2. [root@localhost conf]#killall svnserve(中止)

上述啓動命令中,-d表示守護進程, -r 表示在後臺執行。中止還能夠採用殺死進程的方式:

 
  1. [root@localhost conf]# ps -ef|grep svnserve

  2. root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn

  3. root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve

  4. [root@localhost conf]# kill -9 4908

 

客戶端鏈接

這裏使用TortoiseSVN,輸入地址svn://你的IP 便可,不出意外輸入用戶名和密碼就能鏈接成功了。

默認端口3690,若是你修改了端口,那麼要記得加上端口號。

 

 

設置SVN自動更新

cd /opt/svn/hooks

mv post-commit.tml post-commit

而後:vim post-commit

 

 
  1. #!/bin/sh

  2. #

  3. #

  4. #

  5. REPOS="$1"

  6. REV="$2"

  7. export LANG=zh_CN.UTF-8

  8. SVN=/usr/bin/svn #這裏配置的是svn安裝bin目錄下的svn文件

  9. WEB=/opt/lampp/htdocs/ #要更新的目錄

  10. $SVN update $WEB --username xxx --password xxx (此版本是linux下,windows下是.bat,寫法少有不一樣)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

而後記得讓post-commit有執行的權限: chmod 777 post-commit

 

總結

總的來講,若是你不須要雜七雜八的權限配置只是本身一我的用的話,安裝配置仍是比較簡單的,並不像網上說的那麼麻煩,我按照網上的方法一次性成功了。

擴展:yum安裝路徑

以svn爲例:

 
  1. # rpm -qa | grep subversion

  2. subversion-1.6.11-15.el6_7.x86_64

  3. # rpm -ql subversion-1.6.11-15.el6_7.x86_64

  4. ...

  5. /usr/share/doc/subversion-1.6.11

  6. /usr/share/doc/subversion-1.6.11/BUGS

  7. /usr/share/doc/subversion-1.6.11/CHANGES

  8. ...

說明:

  • rpm -qa 查詢全部安裝的rpm包,能夠配合grep命令。
  • rpm -qi 查詢某個具體包的介紹。
  • rpm -ql 列出某個具體包的全部文件

rpm幾個默認安裝路徑:

 
  1. /etc 一些設置文件放置的目錄

  2. /usr/bin 一些可執行文件

  3. /usr/lib64 一些程序使用的動態函數庫

  4. /usr/share/doc 一些基本的軟件使用手冊與幫助文檔

  5. /usr/share/man 一些man page文件

 

本人出現的問題擴充:當linux中執行svn up 失敗時,執行:

 

svn co svn://你的ip地址/  /opt/www/  --username  用戶名 --password  密碼

說明:svn://你的ip地址/     是svn url

/opt/www/ :目錄也就是你要更東西的目錄以後的

--username username 就是你的svn用戶名 --password password就是svn密碼  

擴展:數據庫添加權限

進入

 

cd /opt/lampp/bin

./mysql -uroot -p

默認密碼爲空

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

相關文章
相關標籤/搜索