服務器維護CentOS 6.8下SVN服務器搭建及使用
2020-06-10 21:44 作者:admin
服務器維護CentOS 6.8下SVN服務器搭建及使用
如何做好服務器維護?北京艾銻無限科技與你談談IT人員必須知道的服務器維護信息
服務器維護小知識CentOS 6.8搭建SVN
查看系統環境
服務器維護小知識(1)查看系統版本
[root@node-005 ~]# cat /etc/RedHat-release
CentOS release 6.8 (Final)
服務器維護小知識(2)查看系統全部信息
[root@node-005 ~]# uname -a
Linux node-005 2.6.32-642.15.1.el6.x86_64 #1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
服務器維護小知識(3)查看系統內核
[root@node-005 ~]# uname -r
2.6.32-642.15.1.el6.x86_64
服務器維護小知識安裝SVN
1、修改yum倉庫配置(可不做,我這里做事保留SVN安裝包)
[root@node-005 ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
[root@node-005 ~]# grep keepcache /etc/yum.conf #rpm包不刪除
keepcache=1
[root@node-005 ~]# yum -y install subversion
2、查找查找SVN安裝包
[root@node-005 ~]# find / -name subversion-1.6.11-15.el6_7.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/subversion-1.6.11-15.el6_7.x86_64.rpm
[root@node-005 ~]# tree /var/cache/yum/x86_64/6/base/packages/
/var/cache/yum/x86_64/6/base/packages/
├── apr-1.3.9-5.el6_2.x86_64.rpm
├── apr-util-1.3.9-3.el6_0.1.x86_64.rpm
├── libproxy-0.3.0-10.el6.x86_64.rpm
├── libproxy-bin-0.3.0-10.el6.x86_64.rpm
├── libproxy-python-0.3.0-10.el6.x86_64.rpm
├── neon-0.29.3-3.el6_4.x86_64.rpm
├── pakchois-0.4-3.2.el6.x86_64.rpm
├── perl-URI-1.40-2.el6.noarch.rpm
├── subversion-1.6.11-15.el6_7.x86_64.rpm
└── tree-1.5.3-3.el6.x86_64.rpm
0 directories, 10 files
[root@node-005 packages]# rpm -aq subversion
subversion-1.6.11-15.el6_7.x86_64
配置并啟動SVN
1、創建SVN版本庫根目錄(svndata)及密碼權限目錄(svnpasswd)
[root@node-005 ~]# mkdir -p /application/svndata
[root@node-005 ~]# mkdir -p /application/svnpasswd
[root@node-005 ~]# tree /application/svn*
/application/svndata
/application/svnpasswd
0 directories, 0 files
2、啟動SVN服務指定服務的SVN根目錄
[root@node-005 ~]# svnserve -d -r /application/svndata/ # -d
后臺運行;-r 指定運行目錄
# 注:查看svnserver命令幫助
[root@node-005 ~]# svnserve --help
用法: svnserve [-d | -i | -t | -X] [options]
有效選項:
-d [--daemon] : 后臺模式
-i [--inetd] : inetd 模式
-t [--tunnel] : 隧道模式
-X [--listen-once] : 監聽一次方式(調試用)
-r [--root] ARG : 服務的根目錄
-R [--read-only] : 強制只讀;覆蓋版本庫配置文件
--config-file ARG : 從文件 ARG 讀取配置
--listen-port ARG : 監聽端口
[方式: daemon, listen-once]
--listen-host ARG : 監聽主機名稱或IP地址
[方式: daemon, listen-once]
-T [--threads] : 使用線程代替進程 [方式: daemon]
--foreground : 在前臺運行(調試用)
[方式: daemon]
--log-file ARG : svnserve 日志文件
--pid-file ARG : 寫進程 PID 到文件 ARG
[方式: daemon, listen-once]
--tunnel-user ARG : 隧道用戶名(默認是當前UID對應的用戶名)
[方式: tunnel]
-h [--help] : 顯示本幫助
--version : 顯示程序版本信息
服務器維護小知識3、查看服務是否啟動
(1)查看進程
[root@node-005 ~]# ps -ef |grep svn
root 67481 0 15:25 ? 00:00:00 svnserve -d -r /application/svndata/
root 67526658 0 15:34 pts/0 00:00:00 grep svn
(2)查看端口
[root@node-005 ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local AddressForeign AddressState PID/Program name
tcp 00 0.0.0.0:36900.0.0.0:* LISTEN 6748/svnserve
tcp 00 0.0.0.0:3306 0.0.0.0:* LISTEN 5217/mysqld
tcp 00 0.0.0.0:210.0.0.0:* LISTEN 2160/vsftpd
tcp 00 0.0.0.0:220.0.0.0:* LISTEN 5581/sshd
tcp 00 127.0.0.1:6310.0.0.0:* LISTEN 1315/cupsd
tcp 00 127.0.0.1:250.0.0.0:* LISTEN 1905/sendmail
tcp 0 0 :::80 :::* LISTEN 1925/httpd
tcp 00 :::22:::* LISTEN 5581/sshd
tcp 00 ::1:631:::* LISTEN 1315/cupsd
udp 00 0.0.0.0:6310.0.0.0:*1315/cupsd
(3):已知端口號查看進程
[root@node-005 ~]# lsof -i tcp:3690
COMMAND PID USERFD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 6748 root 3u IPv448866 0t0 TCP *:svn (LISTEN)
[root@node-005 ~]# netstat -lntup |grep 3690
tcp 00 0.0.0.0:36900.0.0.0:* LISTEN 6748/svnserve
服務器維護小知識創建SVN版本庫
1、新的Subversion項目
(1)創建一個新的Subversion項目(版本庫)
[root@node-005 ~]# svnadmin create /application/svndata/sadoc
[root@node-005 ~]# ll /application/svndata/sadoc/
總用量 24
drwxr-xr-x 2 root root 4096 4月 20 15:47 conf
drwxr-sr-x 6 root root 4096 4月 20 15:47 db
-r--r--r-- 1 root root 2 4月 20 15:47 format
drwxr-xr-x 2 root root 4096 4月 20 15:47 hooks
drwxr-xr-x 2 root root 4096 4月 20 15:47 locks
-rw-r--r-- 1 root root 229 4月 20 15:47 README.txt
(2)查看幫助
[root@node-005 ~]# svnadmin --help
一般用法: svnadmin SUBCOMMAND REPOS_PATH [ARGS & OPTIONS ...]
使用“svnadmin help <subcommand>” 得到子命令的幫助信息。
使用“svnadmin --version”查看程序的版本號和文件系統模塊。
可用的子命令:
crashtest
create
deltify
dump
help (?, h)
hotcopy
list-dblogs
list-unused-dblogs
load
lslocks
lstxns
pack
recover
rmlocks
rmtxns
setlog
setrevprop
setuuid
upgrade
verify
[root@node-005 ~]# svnadmin help create
create: 用法: svnadmin create REPOS_PATH
在 REPOS_PATH 創建一個新的空版本庫。
有效選項:
--bdb-txn-nosync : 在提交事務時禁用fsync [BDB]
--bdb-log-keep : 禁用自動刪除日志文件 [BDB]
--config-dir ARG : 從目錄 ARG 讀取用戶配置文件
--fs-type ARG : 版本庫類型: “fsfs”(默認)或“bdb”
--pre-1.4-compatible : 使用與1.4之前版本兼容的格式
--pre-1.5-compatible : 使用 Subversion 1.5 之前版本的格式
--pre-1.6-compatible : 使用與 1.6 之前版本兼容的格式
服務器維護小知識2、倉庫用戶權限配置
(1)配置允許用戶solin讀寫訪問
①備份配置文件
[root@node-005 ~]# cd /application/svndata/sadoc/conf/
[root@node-005 conf]# /bin/cp svnserve.conf svnserve.conf.solin$(date +%F)
②過濾要修改的配置
[root@node-005 conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
③修改后的參數(可以用sed替換,也可用vi/vim直接修改)
[root@node-005 conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = none #不允許匿名訪問
# auth-access = write #允許可寫
# password-db = /application/svnpasswd/passwd #密碼數據庫,存放SVN嗎
# authz-db = /application/svnpasswd/authz #控制權限的數據庫
另:修改后對比
[root@node-005 conf]# egrep "\-access|\-db =" svnserve.conf
# anon-access = read
anon-access = none
# auth-access = write
auth-access = write
# password-db = passwd
password-db = /application/svnpasswd/passwd
# authz-db = authz
authz-db = /application/svnpasswd/authz
[root@node-005 conf]# diff svnserve.conf.solin2017-04-20 svnserve.conf
12a13
> anon-access = none
13a15
> auth-access = write
20a23
> password-db = /application/svnpasswd/passwd
27a31
> authz-db = /application/svnpasswd/authz
3、配置authz、passwd證書文件
(1)把密碼證書文件模板復制到相關目錄并修改文件權限
[root@node-005 conf]# cp authz passwd /application/svnpasswd/
[root@node-005 conf]# ll /application/svnpasswd/
總用量 8
-rw-r--r-- 1 root root 1080 4月 20 17:22 authz
-rw-r--r-- 1 root root 309 4月 20 17:22 passwd
[root@node-005 conf]# chmod 700 /application/svnpasswd/*
[root@node-005 conf]# ll /application/svnpasswd/
總用量 8
-rwx------ 1 root root 1080 4月 20 17:22 authz
-rwx------ 1 root root 309 4月 20 17:22 passwd
(2)authz、passwd的配置
vi /application/svnpasswd/authz
添加如下:
[groups]
bd_sa = solin,test
# [/foo/bar]
[sadoc:/]
# [repository:/baz/fuz]
@bd_sa = rw
test1 = r
vi /application/svnpasswd/passwd
添加如下:
[users]
solin = bdyun
test = bdyun
4、重啟SVN
[root@node-005 conf]# pkill svnserve
[root@node-005 conf]# ps -ef |grep svn
root 68326658 0 17:52 pts/0 00:00:00 grep svn
[root@node-005 conf]# svnserve -d -r /application/svndata/
[root@node-005 conf]# ps -ef |grep svn
root 68341 0 17:52 ? 00:00:00 svnserve -d -r /application/svndata/
root 68366658 0 17:52 pts/0 00:00:00 grep svn
IT運維 我們選擇北京艾銻無限
以上文章由北京艾銻無限科技發展有限公司整理