Centos5.5下搭建SVN+Apache
公司生產環境中用到了SVN,麼辦法,用了我們就得了解,就得學習,就得掌握呀。
於是網上搜了下,有很多文件,我也就照葫蘆畫瓢也寫了一份。僅供大家參考。
一、SVN介紹
1、svn(subversion)是近年來崛起的版本管理工具,是cvs的接班人。目前,絕大多數開源軟體都使用svn作為程式碼版本管理軟體。
2、執行方式:svn伺服器有2種執行方式,獨立伺服器和藉助apache。2種方式各有利弊,使用者自行選擇。
3、儲存資料:svn儲存版本資料也有2種方式,BDB和FSFS。因為BDB方式在伺服器中斷時,有可能鎖住資料,所以還是FSFS方式更安全一點。
4、安全領域:對多種應用進行全面的安全認證、支援多種認證及PKI、功能強大並對使用者透明的通訊加密、面向使用者的集中安全策略管理、統一跨接Internet、Intranet、Extranet的通訊。
5、體系結構:SVN安全遠端客戶端軟體包、SVN證書管理模組、SVN硬體加密卡、SVN智慧頻寬管理模組、SVN冗餘管理模組、自動地址轉換模組、SVN安全伺服器軟體包、SVN安全客戶端軟體包。
二、SVN安裝
tar -jxvf subversion-1.6.5.tar.gz
cd /usr/src/subversion-1.6.5/
./configure –prefix=/usr/local/svn
make && make install
安裝過程中如果提示缺少某個軟體包,直接用yum安裝上就好。
apache安裝
tar -zxvf httpd-2.2.17.tar.gz
./configure –prefix=/usr/local/apache2
–enable-dav(加次引數使apache載入svn模組)
–enable-so
make&&make install
apache安裝完成後,測試下。
瀏覽器輸入http://本機IP
接下來就是svn和apache的結合了,
首先說一下svn的目錄結構
公司為技術部和安全部各新建的了一個庫,位置如下:
技術:/opt/svnroot/yunwei
安全:/opt/svnroot/anquan
在每個庫中有很多專案倉庫,使用者的資料都是直接放到專案倉庫的。
比如我的/opt/svnroot/yunwei 下面有一個CAS的專案倉庫,則怎樣才能讓這個CAS成為專案倉庫呢?
首先mkdir CAS (新建一個空的目錄)
svnadmin create /opt/svnroot/yunwei/CAS
此時這個CAS就是一個專案倉庫,裡面也會多了很多檔案。
最後就是訪問apache怎麼會出現svn庫呢?那就是要改http.conf配置檔案啦
新增訪問jishu這個庫的配置:
<Location /jishu/> (svn庫的名字)
DAV svn
SVNListParentPath on
SVNParentPath /opt/svnroot/jishu/ (svn庫的路徑)
AuthType Basic
AuthName “welcome to SVN”
AuthUserFile /opt/svnroot/passwd (apache驗證檔案位置)
AuthzSVNAccessFile /opt/svnroot/authz_jishu (對於svn庫的許可權配置)
Satisfy all
Require valid-user
</Location>
其他庫的格式同上面的是一樣的。
這裡又涉及到了兩個新的問題,AuthUserFile 和AuthzSVNAccessFile 這兩個檔案代表什麼?
先解釋第一個,使用者通過apache訪問svn的時候需要驗證,而這裡指定的檔案位置就是apache的認證檔案,使用者是通過htpasswd來新增的。
第二個檔案:svn庫也就是jishu 這是一個目錄,既然是目錄就涉及到訪問許可權,首先這個目錄本身的許可權 所有者和所屬組一定要改成apache這個使用者,然後訪問不到,在就是哪些使用者可以刪除jishu這個庫裡的東西,哪些使用者不可以呢,在authz——jishu這個檔案裡都是明確指定了的。
配置檔案改完之後,重啟下http服務,然後通過瀏覽器訪問http://本機IP/jishu/
注意:訪問的時候左斜槓一定不能少,否則訪問不到。
最後給大家上幾張圖片,都是有關於svn配置的,希望對大家有幫助,如果有什麼不對的地方也煩請各位隨時提出,先行謝過。
本文轉自 linuxsong 51CTO部落格,原文連結:http://blog.51cto.com/song49/791788,如需轉載請自行聯絡原作者
相關文章
- 詳解CentOS5.5 下搭建 PHP 環境(最佳的LAMP環境)CentOSPHPLAMP
- centOS5.5配置vnc,開啟linux遠端桌面CentOSVNCLinux
- Centos5.5中安裝Mysql5.5過程分享CentOSMySql
- centos 下搭建wordpressCentOS
- window 下搭建gitlibGit
- MAC下搭建RocketMQMacMQ
- Windows下搭建ESP-IDF環境搭建Windows
- Llinux下搭建NPM私服LinuxNPM
- Kubernetes 叢集搭建(下)
- Windows 下搭建 lnmp 環境WindowsLNMP
- Linux 下搭建 SVN 服務Linux
- Centos下搭建golang環境CentOSGolang
- 阿里雲centOS下LNMP搭建阿里CentOSLNMP
- docker下LNMP環境搭建DockerLNMP
- mac 下搭建flutter環境MacFlutter
- Linux下搭建seafile(pro版)Linux
- windows下搭建lisp環境WindowsLisp
- CentOS7下搭建JumpServerCentOSServer
- CentOS 下 MySQL 服務搭建CentOSMySql
- Centos下搭建LAMP+PHPCentOSLAMPPHP
- Linux下搭建ZooKeeper叢集Linux
- Windows下搭建Nginx伺服器WindowsNginx伺服器
- Linux下用nexus搭建maven私服LinuxMaven
- Linux下的node.js搭建LinuxNode.js
- Ubuntu下Java環境的搭建UbuntuJava
- Linux下搭建Jenkins持續整合LinuxJenkins
- ubuntu下搭建ftp服務端UbuntuFTP服務端
- ubuntu下搭建nfs伺服器UbuntuNFS伺服器
- ubuntu下搭建samba伺服器UbuntuSamba伺服器
- 樹莓派搭建下載機樹莓派
- mac下搭建nginx+php+mysqlMacNginxPHPMySql
- Linux下信用盤SGWIN程式搭建PHP+Nginx環境搭建LinuxPHPNginx
- 記錄一下 Windows 下搭建 Homestead 的兩大坑Windows
- LAMP(CentOS 7.2)環境下搭建WordPressLAMPCentOS
- Homestead 下搭建 ELK 踩坑日記
- TensorFlow Java+eclipse下環境搭建JavaEclipse
- Haskell 在 macOS 下的環境搭建HaskellMac
- mac下搭建android 開發環境MacAndroid開發環境
- windows下Hive搭建踩坑彙總WindowsHive