프밍일기

리눅스 SVN 설치 및 설정 본문

Server

리눅스 SVN 설치 및 설정

스에조theLED 2018. 9. 30. 18:42

윈도우에서 VisualSVN Server를 이용하여 간단하게 잘 쓰고 있었는데, 스맛폰을 서버로 좀 써먹을려다보니 어쩔수 없이 리눅스 환경에서 세팅을 하게 되어 기록해 본다.(간단히 써먹기엔 윈도우 환경이 참 편한거 같다...)


■ 작업환경

    - Ubuntu 16.04 LTS


■ SVN 서버 설치

    - SVN 서버를 설치한다.

root@localhost:~# apt-get install subversion


■ SVN용 OS 계정 추가

    - SVN 관리용 계정을 추가한다.

    - adduser 명령은 동일한 이름의 그룹을 자동 생성하며, 패스워드도 같이 설정한다. 그외의 항목은 옵션이므로 입력하지 않아도 무방하다.

root@localhost:~# adduser svn

Adding user `svn' ...
Adding new group `svn' (1025) ...
Adding new user `svn' (1025) with group `svn' ...
Creating home directory `/home/svn' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for svn
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y


■ SVN 저장소 생성

    - 소스를 저장할 저장소의 경로를 지정한다.

    - 아래와 같이 설정하면 /home/svn/repository 경로에 저장소 관리를 위한 기본 파일들이 생성된다.

svn@localhost:~$ svnadmin create --fs-type fsfs /home/svn/repository


■ SVN 설정

    - SVN 관리를 위한 기본 설정을 변경한다.

    - 주석으로 막혀있는 아래 세 항목을 주석을 풀고 anon-access 항목은 "none"(익명사용자 접근불가) 으로 변경한다.

svn@localhost:~$ vi /home/svn/repository/conf/svnserve.conf

# 익명 사용자 권한
anon-access = none

# 인증 사용자 권한
auth-access = write

# 패스워드 설정 파일
password-db = passwd


■ SVN 사용자 추가 및 패스워드 설정

    - SVN의 사용자를 추가하고 패스워드를 설정한다.

svn@localhost:~$ vi /home/svn/repository/conf/passwd

[users]
dev01 = password


■ SVN 서버 서비스 시작

    - 서비스를 기동시킨다.

root@localhost:~# svnserve -d -r /home/svn/repository


■ 서비스 기동후 서비스 실행여부 및 사용포트 확인

root@localhost:~# ps -aux | grep svnserve
root     12222  0.0  0.0   8760  1176 ?        Ss   15:22   0:00 /usr/bin/svnserve -d -r /home/svn/

root@localhost:~# netstat -ant | grep 3690
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN


■ 패스워드 암호화여부 설정

    ※ .subversion 디렉토리는 바로 밑의 "svn mkdir svn://localhost:3690/repository/trunk" 명령어를 한번 실행한후 생성된다.

root@localhost:~# vi /root/.subversion/servers

store-plaintext-passwords : yes


■ SVN 기본 디렉토리 생성

    - 아래 명령들 실행 직후 에디터가 뜨면 그냥 빠져나온후 (c)ontinue 선택하여 반영

root@localhost:~# svn mkdir --parents svn://localhost:3690/repository/trunk

root@localhost:~# svn mkdir --parents svn://localhost:3690/repository/stage

root@localhost:~# svn mkdir --parents svn://localhost:3690/repository/branches


■ 기본 디렉토리 생성 확인

root@localhost:~# svn list svn://localhost:3690/repository

branches/
stage/
trunk/


■ (Check-in) 이클립스에서 프로젝트 생성후 Share

[ 프로젝트 Share ]



[ Create a new repository location... ]



[ 프로젝트 부모경로 및 계정 입력 ]



[ 프로젝트 경로에 프로젝트명 입력 및 저장 ]



■ SVN 서버에서 프로젝트 추가여부 확인

root@localhost:~# svn list svn://localhost:3690/repository/trunk

SampleCodeWeb/
TestSample/


■ (Check-out) 공유된 프로젝트를 이클립스에서 다운로드

[ Project From SVN... ]



[ 프로젝트가 저장된 URL 선택 ]



[ 체크아웃할 프로젝트 선택 ]



[ 체크아웃 옵션 선택 ]



[ 프로젝트 체크아웃 확인 ]



 SVN 서버에서 프로젝트 삭제

    - 아래 명령 실행 직후 에디터가 뜨면 그냥 빠져나온후 (c)ontinue 선택하여 반영

root@localhost:~# svn remove svn://localhost:3690/repository/trunk/<프로젝트명>


 SVN 서비스 종료

root@localhost:~# pkill -x svnserve


 리눅스 서버 Rebooting 시 SVN 서비스 실행

    - 쉘스크립트 파일 다운로드 : svnserve.txt

    - /etc/init.d 로 이동하여 svnserve 라는 파일을 생성하고 위의 텍스트파일의 내용을 복사

    - DAEMON_ARGS="-d -r /home/svn/" 내용중 뒤쪽 경로는 실제에 맞게 변경 후 저장

    - update-rc.d svnserve defaults 명령 실행하면 해당 스크립트가 리눅스 부팅시 실행됨




'Server' 카테고리의 다른 글

Git 기반 개발환경 구축  (0) 2019.05.25
MariaDB 윈도우 Command 환경에서 설치  (0) 2017.10.05
Apache 와 Tomcat 연동  (0) 2017.10.05
Comments