centos7+apache+svn配置 踩坑,注意權限問題。apache應用目錄checkout應用 必須用這個命令:svn co file:///home/svn/test/ test ,經過sv

  • 閱讀幫助
    命令提示符
    [root@server-002 ~]# 表示當前服務root用戶執行的命令
    [svn@server-002 ~]$ 表示普通用戶svn執行的命令
    [root@localhost ~]# 表示其它服務器的root用戶

系統配置

CPU: 2核
內存: 8G
硬盤: 1T
服務器OS: CentOS7
服務器IP: 192.168.1.2 apache


服務簡介

SVN 版本庫 servervim


服務管理

管理用戶 命令 說明
svn sudo systemctl start httpd 啓動服務
svn sudo systemctl stop httpd 中止服務
root systemctl start httpd 啓動服務
root systemctl stop httpd 啓動服務

服務安裝和配置

安裝SVN服務

  1. 建立svn用戶
    [root@server-002 ~]# useradd svn
    [root@server-002 ~]# passwd svn
  2. 查看是否已經安裝svn
    [root@server-002 ~]# rpm -qa subversion
  3. 若是沒有,直接第4步,若是有,先卸載
    [root@server-002 ~]# rpm remove subversion -y
  4. 建立svn.repo文件
    [root@server-002 ~]# vi /etc/yum.repos.d/svn.repo
[SVN] name=SVN Repo baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/ enabled=1 gpgcheck=0
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 執行yum安裝svn
    [root@server-002 ~]# yum install subversion -y
  2. 防火牆打開svn默認的3690端口
    [root@server-002 ~]# firewall-cmd –zone=public –add-port=3690/tcp –permanent
    [root@server-002 ~]# firewall-cmd –reload

遷移SVN數據

  1. ssh到原SVN服務器備份舊SVN數據倉庫
    [root@localhost ~]# svnadmin dump /var/www/svn/latRepo > /svndump/latRepo.dump
  2. 將備份copy到新的SVN服務器
    [root@localhost ~]# scp /svndump/*.dump svn@192.168.1.2:~/dump
  3. 回到新的SVN服務器,登錄svn用戶,建立版本庫
    [svn@server-002 ~]$ svnadmin create latRepo
  4. 恢復版本庫
    [svn@server-002 ~]$ svnadmin load latRepo < dump/latRepo.dump
  5. 建立日誌目錄/home/svn/logs
    [svn@server-002 ~]$ mkdir logs
  6. 建立配置目錄/home/svn/conf
    [svn@server-002 ~]$ mkdir conf
  7. 建立配置文件/home/svn/conf/svnserve.conf(示例)
    [svn@server-002 ~]$ vim conf/svnserve.conf
[general] anon-access = read auth-access = write password-db = passwd authz-db = authz [sasl]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 建立用戶文件/home/svn/conf/passwd(示例)
    [svn@server-002 ~]$ vim conf/passwd.conf
[users] hezhigang=hezhigang shenfu=shenfu yangshuaifei=yangshuaifei
  • 1
  • 2
  • 3
  • 4
  1. 建立認證文件/home/svn/conf/authz(示例)
    [svn@server-002 ~]$ vim conf/authz
[groups]
lse = hezhigang, shenfu, yangshuaifei [/] spancer = rw [latRepo:/] @lse = rw * =
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

配置服務管理腳本

  1. 啓動腳本start.sh
    [svn@server-002 ~]$ vim start.sh
#!/bin/bash svnserve -d -r /home/svn --config-file=/home/svn/conf/svnserve.conf --log-file=/home/svn/logs/svn.log
  • 1
  • 2
  1. 中止腳本stop.sh
    [svn@server-002 ~]$ vim start.sh
#!/bin/bash PID=$(ps -ef | grep svnserve | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill $PID fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

配置開機啓動

  1. 建立svn.service文件
    [root@server-002 ~]# vim /etc/systemd/system/svn.service
[Unit] Description=svn service After=syslog.target [Service] Type=forking ExecStart=/usr/bin/svnserve -d -r /home/svn --config-file=/home/svn/conf/svnserve.conf --log-file=/home/svn/logs/svn.log User=svn Group=svn [Install] WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  1. 激活開機啓動svn服務
    [root@server-002 ~]# systemctl daemon-reload
    [root@server-002 ~]# systemctl enable svn

添加http訪問支持

  1. 檢查是否已經安裝了apache服務
    [root@server-002 ~]# rpm -qa httpd
  2. 若是沒有該服務,則安裝,不然跳過
    [root@server-002 ~]# yum install httpd -y
  3. 安裝mod_dav_svn組件
    [root@server-002 ~]# yum install mod_dav_svn -y
  4. 修改apache啓動用戶和組爲svn
    [root@server-002 ~]# vim /etc/httpd/conf/httpd.conf
User svn
Group svn
  • 1
  • 2
  1. 修改subversion.conf配置
    [root@server-002 ~]# vim /etc/httpd/conf.d/subversion.conf
<Location /svn>
  DAV svn
  SVNListParentPath on SVNParentPath /home/svn # 若是想在一個目錄下面建立多個版本庫的話,則使用SVNParentPath,不然SVNPath。 AuthType Basic AuthName "svn Repo" AuthUserFile /home/svn/conf/httpdpasswd AuthzSVNAccessFile /home/svn/conf/authz Require valid-user </Location>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  1. 切換svn用戶,建立密碼文件並添加用戶

    [svn@server-002 ~]$ htpasswd -c -m /home/svn/conf/httpdpasswd admincentos


後續添加用戶只需執行htpasswd /home/svn/conf/httpdpasswd <username>
  1. 開放80端口bash

    [root@server-002 ~]# firewall-cmd –add-port=80/tcp –permanent
    [root@server-002 ~]# firewall-cmd –reload服務器

  2. 啓動apachemarkdown

    [root@server-002 ~]# systemctl start httpd
    [root@server-002 ~]# systemctl enable httpd ssh

添加apache支持後,若是不須要經過svn://192.168.1.2的形式訪問,能夠不用啓動svn,直接啓動httpd服務便可。若是兩者都要支持,則httpd.service和svn.service都啓動,但兩者使用的密碼文件不相同tcp

相關文章
相關標籤/搜索