1、查看是否安裝SVN
svn --version
centos下SVN服務(wù)的啟動與關(guān)閉
2、啟動SVN服務(wù):
svnserve -d -r /home/svn
/home/svn 為版本庫的根目錄;
3、關(guān)閉SVN服務(wù):
killallsvnserve #關(guān)閉svn
或者
使用以下命令查找進(jìn)程
ps aux | grep svn
# ps aux | grep svn
使用Kill命令殺死進(jìn)程
kill -s 9 64434
64434為進(jìn)程ID
svnserve配置
2.1 創(chuàng)建倉庫
2.1.1 創(chuàng)建倉庫存放目錄
# mkdir -p /opt/svn/{repos,etc}
2.1.2 創(chuàng)建SVN倉庫
# svnadmin create /opt/svn/repos/source1
# svnadmin create /opt/svn/repos/source2
# chown -R svn:svn /opt/svn/
倉庫名稱可以根據(jù)自己的規(guī)劃或喜好設(shè)定。
2.2 配置倉庫
SVN的svnserve對于每個倉庫,有一個獨立的配置文件和獨立的用戶、權(quán)限管理。
在這里仍然要保持配置文件svnserve.conf的獨立,但是用戶、權(quán)限管理是用統(tǒng)一的一個文件來存儲。
這樣方便以后的管理和維護(hù)。
另外要注意,即使svnserve服務(wù)已經(jīng)運行,修改配置文件或者用戶、權(quán)限管理文件,保存后馬上生效,不需要重啟服務(wù)。
2.2.1 配置source1倉庫
進(jìn)入倉庫目錄
# cd /opt/svn/repos/source1
2.2.2 修改配置
你可以直接刪除默認(rèn)的svnserve.conf文件,然后使用下面的配置:
# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/etc/svn-user.conf
authz-db = /opt/svn/etc/svn-authz.conf
realm = My First Repository
說明:
anon-access = none #不允許匿名用戶訪問
auth-access = write #通過驗證的用戶可以讀和寫
password-db = /opt/svn/etc/svn-user.conf #用戶保存文件
authz-db = /opt/svn/etc/svn-authz.conf #權(quán)限管理文件
realm = My First Repository #倉庫名稱
2.2.3 配置source2倉庫
# cd /opt/svn/repos/source2
2.2.4 修改配置
你可以直接刪除默認(rèn)的svnserve.conf文件,然后使用下面的配置:
# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/etc/svn-user.conf
authz-db = /opt/svn/etc/svn-authz.conf
realm = My Second Repository
如果有更多的倉庫,可以類推配置。
----------------------------------------------------------------------
svnserve.conf的原始內(nèi)容:
..............................略
----------------------------------------------------------------------
3 用戶及權(quán)限管理
3.1 用戶管理3.1.1創(chuàng)建用戶存儲文件
# vi /opt/svn/etc/svn-user.conf
3.1.2 設(shè)置用戶帳號
[users]
harry = harryssecret
sally = sallyssecret
bote = botessecret
說明:
[users] #是必須的,標(biāo)記為用戶配置開始
harry = harryssecret # harry 是用戶名, harryssecret是密碼。注意,是明文密碼
sally = sallyssecret # 同上
bote = botessecret # 同上
往后所以倉庫的用戶都在這里記錄就可以了。至于那個用戶,允許訪問那個倉庫,在權(quán)限管理里限制。
3.2 權(quán)限管理3.2.1創(chuàng)建權(quán)限管理文件
# vi /opt/svn/etc/svn-authz.conf
3.2.1 設(shè)置權(quán)限管理
[groups]
source1 = harry
source2 = sally
[source1:/]
@source1 = rw
@source2 = r
[source2:/]
@source2 = rw
bote = rw
4、導(dǎo)入備份文件
1. 輸入命令:svnadmin load /svndata/fpp </root/fpp.dump,運行結(jié)果如下
svnadmin load/svndata/fpp < /root/fpp.dump,
初級篇:
版本庫數(shù)據(jù)的移植:svnadmindump、svnadminload
導(dǎo)出:
$svnlook youngestmyrepos//查看到目前為止最新的版本號
$svnadmin dumpmyrepos > dumpfile//將指定的版本庫導(dǎo)出成文件dumpfile
導(dǎo)入:
$svnadmin loadnewrepos < dumpfile
中級篇:
$svnadmin dumpmyrepos –r23>rev-23.dumpfile //將version23導(dǎo)出
$svnadmin dumpmyrepos –r 100:200>rev-100-200.dumpfile //將version100~200導(dǎo)出
對比較大的庫可以分解成幾個文件導(dǎo)出,便于備份
$svnadmin dumpmyrepos –r 0:1000>0-1000.dumpfile
$svnadmin dumpmyrepos –r 1001:2000 --incremental>1001-2000.dumpfile
$svnadmin dumpmyrepos –r 2001:3000 --incremental>2001:3000.dumpfile
在導(dǎo)入時,可以將這幾個備份文件裝載到一個新的版本庫中
$svnadmin loadmyrepos <0-1000.dumpfile
$svnadmin loadmyrepos <1001-2000.dumpfile
$svnadmin loadmyrepos <2001:3000.dumpfile
防火墻開放特定端口:
①文件/etc/sysconfig/iptables
A INPUT -p tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp --sport 22 -j ACCEPT
參數(shù)講解:
–A 參數(shù)就看成是添加一條規(guī)則
–p 指定是什么協(xié)議,我們常用的tcp協(xié)議,當(dāng)然也有udp,例如53端口的DNS
–dport 就是目標(biāo)端口,當(dāng)數(shù)據(jù)從外部進(jìn)入服務(wù)器為目標(biāo)端口
–sport 數(shù)據(jù)從服務(wù)器出去,則為數(shù)據(jù)源端口使用
–j 就是指定是 ACCEPT -接收或者 DROP不接收
vi編輯器中的整行(多行)復(fù)制與粘貼就非常必要了。
1、復(fù)制
1)單行復(fù)制
在命令模式下,將光標(biāo)移動到將要復(fù)制的行處,按“yy”進(jìn)行復(fù)制;
2)多行復(fù)制
在命令模式下,將光標(biāo)移動到將要復(fù)制的首行處,按“nyy”復(fù)制n行;其中n為1、2、3……
2、粘貼
在命令模式下,將光標(biāo)移動到將要粘貼的行處,按“p”進(jìn)行粘貼
更改SVN端口:
svnserve -d –r /var/lib/svn/ --listen-port 88
nohup和&后臺運行,進(jìn)程查看及終止
查看運行的后臺進(jìn)程
(1)jobs -l
jobs命令只看當(dāng)前終端生效的,關(guān)閉終端后,在另一個終端jobs已經(jīng)無法看到后臺跑得程序了,此時利用ps(進(jìn)程查看命令)
(2)ps -ef
1
ps -aux|grep chat.js
a:顯示所有程序
u:以用戶為主的格式來顯示
x:顯示所有程序,不以終端機(jī)來區(qū)分
注:
用ps -def | grep查找進(jìn)程很方便,最后一行總是會grep自己
linux環(huán)境下實現(xiàn)svn服務(wù)器支持http協(xié)議
、安裝Apache
yum install httpd apr apr-utilhttpd-devel #安裝Apache
yum install mod_dav_svnmod_auth_MySQL #安裝基于Apache的http模式訪問的支持模塊
chkconfig httpd on #設(shè)置開機(jī)啟動
service httpd start #啟動Apache
httpd -version #查看Apache版本信息
cd /etc/httpd/modules/
#查看是否有mod_dav_svn.so和mod_authz_svn.so模塊,如果有,說明mod_dav_svn安裝成功!
#mod_auth_mysql模塊是用數(shù)據(jù)庫存儲賬號信息,本次教程沒有涉及,可以不安裝!
編輯http配置文檔
vi /etc/httpd/conf/httpd.conf #編輯
修改端口
Listen 88
ServerName www.example.com:88 #去掉前面的注釋
設(shè)置Apache配置與文件
vi /etc/httpd/conf.d/subversion.conf
<Location/svn>
DAVsvn
#SVNPath/home/svn
SVNParentPath/var/lib/svn
## Limit write permission to list of valid users.
#<LimitExcept GET PROPFIND OPTIONS REPORT>
## Require SSL connection for password protection.
## SSLRequireSSL
#
AuthTypeBasic
AuthName"Authorization SVN"
AuthzSVNAccessFile/var/lib/svn/etc/svn-authz.conf #權(quán)限文件目錄
AuthUserFile/var/lib/svn/etc/http_passwd #httpd協(xié)議訪問svn的賬號密碼存放目錄,
Requirevalid-user
#</LimitExcept>
</Location>
/home/svn/conf/目錄下面svn-user.conf文件是svnserve獨立服務(wù)器使用的認(rèn)證文件,密碼沒有加密,明文顯示。
/home/svn/conf/目錄下面http_passwd文件是Apache的http模式使用的認(rèn)證文件,密碼使用MD5加密。
passwd和http_passwd文件中,賬號密碼必須設(shè)置相同
http模式使用的認(rèn)證文件,密碼使用MD5加密,創(chuàng)建用戶
htpasswd -c -m /var/lib/svn/etc/http_passwd zxc
htpasswd -m /var/lib/svn/etc/http_passwd zxc2
根據(jù)提示輸入兩次密碼即可。
因為http協(xié)議和svn協(xié)議使用的認(rèn)證文件編碼格式不同,所以不能共用一套認(rèn)證文件。
注意:/var/lib/svn/etc/是我的數(shù)據(jù)倉庫目錄,http_passwd是我創(chuàng)建的認(rèn)證文件名稱。zxc是我創(chuàng)建的第一 個用戶,因為是第一個用戶,所以需要加-c,以后創(chuàng)建賬戶不需要加-c命令。
為Apache設(shè)置目錄權(quán)限
chown apache:apache /var/svn/svntest -R
為Apache設(shè)置數(shù)據(jù)倉庫的所有者權(quán)限
重啟Apache服務(wù)
service httpd restart