SVN是subversion的縮寫,是一個開放源代碼的版本控制系統,通過采用分支管理系統的高效管理,簡而言之就是用于多個人共同開發同一個項目,實現共享資源,實現最終集中式的管理。
rpm -qa subversion
eclipse安裝svn。安裝方式有兩種,一種是yum直接安裝
,另外一個是通過修改yum安裝
的方式進行安裝;
如果直接使用yum
,那么安裝的默認版本為1.7.14
,如下:
如果已經按照過了老版本,一定要進行卸載操作;
查看版本號:https://opensource.wandisco.com/centos/
1、配置WandiscoSVN
:
vim /etc/yum.repos.d/wandisco-svn.repo
gb50206最新版本,內容如下:
[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.14/RPMS/$basearch/
enabled=1
gpgcheck=0
其中
svn-1.14
表示安裝的svn版本號,通過這樣的方式就可以覆蓋原有的yum安裝版本,直接安裝最新的1.4.1版本
2、安裝:
yum -y install subversion
如果服務器已經安裝過了svn
,通過以下命令進行卸載:
yum remove subversion
mkdir -p /opt/svn/repos/
svn server、比如:新增了一個項目名稱叫做:svn-demo
,創建倉庫的命令如下:
svnadmin create /opt/svn/repos/svn-demo
目錄結構:
當創建完,項目倉庫后,目錄結構如下圖所示:
目錄含義:
在passwd
文件中,設置用戶密碼,格式為userName=Password
,比如:
admin=123456
manjaro安裝vim。在authz
文件中,設置用戶權限,格式為userName=Auth
;
如果設置為*=
則表示其他用戶無任何權限;
權限由權限目錄
與用戶映射關系組成
:
test
目錄;權限值分為三類:
比如:
# admin 具有讀寫權限,并且可以操作所有目錄
[/]
admin = rw;
*=# admin 具有讀寫權限,只能操作test目錄
[/test]
zhangsan = rw;
*=
vim svnserve.conf
gb50169最新版本?內容如下:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
svnserve -d -r /opt/svn/repos --listen-port=3690 --config-file=/opt/svn/repos/svn-demo/conf/svnserve.conf
/opt/svn/repos
為svn根目錄
測試:
訪問地址:svn://ip:3690/svn-demo,svn-demo
為svn項目倉庫名稱;
如果新增一個svn倉庫,只需要重復上述的3、4、5、6這四個步驟即可;
可以不用重啟svn服務;
1、創建svnserver.service文件:
vim /lib/systemd/system/svnserve.service
安裝vim?2、內容:
[Unit]
Description=SVN Server service
After=network.target[Service]
Type=forking
ExecStart= /usr/bin/svnserve -d -r /opt/svn/repos --listen-port=3690 --config-file=/opt/svn/repos/svn-demo/conf/svnserve.conf[Install]
WantedBy=multi-user.target
3、開啟自啟與啟動:
systemctl enable svnserve.servicesystemctl start svnserve.service
完成上述前8步
配置后,已經可以正常使用;通過配置http服務后,可以直接在瀏覽器端進行訪問,但是如果要使用http服務,那么需要配置額外的用戶和權限;
ls /etc/httpd/modules/ | grep svn
ls: cannot access /etc/httpd/modules/: No such file or directory
表示沒有安裝
yum -y install mod_dav_svn
vim安裝包安裝步驟?
查看安裝結果:
ls /etc/httpd/modules/ | grep svn
vim /etc/httpd/conf.d/subversion.conf
修改<Location />
標簽設置與http與svn的映射,一個<Location />
標簽表示一個項目倉庫,比如:
<Location /svn-demo> DAV svn SVNPath /opt/svn/repos/svn-demo/ AuthType Basic AuthName "Subversion repos"AuthUserFile /opt/svn/repos/svn-demo/conf/httpPasswdAuthzSVNAccessFile /opt/svn/repos/svn-demo/conf/authzRequire valid-user
</Location>
- svn-demo:svn倉庫名稱;
- SVNPath:svn倉庫路徑;
- AuthType:認證類型;
- AuthName: 描述名稱,任意值即可;
- AuthUserFile:這個是http協議的訪問賬戶密碼文件,通過
htpasswd
命令創建;- AuthzSVNAccessFile:http權限認證文件,與svn的默認權限設置一樣;
- Require: 需要認證用戶才可以訪問;
創建命令:
# 創建用戶
htpasswd -c -m /opt/svn/repos/svn-demo/conf/httpPasswd root
- -c:創建一個加密文件;只有第一次創建賬戶密碼時使用;
- -m:默認采用MD5算法對密碼進行加密;
- /opt/svn/repos/svn-demo/conf/httpPasswd:為AuthUserFile配置的路徑;
- root:創建的用戶名稱;
創建用戶步驟:
svn安裝步驟詳細?新增用戶:
# username:用戶名, password:密碼
htpasswd -mb /opt/svn/repos/svn-demo/conf/httpPasswd username password
刪除用戶:
# root為用戶名
htpasswd -D root
在authz
文件中,設置用戶權限,格式為userName=Auth
;
如果設置為*=
則表示其他用戶無任何權限;
權限由權限目錄
與用戶映射關系組成
:
test
目錄;權限值分為三類:
比如:
/opt/svn/repos/svn-demo/conf/authz
內容:
# admin 具有讀寫權限,并且可以操作所有目錄
[/]
root= rw;
*=# admin 具有讀寫權限,只能操作test目錄
[/test]
zhangsan = rw;
*=
創建一個新的倉庫后,也需要重新配置httpd權限
chown -R apache:apache /opt/svn/repos/svn-demo/
重啟httpd服務:
service httpd restart
默認情況下,httpd的默認的端口為80
,通過修改httpd.conf
進行設置端口;
# 修改
vim /etc/httpd/conf/httpd.conf# 內容,比如修改端口為90
Listen 90
重啟httpd服務:
service httpd restart
配置http后,可以直接在瀏覽器中訪問svn項目,比如訪問svn-demo
;
地址:http://162.14.119.135:90/svn-demo/
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态