前置條件linux
一、你的服務器是linux而且有固定的ip,沒有固定的ip每次都要設置,超麻煩。阿里、百度、新浪等的雲服務器都有固定ip滴,就是比較貴哦。shell
二、有sudo權限,沒有的話進root用戶給自個添加(usermod -G sudo 用戶名)。windows
安裝svn的服務器端服務器
sudo apt-get install subversion
管理多個項目的代碼倉庫svn
咱們可能有多個項目,因此須要分開管理。測試
cd /home mkdir code cd code //建立三個代碼倉庫,用於三個項目 svnadmin create project1 svnadmin create project2 svnadmin create project3 //把配置文件放到根目錄(/home/code)來統一管理 cd /projcet1/conf cp authz passwd /home/code //進入各個項目的svnserve.conf文件(/home/code/project1/conf),這裏以project1爲例,其餘兩個項目同樣 vi svnserve.conf 修改爲以下:(記得把前面的#去掉,#是用來註釋的) anon-access = none //禁止匿名訪問 auth-access = write password-db = /home/svn/passwd //統一使用密碼文件 authz-db = /home/svn/authz realm = project1 //你的項目名,svn客戶端訪問時須要用來對應訪問的 //三個項目都依次修改後,回到/home/code cd /home/code vi passwd //添加用戶和密碼,而後保存退出 [users] user1 = user1 user2 = user2 admin1 = admin1 //配置用戶權限,而後保存退出 vi authz [groups] //分組 admin = admin //假若有多個用逗號分隔 guest = user1 guset1 = user2 [/] //管理者擁有全部讀寫權限 * = @admin = rw [project1:/] //項目1的訪問控制,guest1,2沒法訪問 @admin = rw 或 user1 = rw user2 = rw [project2:/] @guest = rw
啓動svn服務spa
//-d指明以守護模式運行,-r指明後臺運行,svn自動在3690端口監聽。3690是默認端口,可使用「–listen-port=」或者「–listen-host=」來指定其它端口 svnserve -d -r /home/code
假如要中止服務
線程
killall svnserve 或者 ps -ef|grep svnserve kill -9 對應的線程id號
svn客戶端操做code
svn的地址爲:svn://服務器的ip地址或域名/項目名ip
其餘問題
假如報authorization failed錯誤,在/home/code下的authz文件後面加上killall svnserve
[\] * = rw
測試
一、能夠到windows上新建一個文件夾,用svn Checkout(前提是裝有TortoiseSVN),地址填寫:svn://202.202.202.202/project1
二、就在當前的linux上,到/home/code之外的目錄去,執行:svn checkout svn://202.202.202.202/project1,接下來的就是svn的命令操做咯~~~
over