[오픈소스] 폐쇄망/내부망 Subversion 설치

    728x90
    반응형

    폐쇄망/내부망 Subversion 설치

    폐쇄망? 내부망?

    외부와의 접속을 철저히 차단한 독립적인 네트워크

     

    Subversion (이하 SVN)

    2000년에 CollabNet에서 개발한 중앙집중식 버전 관리 툴


    폐쇄망/내부망 SVN 설치

    #필수패키지 설치 확인
    [root@]$ rpm qa | grep 패키지명

     

     

    #필수패키지 설치
    [root@]$ dnf install -y \
      gcc \
      make \
      perl \
      pcre-devel \
      openssl-devel \
      expat-devel \
      zlib-devel \
      sqlite-devel \
      libtool \
      diffutils

     

    gcc C언어 컴파일러
    make 소스 코드 컴파일 및 설치
    perl 스크립트 언어. 설치 및 관리 작업 자동화
    pcre-devel 정규표현식 라이브러리

    openssl-devel

    SSL/TLS 암호화 라이브러리(HTTPS)

    expat-devel

    XML 파싱 라이브러리

    zlib-devel

    데이터 압축 라이브러리

    sqlite-devel

    SVN이 DB를 통해 트랜잭션을 관리

    libtool

    라이브러리 빌드 및 관리 도구

    diffutils

    SVN 형상 변경 이력 추적

     

    [root@] dnf install gcc
    Updating Subscription Management repositories.
    Unable to read consumer identity
    
    This system is not registered with an entitlement server. You can use subscription-manager to register.
    
    Red Hat Universal Base Image 9 (RPMs) - BaseOS                                                 6.0 kB/s | 3.8 kB     00:00
    Red Hat Universal Base Image 9 (RPMs) - BaseOS                                                 1.3 MB/s | 588 kB     00:00
    Red Hat Universal Base Image 9 (RPMs) - AppStream                                               35 kB/s | 4.2 kB     00:00
    Red Hat Universal Base Image 9 (RPMs) - AppStream                                              2.9 MB/s | 2.4 MB     00:00
    Red Hat Universal Base Image 9 (RPMs) - CodeReady Builder                                       30 kB/s | 4.2 kB     00:00
    Dependencies resolved.
    ===============================================================================================================================
     Package                              Architecture     Version                            Repository                      Size
    ===============================================================================================================================
    Installing:
     gcc                                  x86_64           11.5.0-5.el9_5                     ubi-9-appstream-rpms            32 M
    Installing dependencies:
     binutils                             x86_64           2.35.2-63.el9                      ubi-9-baseos-rpms              4.6 M
     binutils-gold                        x86_64           2.35.2-63.el9                      ubi-9-baseos-rpms              736 k
     cpp                                  x86_64           11.5.0-5.el9_5                     ubi-9-appstream-rpms            11 M
     elfutils-debuginfod-client           x86_64           0.192-6.el9_6                      ubi-9-baseos-rpms               46 k
     glibc-devel                          x86_64           2.34-168.el9_6.20                  ubi-9-appstream-rpms            35 k
     glibc-headers                        x86_64           2.34-168.el9_6.20                  ubi-9-appstream-rpms           541 k
     kernel-headers                       x86_64           5.14.0-570.30.1.el9_6              ubi-9-appstream-rpms           3.5 M
     libmpc                               x86_64           1.2.1-4.el9                        ubi-9-appstream-rpms            65 k
     libpkgconf                           x86_64           1.7.3-10.el9                       ubi-9-baseos-rpms               37 k
     libxcrypt-devel                      x86_64           4.4.18-3.el9                       ubi-9-appstream-rpms            32 k
     make                                 x86_64           1:4.3-8.el9                        ubi-9-baseos-rpms              541 k
     pkgconf                              x86_64           1.7.3-10.el9                       ubi-9-baseos-rpms               45 k
     pkgconf-m4                           noarch           1.7.3-10.el9                       ubi-9-baseos-rpms               16 k
     pkgconf-pkg-config                   x86_64           1.7.3-10.el9                       ubi-9-baseos-rpms               12 k

     

    svn-1.7.14 기준 필수설치유틸 준비
    
    #subversion-1.7.14.tar.gz
    #apr-1.5.2.tar.gz
    #apr-util-1.5.4.tar.gz
    #sqlite-autoconf-3070603.tar.gz

     

    subversion-1.7.14.tar.gz
    7.88MB
    apr-1.5.2.tar.gz
    0.98MB
    apr-util-1.5.4.tar.gz
    0.83MB
    sqlite-autoconf-3070603.tar.gz
    1.64MB

     

     

    #필수프로그램 설치
    #svn 설치 경로 `$SVN_HOME=/sw/svn` 지정
    
    [root@]$ cd /sw/svn/install-set
    [root@]$ tar xvfz subversion-1.7.14.tar.gz
    [root@]$ tar xvfz apr-1.5.2.tar.gz
    [root@]$ tar xvfz apr-util-1.5.4.tar.gz
    [root@]$ tar xvfz sqlite-autoconf-3070603.tar.gz

     

    #필수패키지 apr 설치
    #설치명령어 실행
    [root@]$ cd $SVN_HOME/install-set/apr-1.5.2
    [root@]$ configure --prefix=/sw/svn/srclib/apr
    
    [root@]$ make
    [root@]$ make install
    [root@]$ make clean

     

     

    #필수패키지 apr-util 설치
    #설치명령어 실행
    [root@]$ cd $SVN_HOME/install-set/apr-util-1.5.4
    [root@]$ ./configure --prefix=/sw/svn/srclib/apr-util \
    			--with-apr=/sw/svn/srclib/apr
    
    [root@]$ make
    [root@]$ make install
    [root@]$ make clean

     

    #필수패키지 sqlite 설치
    #sqlite와 svn은 명령어 하나로 같이 설치할 수 있음
    [root@]$ cd $SVN_HOME/install-set/sqlite-autoconf-3070603
    [root@]$ mkdir /sw/svn/install-set/subversion-1.7.14/sqlite-amalgamation
    [root@]$ cp sqlite3.c /sw/svn/install-set/subversion-1.7.14/sqlite-amalgamation

     

    #SVN 설치
    [root@]$ cd $SVN_HOME/install-set/subversion-1.7.14
    [root@]$ ./configure --prefix=/svn/svn 
    			--with-apr=/svn/apr 
    			--with-apr-util=/svn/apr-util 
    			--with-zlib=/svn/zlib 
    			--without-berkeley-db
    
    [root@]$ make
    [root@]$ make install
    [root@]$ make clean

    SVN 설정

    #저장소 디렉토리 생성
    [root@]$ mkdir $SVN_HOME/repos
    
    #저장소 등록
    [root@]$ cd $SVN_HOME/bin
    [root@]$ ./svnadmin create /sw/svn/repos/dev

     

    #계정 추가/수정
    #ID = PASSWD 형식으로 입력
    [root@]$ vi $SVN_HOME/repos/dev/conf/passwd

     

    #권한 설정
    [root@]$ vi $SVN_HOME/repos/dev/conf/svnserve.conf
    
    #옵션 추가
    anon-access = none
    auth-access = write
    password-db = passwd
    realm = 설명

    SVN 기동

    #Subversion 기동
    [root@]$ cd $SVN_HOME/bin
    [root@]$ ./svnserve -d -r /svn/repos/dev --listen-port 포트번호

     

    #기동확인
    [root@]$ ps -ef | grep svnserve

    728x90
    반응형

    댓글