前言:apache
svn目前是比較流行的文件版本配置工具,對於開發,運維,測試都頗有幫助,是技術人員必需要掌握的軟件工具之一,下面就svn安裝配置和使用,記錄下學習過程。瀏覽器
一 安裝包文件運維
須要準備下面安裝包,若是不許備,能夠使用yum源安裝,下面我使用源碼編譯安裝ide
apr-1.5.2.tar.gzsvn apr-util-1.5.4.tar.gz工具 httpd-2.4.23.tar.gz學習 subversion-1.9.4.tar.gz測試 |
1.1 安裝aprui
tar -xvzf apr-1.5.2.tar.gzspa cd apr-1.5.2 ./configure --prefix=/opt/apr make make install |
1.2 安裝apr-util
tar -xzvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/opt/apr-util --with-apr=/opt/apr make make install |
1.3 安裝httpd
tar -xvzf httpd-2.4.23.tar.gz cd httpd-2.4.23 ./configure --prefix=/opt/apache2.4.23 --enable-dav --enable-so --with-apr=/opt/apr --with-apr-util=/opt/apr-util make make install |
1.4 安裝subversion
tar -xzvf subversion-1.9.4.tar.gz cd subversion-1.9.4 ./configure --prefix=/opt/subversion --with-apr-util=/opt/apr-util --with-apxs=/opt/apache2.4.23/bin/apxs make make install |
二 修改配置信息
2.1 建立用戶svn
useradd svn
2.2 修改httpd配置
vi /opt/apache2.4.23/conf/httpd.conf
User svn
Group svn
# svn config
Include conf/extra/httpd-svn.conf
2.3 修改httpd-svn.conf配置文件
修改httpd的svn配置信息,增長下面模塊和配置,一遍用於啓動http管理svn
[root@localhost svn]# cat /opt/apache2.4.23/conf/extra/httpd-svn.conf LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /svn> DAV svn SVNParentPath /datasvn AuthType Basic AuthName "Subversion repository" AuthUserFile /opt/subversion/conf/auth.conf #指定的是SVN訪問賬號文件 Require valid-user AuthzSVNAccessFile /opt/subversion/conf/svnaccess.conf #指定的是SVN的訪問控制文件 </Location> |
2.4 建立用戶
[root@localhost svn]# /opt/apache2.4.23/bin/htpasswd -m /opt/subversion/conf/auth.conf zhangsan New password: Re-type new password: Adding password for user zhangsan [root@localhost svn |
2.5 建立版本庫
mkdir /datasvn mkdir /datasvn/test /opt/subversion/bin/svnadmin create /datasvn/test chown svn /datasvn/ -R |
2.6 配置客戶端訪問
啓動命令:
/opt/subversion/bin/svnserve -d -r /datasvn --log-file /svn/svn1.log
2.7 配置權限文件
[root@localhost svn]# cat /opt/subversion/conf/svnaccess.conf [groups] dev=chenwei [/] @dev=rw [root@localhost svn]# |
2.8 啓動服務
/opt/apache2.4.23/bin/apachectl start
三 測試
訪問地址:http://192.168.100.253/svn/test
四 實際案例
下面部門員工可以讀寫訪問本身部門文件夾和只讀公共目錄
技術部 ---》 ITIL it001 it002
市場部 -----> market mak001 mak002
銷售部 ---》 sales sales001 sales002
公共目錄 ---》 common
4.1 svn配置
/opt/subversion/bin/svnadmin create /datasvn/ITIL /opt/subversion/bin/svnadmin create /datasvn/market /opt/subversion/bin/svnadmin create /datasvn/saltes /opt/subversion/bin/svnadmin create /datasvn/common 授予相應的目錄權限 chown -R svn /datasvn/* |
4.2添加用戶
/opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf it001 it001 /opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf it002 it002 /opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf mak001 mak001 /opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf mak002 mak002 /opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf sales001 sales001 /opt/apache2.4.23/bin/htpasswd -mb /opt/subversion/conf/auth.conf sales002 sales002 |
檢查是否已經添加成功:
[root@localhost datasvn]# cat /opt/subversion/conf/auth.conf
chenwei:$apr1$RccWqRlt$bEgPhHOUIpUJ6C03bnikQ0
zhangsan:$apr1$1oEk5gdL$qgjG9dSdY9vglbroGzPjZ.
it001:$apr1$qLwiTGsS$DD4c12k34YNR.QjeqqeEO/
it002:$apr1$3ipOmpPM$noAfmlxHeWwx5/m5u19ij0
mak001:$apr1$O9oQAJYr$.oAMEFZ/PcHhYgYjGi.Ya1
mak002:$apr1$/gVAHKsB$qkRd25cPOs.3LvA0RW6iA0
sales001:$apr1$o6OW/xtG$0O2uKG8OHGk9QNdK0bmlp0
sales002:$apr1$8eiO7rdV$dViqMIXfNOswszyJpZgZY.
上傳文件到svn目錄中
4.4 設置訪問權限
定義權限,設置組,用戶,寫,讀權限
[root@localhost conf]# cat /opt/subversion/conf/svnaccess.conf [groups] dev=chenwei itil=it001,it002 market=mak001,mak002 sales=sales001,sales002 common=itil,market,sales [/] @dev=rw [ITIL:/] @itil=rw [market:/] @market=rw [sales:/] @sales=rw [common:/] *=r [root@localhost conf]# |
4.5 驗證
瀏覽器驗證:
市場部是沒法訪問的: