標籤:svn
一,安裝軟體:
安裝apache
#yum install httpd
安裝subversion
#yum install subversion*
安裝需要的模組mod_dav_svn
#yum -y install mod_dav_svn
二,建立版本庫並開始配置svn
1,建立版本庫
建立目錄結構
#mkdir -p /var/svn 註:/var/svn 是SVN的庫存放目錄 /var/svn/repos是svn的庫根/
2.運行建立版本庫的命令,指定資料存放區為 FSFS,如果要指定為 Berkeley DB,則將 fsfs 替換為 bdb
# svnadmin create --fs-type fsfs/var/svn/repos
/var/svn/repos/conf/passwd 是使用者名稱密碼檔案,如用http方式訪問svn則此檔案無用
[users]
使用者名稱 = 密碼
/var/svn/repos/conf/svnserve.conf 是主設定檔
[general]anon-access = noneauth-access = writepassword-db = passwd #使用者名稱密碼檔案位置authz-db = authz #許可權檔案位置
3,可用可寫的svn賬戶提交庫內容,也可以建立目錄結構並匯入項目,
#svn import /etc/svn/tmp/ file:///var/svn/repos/--message "init"
啟動svn
#svnserve -d -r /var/svn/
註:關閉防火牆,進行測試
三,配置apache 實現apache+svn的結構
1,第一步要給svn的來源目錄修改許可權
#chown -R apache:apache /var/svn
apache 是http的啟動使用者
2,查看apache支援的模組vim /etc/httpd/conf.d/subversion.conf
LoadModule dav_module modules/mod_dav.soLoadModule dav_svn_module modules/mod_dav_svn.so
並添加相應的apache配置
<Location /svn> #這裡的/svn是網頁訪問時http://ip/svn(這裡)/庫名 DAV svn SVNParentPath /var/svn #父目錄 AuthTypeBasic AuthName "Auth" AuthUserFile/var/svn/passwordfile #密碼檔案位置 AuthzSVNAccessFile /var/svn/repos/conf/authz #許可權檔案 Requirevalid-user ErrorDocument404 default </Location>
3,授權訪問使用者:
給密碼檔案授權
#chown apache.apache passwordfile
Apache 提供了一個工具 htpasswd,用於產生使用者檔案,可以在 Apache 的安裝目錄下找到。具體使用方法如下:-c 建立新的檔案
#htpasswd –c /var/svn/passwordfile username
如果該檔案已存在則需要加-b,更新使用者密碼也用這個
#htpasswd –b /var/svn/passwordfile username passwd
#service httpd restart
用IE訪問svn 的url http://192.168.40.149/svn/repos/
出現使用者提示說明成功
3.目錄存取控制
#vim /var/svn/repos/conf/authz 策略檔案,詳細的許可權控制可以在這個策略檔案中指定
[/] 是庫根目錄 [/test] 為庫下檔案夾 @users 為users組
網頁自主更改密碼
先安裝PHP
#yum install php
把兩個指令碼放在apache首頁目錄/var/www/html/
#vim gaimi.html
把以下內容粘貼進去
<html><body><form action="http://59.151.109.141/passwd.php?"method="get"><p>確認使用者名稱: <inputtype="text" name="user" /><p><p>確認原密碼: <inputtype="text" name="oldpass" /><p><p>新密碼: <inputtype="test" name="passwd"/><p><input type="submit"value="修改" /></form></body></html>
然後
#vim passwd.php
把以下內容粘貼進去
<?php$username = $_GET["user"];$oldpass = $_GET["oldpass"];$passwd = $_GET["passwd"];$passwdfile="/var/svn/passwordfile";$command=‘"htpasswd" -b‘.$passwdfile." ".$username." ".$passwd;system($command, $result);if($result==0){ print("密碼已修改");}else{ print("修改失敗,請重試"); }?>
然後從網頁訪問修改密碼 http://ip/gaimi.html
本文出自 “sleepcat” 部落格,請務必保留此出處http://sw5720.blog.51cto.com/8812314/1575951
SVN+apache安裝部署