linux 下面安裝svn server (linux版本爲ubuntu)linux
一、安裝svn服務:ubuntu
sudo apt-get install subversion服務器
二、開啓服務svn
svnserve -dpost
檢查是否開啓:ps aux | grep svnserve學習
三、創建倉庫(已經建好svn目錄,用於全部的svn的用戶和權限管理的根目錄)spa
svnadmin create /var/svn/test (文件夾發現包含了conf, db,format,hooks, locks, README.txt等文件。若是後面還有項目,能夠再create一個項目,如:svnadmin create /var/svn/test2,都統一綁定在一個ip上面。下面第5部)code
四、修改配置(在創建的倉庫裏面有三個配置文件authz、passwd、svnserve.conf)orm
svnserve.conf:是總配置文件,限制匿名用戶是否能夠訪問,肯定權限文件,用戶密碼文件。 server
#匿名訪問的權限,能夠是read,write,none,默認爲read anon-access = none #認證用戶的權限,能夠是read,write,none,默認爲write auth-access = write #用戶密碼的路徑,去掉前面的# password-db = passwd #權限的路徑,去掉前面的# auth-db = authz
注意:全部的行都必須頂格,不然報錯
passwd:(用戶帳號配置文件,用戶名=密碼)
[users] svnuser = password wangkangluo1 = 123456
authz:(用戶權限配置文件)
[group] sunny = gep,wce //建立一個sunny的組,並制定兩個用戶gep和wce [/] //制定當前svn的根目錄下的權限(也能夠[test:/]) //test是建立的svn庫 @sunny = rw //sunny組用戶權限爲讀寫 * = r //其餘用戶只有讀權限
五、啓動Subversion服務器
一、關閉subversion服務進程,killall svnserve
二、svnserve -d -r /var/svn --listen-host 10.19.3.103 ## --listen-host指定ip(建議不添加此參數,以便在服務器上經過127.0.0.1來檢出) 或者--listen-port 3690 (用戶自定義,不加默認是當前服務器,端口是3690)
其中-d表示以守護進程方式運行,-r選項用來指定svn服務的根目錄,這樣用戶就可使用相對路徑訪問,而不用提供完整路徑,這樣訪問服務器時就能夠直接 用svn://服務器ip來訪問了。若是有多個項目,能夠附加目錄來訪問(如:svn://10.19.3.103/ezhu)
配置subversion 服務器自動更新
1)複製版本庫下面的hooks下面的post-commit.tpml 成post-commit 而且替換成以下內容
#!/bin/sh WEB=/var/wwwroot/test export LANG=en_US.UTF-8 ## 中文的話是 zh_CN.UTF-8 svn update $WEB --username o135 --password 'o135123'
chown -R www:www $WEB ## 修改所屬用戶和用戶組。具體可用性 待學習
chmod -R 755 $WEB ## 修改權限,具體參考用戶的權限來設置,亦可不設置
注意:編輯post-commit的權限(配置成可執行的就好了),本地提交了文件,svn服務器第一次要在目錄下面去檢查(如:svn checkout svn://110.222.102.88/demo)