본문 바로가기

데비안 리눅스 설치 가이드/APM

[APM] 데비안 웹서버 구축 3부 - SVN (Subversion) 설치 및 설정

반응형

소개


이제 웹서비스를 하기 위해 HTML, PHP, JAVASCRIPT, J-QUERY, J-QUERY UI 등등... 열심히 코드를 짜서 /home/server/web에 넣어두면 Apache2가 열심히 접속하는 유저에게 페이지를 전달하여 브라우저를 통해 보여줄 것이다.

이제 열심히 코드를 짜는 것은 당신의 몫이지만 코드 관리를 좀더 편하게 하기 위해 SVN을 설치하도록 한다.



SVN 설치



1. SVN을 설치한다.

apt-get install subversion



2. 디렉토리를 만든다.

HTML, PHP등 코드 작업을 한 파일을 저장하기 위한 디렉토리를 만들어야 한다.

cd /home/server

mkdir -p svn/repository


svn의 디렉토리는 어떤 역할을 하는 디렉토리인지 알기위해 만든 것 뿐이고, 실제적인 저장의 위치는 repository가 할 것이다.

repository내에 디렉토리를 만들어야 하는데 만드는 디렉토리 이름은 프로젝트 단위로 하는 것이 좋다.

여기서는 웹서비스를 만드는 것이기 때문에 프로젝트 이름을 web이라고 하고 진행하도록 한다.


프로젝트 단위로 디렉토리를 생성하려면 svnadmin을 통하여서 만들어야 한다.

cd /home/server/svn/repository

svnadmin create web


새롭게 만든 svn 디렉토리인 web에 들어가면 아래와 같은 파일과 디렉토리가 존재하게 된다.

README.TXT

conf

db

format

hooks

locks



3. 프로젝트 유저 권한 설정

이제 web 프로젝트에 접근하기 위해 접속과, 아이디 등을 설정해 줘야 한다.

위에 나열했던 디렉토리중 conf 안에 passwd와 svnserve.conf파일이 있다.

우선 svnserve.conf파일을 연다.

vi svnserve.conf


주석처리된 부분이 많은 텐데 여기서 3가지만 고치도록 한다. 주석을 제거할때 #만 지우지 말고 #뒤의 공백도 지우도록 한다. 안지우면 에러가 생긴다. =사이의 공백은 상관없다.

anon-access = none    // 계정 없으면 접근 불가

auth-access = write     // 인증된 계정만 쓰기 가능

password-db = passwd    


이제 password-db = passwd의 주석을 풀었으므로 아이디를 설정 할 수 있다.

conf디렉토리에 있던 passwd를 열어서 아이디와 비밀번호를 설정한다. 이미 예시가 주석으로 처리되 있으니 주석 아래에 추가하면 된다. 예시로 아이디를 id, 비밀번호를passwd라고 적었다.

 id=passwd



4. SVN 데몬 실행

정상적으로 만들어 졌으므로 repository 디렉토리를 서비스에 올려서 외부에서 접속이 가능하도록 만들자. (-d는 데몬, -r은 하위 서비스 제공할 루트 디렉토리 지정이다.)

svnserve -d -r /home/server/svn/repository


만약, 위치를 잘못 선정해서 다시 svnserver 명령어를 통해 서비스를 올리려고 하면 이미 소켓이 사용중이라고 하니 ps -aux|grep svn 명령어를 통해 pid값을 알아보고 kill 명령어로 죽인다음 다시 svnserver명령어를 통해 서비스를 실행하도록 한다.


서비스가 제대로 되는지 확인하기 위해 아래처럼 자신이 만든 프로젝명을 자신의 host 뒤에 붙여 확인한다.

svn co svn://127.0.0.1/web
OR
svn checkout svn://127.0.0.1/web



5. 데몬 서비스 등록

리눅스 부팅시 svn이 실행되도록 하려면 리눅스 부팅시 실행되는 init.d 디렉토리 내에 아무 이름으로 파일을 만든다. 여기서는 svn으로 만들었다.

cd /etc/init.d

vi svn


svn 내에 아까 실행 시켰던 명령어 svnserve 명령어 전체를 넣고 저장하면 된다.

### BEGIN INIT INFO 

# Provides: automount 

# Required-Start: $remote_fs $syslog 

# Required-Stop: $remote_fs $syslog 

# Default-Start: 2 3 4 5 

# Default-Stop: 0 1 6 

# Short-Description: Start daemon at boot time 

# Description: Enable service provided by daemon. 

### END INIT INFO 

svnserve -d -r /home/server/svn/repository 


============ jhkim83님 추가 내용 ============

svn 파일을 보면 다른 파일과는 다르게 권한이 다르다.

권한을 바꿔주도록 한다.

chmod 755 svn

===============================================


이제 만든 값을 시작시 실행하도록 아래 명령어를 사용여 부팅시 시작되도록 등록한다.

update-rc.d  svn defaults

이제 재부팅을 해도 svn의 서버는 자동으로 실행된다.




이클립스와 연결


윈도우의 이클립스를 통해 작업한 코드를 리눅스 서버에 저장하려고 한다. 그래서 이클립스와 서버와 연결을 해야한다.

아래처럼 연결하면 쉽게 가능하다.


이클립스를 켜고 svn을 추가하도록 한다.(svn 플러그인은 알아서 설치하도록 한다.)

주소에 svn://자신의 서버주소/프로젝트명 으로 하여 추가하도록 한다. 추가할때 아이디와 비밀번호를 입력해야 하는데 위에 passwd에 적었던 id와 passwd를 넣으면 정상적으로 이용이 가능해 진다.


이제 svn을 통해 자신의 프로젝트를 진행하면 된다.



2013/03/17 - [컴퓨터/Debian] - [Debian] 웹서버 구축 1부 (Apache+PHP+MySQL) 설치 및 설정

2013/04/27 - [컴퓨터/Debian] - [Debian] 웹서버 구축 2부 (Smarty OR Template_) 설치 및 설정



반응형