IT정리노트

블로그 이미지

Edward. K

메멘토적 기억능력을 소유한 개발자 노트.

CentOS 7 에서 Subversion 설치 및 설정

카테고리 없음 2021. 11. 29. 15:43
반응형

* VM 세팅이 완료되었다 하여.. 프로그램들 설치를 하려고 보니./ 에러가 발생.

  [root@localhost ~]# yum list subversion
  Loaded plugins: fastestmirror, langpacks
  Loading mirror speeds from cached hostfile
 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
  14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 알 수 없는 오류"


 * VM 생성 담당자에게 확인하니..  뭔 말인지 모르지만..해결..;;
   내부망 VM으로 외부 repository 서버와 통신되지 않기 때문에 리눅스 ISO로 내부 repository 설정 하였습니다.

 

 


ㄱ. Subversion 설치

ㄱ.1. 설치 할 수 있는 Subversion 확인. yum list subversion

[root@localhost /]# yum list subversion
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Installed Packages
subversion.x86_64                         1.7.14-14.el7                         @anaconda

 
ㄱ.2. Subversion  설치   yum install -y subversion       * '3. 설치확인' 후  미설치상태인 경우.

[root@localhost /]# yum install -y subversion

   
ㄱ.3. 설치확인     rpm -qa | grep subversion  혹은    svn --version

[root@localhost /]# rpm -qa | grep subversion
subversion-libs-1.7.14-14.el7.x86_64
subversion-1.7.14-14.el7.x86_64

[root@localhost /]# svn --version
svn, 버젼 1.7.14 (r1542130)
Apr 11 2018, 02:40:28에 컴파일 됨

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/
..

 



ㄴ.  Subversion 설정

ㄴ.1. 저장할 폴더(svn_repos) 생성     mkdir svn_repos

[root@localhost /]# cd /
[root@localhost /]# mkdir svn_repos
[root@localhost /]# ls
ISO  boot  dev  home  lib64  mnt  proc  run   srv        sys  usr
bin  data  etc  lib   media  opt  root  sbin  svn_repos  tmp  var


ㄴ.2. svnserve 파일에 방금 생성한 svn 저장소를 관리할 폴더를 지정.   
    * /etc/sysconfig/svnserve 파일을 vi로 열고 수정합니다.
    (이 파일을 생성해주어야 service svnserve start/stop/restart가 가능하다고 합니다)

[root@localhost /]# cd /etc/sysconfig
[root@localhost sysconfig]# vi svnserve
[root@localhost sysconfig]# cat svnserve
# OPTIONS is used to pass command-line arguments to svnserve.
#
# Specify the repository location in -r parameter:
OPTIONS="--threads --root /svn_repos"


ㄴ.3. Subversion 서비스 포트 방화벽 해제 설정       * 개발서버에 firewall 미실행중.. 
* Subversion의 서비스 포트를 리눅스 방화벽에서 제외     ( SVN의 기본 포트: 3960 )
   * firewall 관련 : https://avaiable.tistory.com/153

sudo firewall-cmd --permanent --zone=public --add-port=3690/tcp
sudo firewall-cmd --reload

[root@localhost sysconfig]# sudo firewall-cmd --permanent --zone=public --add-port=3690/tcp
FirewallD is not running
[root@localhost sysconfig]# firewall-cmd --state
not running
[root@localhost sysconfig]#


ㄴ.4. Subversion 실행   

[root@localhost sysconfig]# ps -ef | grep svn
root      60907  60381  0 13:35 pts/1    00:00:00 grep --color=auto svn

[root@localhost sysconfig]# systemctl start svnserve.service
[root@localhost sysconfig]# ps -ef | grep svn
root      61221      1  0 14:08 ?        00:00:00 /usr/bin/svnserve --daemon --pid-file=/run/svnserve/svnserve.pid --threads --root /svn_repos
root      61223  60381  0 14:08 pts/1    00:00:00 grep --color=auto svn
[root@localhost sysconfig]# netstat -anp | grep svnserve
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      61221/svnserve


    systemctl start svnserve.service   # 실행
    systemctl stop svnserve.service    # 중지
    systemctl restart svnserve.service # 재실행
    ps -ef | grep svn  #  서브버전의 프로세스의 동작여부를 확인
    netstat -anp | grep svnserve  # 서브버전의 서비스 포트를 확인(기본적으로 3690 포트 사용)





ㄷ.  Subversion 저장소 관리

ㄷ.1.  Subversion에  저장소 생성  *  svn repos 경로에서 저장소를 생성합니다. 

[root@localhost sysconfig]# cd /svn_repos
[root@localhost svn_repos]# svnadmin create --fs-type fsfs AAA
[root@localhost svn_repos]# svnadmin create --fs-type fsfs BBB
[root@localhost svn_repos]# svnadmin create --fs-type fsfs CCC
[root@localhost svn_repos]# svnadmin create --fs-type fsfs DDD
[root@localhost svn_repos]# ls
AAA  BBB  CCC  DDD

