Linux 搭建svn版本庫


一、安裝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      //改成noneauth-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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM