Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux系統常見問題解答 >> Linux搭建svn服務器

Linux搭建svn服務器

日期:2017/1/20 17:44:38      編輯:Linux系統常見問題解答

 1.安裝svn服務器端

  yum install subversion 從鏡像下載安裝svn服務器端 如果後面執行"svnadmin create /usr/local/svn/sunny"提示錯誤:"command not found",把這句"mount /dev/cdrom /media/cdrom/ "話掛在這句"yum install subversion"之前

  cd /usr/local/ //進入目錄,准備創建svn目錄

  mkdir svn //創建一個svn目錄

  chmod -R 777 svn //修改目錄權限為777

  svnadmin create /usr/local/svn/sunny //創建一個svn版本倉庫sunny(sunny可以隨便起名字) 到這一步了!!!!

  cd svn/sunny/conf //進入sunny版本倉庫下的配置文件目錄

  下面要修改這個目錄下的三個配置文件

  (1)vi svnserve.conf //配置版本庫信息和用戶文件和用戶密碼文件的路徑、版本庫路徑

  把

  # anon-access = read

  # auth-access = write

  # password-db = passwd

  //這四行,前面的#號和空格去掉(注意去掉#要頂格寫,不要留有多余空格),變成

  anon-access = none //改成none

  auth-access = write

  password-db = passwd

  realm = sunny //改成自己的版本庫

  保存

  (2)vi authz //文件,創建svn組和組用戶的權限

  [group]

  sunny = gep,wce //創建一個sunny的組,並指定兩個用戶gep和wce

  [/] //制定根目錄下的權限

  @sunny = rw //sunny組用戶權限為讀寫

  * = r //其他用戶只有讀權限

  保存退出

  (3) vi passwd //創建或修改用戶密碼

  [users]

  gep = 123456 //用戶名為gep的用戶的密碼為123456

  wce = 123456 //用戶名為wce 的用戶的密碼為123456

  保存退出

  啟動svn:

  svnserve -d -r /usr/local/svn/ //這裡采用多版本庫的方式啟動 如果是單版本庫 可以svnserve -d -r /usr/local/svn/sunny

  添加一行

  然後要設置自啟動

  vi /etc/rc.local 打開自啟動文件添加

  /usr/bin/svnserve -d -r /usr/local/svn/

  到此為止可以從服務端檢出文件了。

  svn命令:

  netstat -tnl |grep :3690 查看svn是否啟動

  ps aux |grep 'svn' 查找所有svn啟動的進程

  kill -9 2505 殺死2505這個查找到的svn進程

  svn checkout svn://172.19.5.2/sunny /data0/htdocs/blog //檢出一份版本庫文件到指定目錄

  svn up //更新文件

  自動更新

  在vi /usr/local/svn/sunny/hooks/post-commit中加入

  #!/bin/sh

  #設置一些變量

  SVN=/usr/bin/svn

  WEB=/home/testsvn #要更新的目錄

  export LANG=en_US.UTF-8

  $SVN update $WEB --username xxx --password xxx

  其中SVN=右邊改成 svn 命令位置 一般默認為/usr/bin/svn

  WEB=右邊改成你實際的web目錄

  賦予可執行權限

  chmod 777 /usr/local/svn/sunny/hooks/post-commit

  安裝完畢

  ==================================


 其他操作

  #svn commit -m "注釋" xxx.php //提交文件

  svn ci -m'aaa' test.php //提交文件

  #svn add file //新建文件並添加到svn

  svn add *.php //(添加當前目錄下所有的php文件)

  svn delete test.php //刪除test.php

  svn log test.php //查看test文件的log信息

  svn cleanup //清理當前目錄

  svn switch --relocate svn://192.168.1.253 svn://172.19.10.250 //重新定位SVN版本庫地址

  // SVN版本庫起動方式,現在SVN下面有 sunny、test 兩個版本庫

  1:單版本庫起動 svnserve -d -r /usr/local/svn/sunny

  2:多版本庫起動 svnserve -d -r /usr/local/svn

  區別在於起動svn時候的命令中的啟動參數-r指定的目錄。

  限制不同的用戶對不同的版本庫操作權限,修改版本庫中的conf目錄下的 authz文件

  以配置 sunny 版本庫為例

  vi authz

  [groups]

  teacher = sunny,sunny1

  [sunny:/] //指定版本庫跟目錄下的權限

  @teacher = rw //teacher組用戶權限為讀寫

  * = r //其他用戶只有讀權限

  保存退出

  vi passwd 設置組中用戶的賬號和密碼

  [users]

  sunny = 123456

  sunny1 = 123456

Copyright © Windows教程網 All Rights Reserved