[root@localhost svn_repos]# cd AAA
[root@localhost AAA]# ls
README.txt  conf  db  format  hooks  locks
[root@localhost AAA]# cd conf
[root@localhost conf]# ls
authz  passwd  svnserve.conf

  TBS(저장소명)
      |-  conf     * svn 설정파일 폴더
            |-  authz :    접근  계정 권한
            |-  passwd   : 접근할 계정정보
            |-  svnserve.conf  : 접근한을 관리하는 설정파일
 

********************************************************************
**  ㄷ.2 ~ ㄷ.4  :   각각 저장소 별로 세팅 합니다.  START  

ㄷ.2.  저장소 접근 권한  설정      *  저장소명/conf/svnserve.conf  
        anon-access, auth-access, password-db, authz-db 항목 주석을 제거, anon-access 수정

[root@localhost AAA]# cd conf
[root@localhost conf]# ls
authz  passwd  svnserve.conf
[root@localhost conf]# vi authz
[root@localhost conf]# vi svnserve.conf
[root@localhost conf]# cat svnserve.conf
### This file controls the configuration of the svnserve daemon, if you
### ..
### ..
[general]
### The anon-access and auth-access options control access to the
### ..
### ..
anon-access = none
auth-access = write
### ..
### ..
password-db = passwd
### The authz-db option controls the location of the authorization
### ..
### ..
authz-db = authz
### This option specifies the authentication realm of the repository.
### ..
### ..
realm = THE AAA SVN
###  이하 수정없음 

[sasl]
###  이하 수정 없음



ㄷ.3.  저장소에 접근할 계정(아이디/비번)정보 추가      *  저장소명/conf/passwd  파일을 열어 계정정보(아이디 = 비번) 추가합니다.   

[root@localhost conf]# vi passwd
[root@localhost conf]# cat passwd
### This file is an example password file for svnserve.
### ..

[users]
karl = karl
edward = edward


ㄷ.4.  저장소에 접근할 계정정보 추가      *  저장소명/conf/authz   파일을 열어 계정정보 추가합니다.  

[root@localhost conf]# pwd
/svn_repos/AAA/conf
[root@localhost conf]# vi authz
[root@localhost conf]# cat authz
### This file is an example authorization file for svnserve.
### ..
### ..

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r:q:q

# add TBS authz
[/]
* = r
root = rw
karl = rw
edward = rw

      * = r          #TBS저장소의 루트경로에 모든 사용자가 read 할수 있는 권한을 부여
      root = rw    #TBS 저장소의 루트경로에 root 계정은 read, write 권한 부여
      admin = rw  #TBS1저장소의 루트경로에 admin 계정은 read, write 권한 부여
 
**  ㄷ.2 ~ ㄷ.4  :   각각 저장소 별로 세팅 합니다.  END
********************************************************************


  
ㄷ.5. svnserve 데몬 재시작      service svnserve restart

[root@localhost conf]# systemctl restart svnserve.service

     systemctl start svnserve.service   # 실행
     systemctl stop svnserve.service    # 중지
     systemctl restart svnserve.service # 재실행
     ps -ef | grep svn  #  서브버전의 프로세스의 동작여부를 확인
     netstat -anp | grep svnserve  # 서브버전의 서비스 포트를 확인(기본적으로 3690 포트 사용)
 

ㄷ.6. SVN 저장소 확인     svn list svn://ip 또는 도메인 주소/저장소명

[root@localhost conf]# svn list svn://127.0.0.1/AAA

[root@localhost conf]# svn info svn://127.0.0.1/AAA
[root@localhost conf]# svn info svn://127.0.0.1/BBB
[root@localhost conf]# svn info svn://127.0.0.1/CCC
[root@localhost conf]# svn info svn://127.0.0.1/DDD
더보기

* 첫 접속시  
[root@localhost conf]# svn info svn://127.0.0.1/AAA
인증 영역(realm):  AAA SVN REPO
'root'의 암호:
인증 영역(realm):  AAA SVN REPO
사용자명:karl
'karl'의 암호:

-----------------------------------------------------------------------
주의! 인증정보 영역:

    AAA SVN REPO

에 대한 당신의 비밀번호는 디스크에 암호화되어 저장되지 않습니다.
가능하면, 비밀번호를 암호화하여 저장하도록 설정을 바꾸십시오.
자세한 것은 문서를 참조하세요.

