linux svn apache
借助apache運行的svn服務器
一:安裝Apache HTTP Server
1、安裝Apache HTTP Server
yum install httpd httpd-devel -y
2、修改配置文件
命令:vi /etc/httpd/conf/httpd.conf
找到ServerName配置文件,修改內容如下
ServerName localhost:80
3、增加防火墻使之外部可以訪問80端口
4、啟動Apache HTTP Server 服務
service httpd start
5、測試訪問
http://ip
二:安裝svn服務
1、停止Apache HTTP Server服務
service httpd stop
2、安裝svn模塊
yum install mod-dav-svn subversion
3、檢查svn模塊安裝結果
ls /etc/httpd/modules | grep svn
結果如下:
mod_authz_svn.so
mod_dav_svn.so
查看svn 版本信息: svn --version
4、為svn創建主目錄
mkdir /svn
5、修改svn配置文件
vi /etc/httpd/conf.d/subversion.conf
#include /svn/httpd.conf
<Location /svn/> # 本地倉庫目錄位置 剛才創建的svn目錄
DAV svn #模型簡述
SVNListParentPath on #開啟上級目錄列表能力
SVNParentPath /svn #上級目錄列表根目錄 剛才創建的svn目錄
AuthType Basic #授權類型
AuthName "Subversion repositories" #擁有者名稱
AuthUserFile /svn/passwd.http #擁有者文件命名
AuthzSVNAccessFile /svn/authz #擁有者授權文件命名
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
6、創建密碼文件和授權文件
touch /svn/passwd.http
touch /svn/authz
三:安裝mysql數據庫(此數據庫專為SVN服務器提供數據存儲。與業務系統數據庫分類)
1、檢查當前系統中是否安裝了MySql
rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
2、安裝mysql
yum install mysql-server mysql mysql-devel
3、啟動MySql服務
service mysqld start
4、檢查MySql服務狀態
service mysqld status
5、防火墻配置中增加3306端口訪問
6、設置MySQL數據庫root的用戶初始密碼
mysqladmin -uroot password ‘root‘
7、為MySQL數據庫root用戶授權(默認智能本地訪問)
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;
FLUSH PRIVILEGES;
8、查看授權信息
select user,host from mysql.user;
其中user為MySQL數據庫用戶名,host為可訪問的地址(%代表所有位置都可以訪問)
三:安裝svnadmin
1、簡介
Svn Admin 是一個 Java 開發的管理 Svn 服務器的項目用戶的 web 應用。安裝好 Svn 服務
器端好,把 Svn Admin 部署好,就可以通過 web 瀏覽器管理 Svn 的項目,管理項目的用戶,
管理項目的權限。使得管理配置 Svn 簡便,再也不需要每次都到服務器手工修改配置文件
2、svnamdin的優點
多數據庫: Svn 項目配置數據保存在數據庫,支持所有數據庫(默認 MySQL/Oracle/SQLServer)。
多操作系統:支持 Window,Linux 等操作系統。
權限控制:管理員可以隨意分配權限、項目管理員可以管理項目成員、成員只能查看和
修改自己的密碼。
支持多項目、多用戶、多用戶組 Group(默認帶有“項目管理組”、 “項目開發組”、 “項目測試組”)。
安全:密碼加密保存。
多協議:支持 svn 協議和 http 協議(從 2.0 開始支持 Apache 服務器單庫方式,從 3.0 開始支持 Apache 多庫方式)
倉庫瀏覽(從 3.0.2 開始)
多語言(從 3.0.2 開始)
3、安裝tomcat
svnadmin 是使用 java 編寫的一個 WAR 應用,需要提供一個 Java WEB 中間件才能正常使用
4、上傳svnadmin到webapps中
5、修改svnadmin應用配置
vi svnadmin/WEB-INF/jdbc.properties
數據庫信息進行修改
6、創建database&導入sql腳本
6.1、create database svnadmin default charset utf8 collate utf8_general_ci;
6.2、use svnadmin
6.3、執行腳本文件
source /.../svnadmin/db/mysql5.sql
source /../svnadmin/db/lang/en.sql
7、啟動httpd服務
8、啟動tomcat服務
四:訪問svnadmin
1、訪問
http://ip:port/svnadmin
系統默認首次進去的時候輸入管理員用戶名和密碼
2、創建版本庫
創建的版本倉庫任意信息包含中文,必須要求, 數據庫的對應 database 字符集支持中
文,數據庫導入的 sql 文件必須有 en.sql 數據, tomcat 中的 server.xml 配置文件中必須增加
URIEncoding=”UTF-8”信息
項目:庫名,自定義
類型:http多庫 類型為http協議多庫
路徑:服務器系統中的目錄信息,在系統中尋找路徑從根目錄"/"開始
URL:http協議訪問SVN所在主機,後序地址為庫路勁(http://192.168.1.12/svn/svn_test)
3、用戶權限問題
創建庫以後,點擊進入svn會提示認證失敗
1、用戶組的manager裏面添加當前用戶
2、/svn下面的目錄訪問的用戶是root用戶,svn系統訪問的用戶是apache(/etc/httpd/conf/httpd.conf中 User和Group)
修改創建庫目錄訪問用戶:chown -R apache.apache svn_test
每次增加svn庫時都需要修改目錄擁有者
3、關閉seLinux(高級防火墻)
修改前SELINUX=enforcing 修改後 SELINUX=disabled
4、重啟服務器
linux svn apache