본문 바로가기
TechNical/Unix

Solaris에 Subversion 설치하고 repository 설정하고 거북이로 연결하기

by 강멍멍이 2011. 11. 23.
반응형

unix에 subversion을 설치 할 일이 있어서 이래저래 찾아 봤는데
리눅스에 까는 방법은 이래저래 있는거 같은데 이상하게도 solaris에 설치 하는 방법은 잘 나와 있는게 없더라.
개삽질 해 가면서 깔았는데 혹시나 불특정 다수에게 도움이 될까 싶어서 포스팅질.

subversion에 대한 설명은 생략한다.

0. OS환경은 sun solaris 5.8 버전이다.

1. 일단 관련 패키지를 다운 받자.
관련 패키지 다운로드
http://kde.mirrors.tds.net/pub/sunfreeware/sparc/5.8/

여기서 얘네들을 찾아서 다운 받자.
apache-2.2.6-sol8-sparc-local.gz
openssl-0.9.8h-sol8-sparc-local.gz
neon-0.25.5-sol8-sparc-local.gz
subversion-1.4.5-sol8-sparc-local.gz

이하 root 계정으로 작업을 진행했다.

2. openssl 설치
압축 풀고
> gzip -d openssl-0.9.8h-sol8-sparc-local.gz

패키지 설치
> pkgadd -d openssl-0.9.8h-sol8-sparc-local

all 해서 다 설치 하자.

3. apache 설치
> gzip -d apache-2.2.6-sol8-sparc-local.gz

> pkgadd -d apache-2.2.6-sol8-sparc-local

4. neon 설치
얘는 subversion 설치하고 구동하는데는 지장이 없는데 svn 실행할때 라이브러리 없다고 땍땍거리는 경우가 있다.
일단 3번까지 설치 해서 svn 명령어 때려 보고 안 되면 그때 패키지 설치해도 된다.
> gzip -d neon-0.25.5-sol8-sparc-local.gz

> pkgadd -d neon-0.25.5-sol8-sparc-local

이걸 설치 안 할 경우 svn실행시 이런 에러를 만날 수도 있다.
ld.so.1: svn: 치명적: libneon.so.25: 열기 실패: 해당 파일이나 디렉토리가 없음

5. subversion 1.4.5 설치
> gzip -d subversion-1.4.5-sol8-sparc-local.gz

> pkgadd -d subversion-1.4.5-sol8-sparc-local

6. 설치 확인
> svnadmin help

이런 오류를 만났다면..??
ld.so.1: svnadmin: 치명적: libexpat.so.0: 열기 실패: 해당 파일이나 디렉토리가 없음

라이브러리가 없다는 거다. 멍멍씨는 neon을 설치하기 전에 이런게 일어나서 neon 설치하면 없어질지도 모르겠지만....

일단 해당 시스템에 라이브러리가 있나 찾아보자.
> find . -name libexpat.so.0

있다면 복사해 온다.
이 넘이 심볼릭 링크 이름이 저거다 원본을 복사해 오자. 안 하고 심볼릭 링크만 해줘도 되겠지만.. 난 그냥 그랬어.
> cp libexpat.so.0.5.0 /usr/local/lib

해당 디렉토리에서 심볼릭 링크를 생성한다.
/usr/local/lib> ln -s libexpat.so.0.5.0 libexpat.so.0

그러면 성공한다. 만약 저 파일이 없다면... 다른 서버 뒤져서 있으면 복사해서 가따 쓰자.
그래도 진짜 없으면....... 댓글 냄겨주면 파일 보내 주겠음.

성공하면 이런걸 볼 수 있다.

/usr/local/bin> svnadmin help
    general usage: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
    Type 'svnadmin help <subcommand>' for help on a specific subcommand.
    Type 'svnadmin --version' to see the program version and FS modules.
   
    Available subcommands:
       crashtest
       create
       deltify
       dump
       help (?, h)
       hotcopy
       list-dblogs
       list-unused-dblogs
       load
       lslocks
       lstxns
       recover
       rmlocks
       rmtxns
       setlog
       verify