이 주의 문구를 다음에 보이지 않게 하려면, 'store-plaintext-passwords'의
설정을 'yes' 혹은 'no'로 지정하면 됩니다. 설정 파일은 다음과 같습니다.
'/root/.subversion/servers'
-----------------------------------------------------------------------
비밀번호를 평문으로 저장하겠습니까 (yes/no)?yes
경로: AAA
URL: svn://127.0.0.1/AAA
저장소 루트: svn://127.0.0.1/AAA
저장소 UUID: d***********
리비전: 0
노드 종류: 디렉토리
마지막 수정 리비전: 0
마지막 수정 일자: 2021-11-29 14:17:59 +0900 (2021-11-29, 월)

더보기

 * 이후 접속시  ***********************************
[root@localhost conf]# svn list svn://127.0.0.1/AAA
[root@localhost conf]# svn info svn://127.0.0.1/AAA
경로: AAA
URL: svn://127.0.0.1/AAA
저장소 루트: svn://127.0.0.1/AAA
저장소 UUID: d***********

리비전: 0
노드 종류: 디렉토리
마지막 수정 리비전: 0
마지막 수정 일자: 2021-11-29 14:16:58 +0900 (2021-11-29, 월)



    
 **  SELinux가 활성화되어있는 경우, SVN 저장소 접근이 안됩니다. 

 [root@localhost conf]# sestatus
SELinux status:                 disabled

 ** 만약  활성화(enabled)되어있는 경우라면   /etc/selinux/config 파일을 열어 수정합니다.

[root@localhost conf]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     ..
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     ..
SELINUXTYPE=targeted


  

*  서버동작시 SVN 서비스 자동 실행하기  systemctl enable svnserve.service

[root@localhost conf]# systemctl enable svnserve.service
Created symlink from /etc/systemd/system/multi-user.target.wants/svnserve.service to /usr/lib/systemd/system/svnserve.service.

 

 

SVN 관리 심플 : https://eknote.tistory.com/2126

반응형
Posted by Edward. K
블로그 이미지

메멘토적 기억능력을 소유한 개발자 노트.

by Edward. K

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • flex
  • 컴퓨터 관리
  • iBATIS
  • Eclipse
  • EkNote
  • eclipse plugin
  • Flash Player
  • rocketdock
  • egov
  • toad
  • Jboss
  • sqlgate
  • 가상화폐무료
  • 미네르바
  • 개한민국
  • STS
  • 사업 이야기
  • tomcat
  • 플래시 게임
  • ERwin
  • android
  • 이클립스
  • 캡쳐툴
  • EditPlus
  • netbeans
  • 전자정부프레임워크
  • 중독성게임
  • 이미지 편집
  • Graphic
  • 색상코드표

글 보관함

«   2026/01   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

카테고리

분류 전체보기 (792)
행운이와함께 (1)
EkNote Project (18)
ARIS (0)
Android (2)
LINK (39)
UML (9)
Programming (154)
Cobol (0)
ASP (0)
CSS (5)
C_C++ (2)
IBatis (2)
JSP (3)
JAVA (76)
JavaScript (44)
PHP (2)
Utility (76)
Protable (3)
MobileProgram (4)
SKT (0)
KTF (0)
LGT (0)
자료들 (4)
DB (82)
mongoDB (0)
MySQL (8)
Oracle (61)
MSSQL (4)
Graphic (8)
Flash (3)
PhotoShop (3)
SourceFactory (4)
Collection (73)
작가의기막힌상상력 (14)
미소를찾아보는공간 (44)
내심장은작동중일까 (6)
멀더와스컬리의노트 (3)
이건어디에사용할까 (6)
Edward (275)
나만 알기엔 아까워 (100)
기억하기 위한 기록 (123)
시선이 머무는 공간 (50)
숨기고 싶은 이야기 (2)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
Edward. K's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

IT정리노트

메멘토적 기억능력을 소유한 개발자 노트.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (792)
    • 행운이와함께 (1)
    • EkNote Project (18)
    • ARIS (0)
    • Android (2)
    • LINK (39)
    • UML (9)
    • Programming (154)
      • Cobol (0)
      • ASP (0)
      • CSS (5)
      • C_C++ (2)
      • IBatis (2)
      • JSP (3)
      • JAVA (76)
      • JavaScript (44)
      • PHP (2)
    • Utility (76)
      • Protable (3)
    • MobileProgram (4)
      • SKT (0)
      • KTF (0)
      • LGT (0)
      • 자료들 (4)
    • DB (82)
      • mongoDB (0)
      • MySQL (8)
      • Oracle (61)
      • MSSQL (4)
    • Graphic (8)
      • Flash (3)
      • PhotoShop (3)
    • SourceFactory (4)
    • Collection (73)
      • 작가의기막힌상상력 (14)
      • 미소를찾아보는공간 (44)
      • 내심장은작동중일까 (6)
      • 멀더와스컬리의노트 (3)
      • 이건어디에사용할까 (6)
    • Edward (275)
      • 나만 알기엔 아까워 (100)
      • 기억하기 위한 기록 (123)
      • 시선이 머무는 공간 (50)
      • 숨기고 싶은 이야기 (2)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바