7. 저장소 생성
일단 svn 홈으로 사용할 적당한 디렉토리를 만든다.
그리고 저장소를 생성하자.

svnhome> svnadmin create --fs-type fsfs repository

그러면 끝에 명시한 이름으로 디렉토리가 생성되어 있을 꺼다.
그 넘 권한을 바꿔주자.

svnhome> chmod -R g+w repository

svnhome> chown -R nobody repository

svnhome> chgrp -R nobody repository

conf 디렉토리로 이동해서 설정을 해 주자.
이 설정은 방금 생성한 저장소에 대한 설정이다.

svnhome/repository/conf> vi svnserve.conf

파일을 까 보면 이 부분 주석을 풀어주자.
anon-access = read
auth-access = write
    
password-db = passwd

접속할 계정을 만들어 주자.
svnhome/repository/conf> vi passwd

파일을 열어서 계정을 적어주면 된다. 샘플로 해리랑 샐리가 있네.
[users]
# harry = harryssecret
# sally = sallyssecret
svnid = svnpwd

여기서 설정한 계정은 os계정이 아니다. os에서 계정을 따로 만들 필요도 없다. svn에서 사용할 계정이다.

8. SVN서버 실행
아까 저장소를 생성한 경로를 써 주면 된다.
> svnserve -d -r svnhome/repository

혹시나 PATH에 지정이 안 되어 있다면.. svn명령어가 있는 경로까지 쳐서 실행을 해 주자.
PATH에 지정을 해 주던가 ㅋ

9. 저장소 생성
생성한 SVN 서버에서 작업할 디렉토리를 만들자.
> svn mkdir svn://localhost/repository
이거 실행하고 wq를 해서 저장하면 root 패스워들 넣고 아까전에 passwd에서 설정한 계정과 패스워드를 넣어야 한다.

여기까지 하면 svn으로 작업을 할 수 있는 환경 설정이 완료 된거다.
거북이로 붙어서 파일을 추가 할 수 있고 내려 받을 수도 있다.
하지만 빈 깡통밖에 없어서 차곡차곡 채워 넣어야 한다.

10. 기존 파일 추가
기존에 생성되어 있던 파일들을 svn으로 관리해 보자.
추가할 파일이 있는 디렉토리로 이동 한다.
그리고 레파지토리를 체크아웃 한다.
체크 아웃을 하면 저장소를 쓸 수 있는 상태로 만드는 것이다.
그리고 해당 디렉토리 하위의 모든 디렉토리를 저장소에 추가한다.

source_directory> svn add ./*

파일 추가가 완료 되면 커밋을 한다.

source_directory> svn commit

Log message unchanged or not specified
    a)bort, c)ontinue, e)dit
    c

이러면 파일이 주르르르르르륵 추가가 된다. 후다다닥 되진 않는다. 시간이 좀 걸린다.

11. Tortoise 설치
이제 다 됐으니 클라이언트에서 거북이로 설치를 해 보자.
아래에 가면 거북이를 다운 받을 수 있다.
http://sourceforge.net/projects/tortoisesvn/files/1.7.1/Application/TortoiseSVN-1.7.1.22161-win32-svn-1.7.1.msi/download  

적당한 폴더를 만들고 우클릭하고 SVN Checkout 하면 창이 하나 뜬다.
저장소 URL옆에 보면 .. 이 표시 눌러서 하는게 좋다. URL은 아래와 같이
svn://xxx.xxx.xxx.xxx
이렇게 서버IP를 넣고 하면 아까전에 만들었던 서버의 저장소에 접속이 된다.
아이디와 비밀번호는 passwd에서 만들었던 계정을 넣으면 된다.


몇 시간에 걸쳐서 삽질 한 내용이다. 꽤나 유익했으면 좋겠다~~
반응형

댓글