젠투에서 Subversion 설치하고 윈도에서 사용하기..

tinywolf의 이미지

크아... 정말 삽질의 하루였습니다..
Subversion.. 설치도 쉽고 사용도 쉬운 아주 좋은 도구더군요.. 만족입니다.
svn+ssh하는 부분에서 삽질을 좀 많이 했습니다.. 휴우..
오늘 결과물을 여기에 기록해 두려 합니다..

우선 젠투에 Subversion을 설치합니다. (실험은 2005.0에서 수행되었습니다.)
websvn은 웹으로 subversion의 내용을 볼 수 있게 하는 것인데..
설치후 나오는 메세지대로 생성시켜주면 됩니다.

# USE="apache2" emerge subversion
# ACCEPT_KEYWORDS="~x86" USE="enscript vhosts" emerge websvn
# webapp-config -I -h localhost -d websvn websvn 1.61

기본적인 저장소를 생성합니다. (/home아래에 두기로 했습니다. 이름은 test입니다.)
소유권을 변경하는 이유는 설정이 기본으로 apache 계정으로 접근할 수 있게 되어 있기 때문입니다.
(기본 설정은 왠만하면 안고치는게 심적 안정을 찾을 수 있을 것같아서..)
# svnadmin create /home/svn/test
# chown -R apache:apache /home/svn

websvn에도 저장소를 등록시켜 줍니다.
설정파일에는 표시 언어에 대한 내용도 있는데 한글도 있습니다! (기쁘다!)
# nano -w /var/www/localhost/htdocs/websvn/include/config.inc
  - 다음과 같은 줄을 찾아서 주석을 해제 시키고 내용을 바꿔줍니다. -
$config->addRepository("test","/home/svn/test");

일단 웹브라우져로 제대로 나오는지 확인해 볼까요..
http://localhost/websvn
자신의 웹환경에 맞도록 vhosts를 구성해도 좋구요..
템플릿에 대한 내용도 있는 것으로 봐서 보기 좋게 내용을 바꾸는 것도 쉬울 것같습니다.
인증과 같은 여러가지 추가적인 설정은 아파치 하기 나름입니다. (실험은 apache2에서 수행되었습니다.)

자 이제 윈도로 돌아옵니다.
TortoiseSVN을 설치합니다.
http://tortoisesvn.tigris.org/download.html
이 곳에서 한글 언어팩도 다운로드 받을 수 있습니다.
http://tortoisesvn.berlios.de/l10n

윈도우 탐색기의 아무 곳에서나 오른쪽 클릭하고 "TortoiseSVN"->"Settings(설정)"을 선택합니다.
"Network"탭에서 "SSH"설정을 바꿔줘야 원하는 계정으로 svn+ssh를 사용할 수 있습니다.
(요기서 엄청난 삽질을 했습니다.. 뭘 어떻게 해도 "Connection closed unexpectedly"만 메세지만 잔뜩.. ㅠㅁㅠ)
"SSH"항목에 다음과 같은 내용을 자신의 환경에 맞도록 입력합니다.
"D:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l 계정 -pw 암호
-pw 암호 옵션은 안 줄 경우 매번 접속시 입력해야 합니다.
그리고 계정과 암호는 반드시 subversion이 설치된 리눅스 머신에 있는 계정이어야 합니다.
사실 svn+ssh라는 것이 ssh로 터널링하는 것이라 ssh로 접속할 수 있는 계정이라고 하는 것이 맞을 것같습니다.

자 이제 설정을 테스트하기 위해 저장소를 브라우징해 보겠습니다.
역시 윈도우 탐색기의 아무 곳에서나 오른쪽 클릭하고 "TortoiseSVN"->"Repo-Browser(저장소 브라우저)"를 선택합니다.
그러면 URL을 물어오는데 여기서 다음과 같이 subversion이 설치된 머신의 경로를 줍니다.
svn+ssh://192.168.100.10/home/svn/test
그러면 폴더뷰어와 같은 형태가 나타납니다.
가장 하단의 "test"를 오른쪽 클릭해서 "새로 고침"을 하면 기존의 내용이 나오게 됩니다.

그러면 작동을 시험하기 위해 새 폴더를 한번 만들어 보겠습니다.
test라는 폴더에서 오른쪽 클릭하고 "폴더 생성"을 선택합니다.
대충 폴더의 이름을 적어주고 로그 정보는 옵션으로 주고 확인을 하면 폴더가 추가됩니다.
(물론 -pw옵션이 빠져있다면 위의 모든 행동들에서 암호를 물어옵니다.)

아쉽게도 svn+ssh모드에서는 루트 위치를 지정해 줄수가 없기때문에 모든 경로를 다 적어야 합니다. (/home/svn같은..)
보안 터널이 필요없다면 정말 쉽게 svnserve를 사용하는 방법이 있습니다. (젠투에선 init.d에 데몬으로 제공됩니다.. 정말 좋다..)
빠르고 기본 루트 위치도 정할 수 있고.. 따로 관리되는 passwd파일을 통한 인증도 할 수 있습니다.
너무도 간단하기 때문에 생략하겠습니다.

참고한 문서는 KLDP 위키에 있는 문서입니다.
http://wiki.kldp.org/wiki.php/SubversionBookRemake

File attachments: 
첨부파일 크기
Image icon keygen.gif13.25 KB
Forums: 
익명 사용자의 이미지

다 좋은데 한글사용에 조금 문제가 있더군요. 빨리 버그픽스들 되었으면...

정태영의 이미지

tinywolf wrote:
"D:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l 계정 -pw 암호
-pw 암호 옵션은 안 줄 경우 매번 접속시 입력해야 합니다.
그리고 계정과 암호는 반드시 subversion이 설치된 리눅스 머신에 있는 계정이어야 합니다.
사실 svn+ssh라는 것이 ssh로 터널링하는 것이라 ssh로 접속할 수 있는 계정이라고 하는 것이 맞을 것같습니다.

비밀번호를 저렇게 저장하는건 별로 좋지 않은 방법일 듯 싶습니다 :)

매번 비밀번호를 치는 건 너무나도 귀찮기 때문에...
rsa key pair 를 만들어서 키를 등록하는 방법을 찾아봤는데.. 그다지 어렵지 않군요

우선 putty 사이트에서 puttygen, Pageant 를 받습니다...
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

puttygen 은 rsa 혹은 dsa 공개키/비밀키 쌍을 만들어주는 프로그램이고... pageant 는... 키를 관리(?)해주는 프로그램입니다..

puttygen 에서 generate 를 누르고 Key comment 를 보기 편한대로 고쳐준 뒤 위쪽에 Public key 어쩌구저쩌구에 있는 내용을 접속하려는 서버계정의 .ssh/authorized_keys 파일에 적어주면 됩니다...

뭐 하튼 관련 내용은 아래 링크를 참고합시다...
http://www-128.ibm.com/developerworks/kr/linux/library/l-keyc.html
http://www-128.ibm.com/developerworks/kr/linux/library/l-keyc2/

저렇게 해서 키를 만들고... 서버의 authorized_keys/클라이언트의 pageant 에 키를 등록해놓으면 putty 나 tortois svn 의 ssh+svn 프로토콜을 사용할 때 비밀번호를 물어보지 않습니다 :)

tortois svn 의 기본 ssh 클라이언트 plink 가 putty 쪽에서 가져온 것이기 때문에 저것만으로 다 된다는군요

(ssh-keygen 에서 비밀번호를 세팅해두었다면 첨에 한 번은 물어볼 듯 하군요... 관련해서는 아직 안해봐서 다시 시도를 해보고 다시 포스팅을 =3=33)

첨부파일을 보시고 제가 ssh 로 접속하기를 원하시는 분들은 +_+!! 저 키를 첨부해주시면 =3=33

댓글 첨부 파일: 
첨부파일 크기
Image icon 0바이트

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

정태영의 이미지

아래 글과 합치고 삭제할려고 봤더니 삭제가 안되는군요 :)
삭제가 안되는 김에...

다니엘 로빈스가 ibm 에 쓴 글 part 2 와 관련해서...
현재의 젠투에서 keychain 을 emerge 하고 ~/.bash_profile 에 keychain myrsakey 를 넣어두더라도 ~/.ssh-agent 란 파일은 생기지 않습니다...

대신 ~/.keychain/ 안에 파일들이 생기더군요 ... 잘 안보고 그냥 대강대강 하다가 삽질을 좀 해서;;;

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

정태영의 이미지

아래와 같은 방법으로 키를 바로 로딩하게 할 수 있습니다...
키에 비밀번호를 걸어놓았을 경우 pageant 가 실행될 때 한 번 비밀번호를 쳐줘야 하는군요 :)

Quote:
9.3.1 Making Pageant automatically load keys on startup

Pageant can automatically load one or more private keys when it starts up, if you provide them on the Pageant command line. Your command line might then look like:

C:\PuTTY\pageant.exe d:\main.ppk d:\secondary.ppk

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

익명 사용자의 이미지

tinywolf wrote:
크아... 정말 삽질의 하루였습니다..
Subversion.. 설치도 쉽고 사용도 쉬운 아주 좋은 도구더군요.. 만족입니다.
svn+ssh하는 부분에서 삽질을 좀 많이 했습니다.. 휴우..
오늘 결과물을 여기에 기록해 두려 합니다..

우선 젠투에 Subversion을 설치합니다. (실험은 2005.0에서 수행되었습니다.)
websvn은 웹으로 subversion의 내용을 볼 수 있게 하는 것인데..
설치후 나오는 메세지대로 생성시켜주면 됩니다.

# USE="apache2" emerge subversion
# ACCEPT_KEYWORDS="~x86" USE="enscript vhosts" emerge websvn
# webapp-config -I -h localhost -d websvn websvn 1.61

기본적인 저장소를 생성합니다. (/home아래에 두기로 했습니다. 이름은 test입니다.)
소유권을 변경하는 이유는 설정이 기본으로 apache 계정으로 접근할 수 있게 되어 있기 때문입니다.
(기본 설정은 왠만하면 안고치는게 심적 안정을 찾을 수 있을 것같아서..)
# svnadmin create /home/svn/test
# chown -R apache:apache /home/svn

websvn에도 저장소를 등록시켜 줍니다.
설정파일에는 표시 언어에 대한 내용도 있는데 한글도 있습니다! (기쁘다!)
# nano -w /var/www/localhost/htdocs/websvn/include/config.inc
  - 다음과 같은 줄을 찾아서 주석을 해제 시키고 내용을 바꿔줍니다. -
$config->addRepository("test","/home/svn/test");

일단 웹브라우져로 제대로 나오는지 확인해 볼까요..
http://localhost/websvn
자신의 웹환경에 맞도록 vhosts를 구성해도 좋구요..
템플릿에 대한 내용도 있는 것으로 봐서 보기 좋게 내용을 바꾸는 것도 쉬울 것같습니다.
인증과 같은 여러가지 추가적인 설정은 아파치 하기 나름입니다. (실험은 apache2에서 수행되었습니다.)

자 이제 윈도로 돌아옵니다.
TortoiseSVN을 설치합니다.
http://tortoisesvn.tigris.org/download.html
이 곳에서 한글 언어팩도 다운로드 받을 수 있습니다.
http://tortoisesvn.berlios.de/l10n

윈도우 탐색기의 아무 곳에서나 오른쪽 클릭하고 "TortoiseSVN"->"Settings(설정)"을 선택합니다.
"Network"탭에서 "SSH"설정을 바꿔줘야 원하는 계정으로 svn+ssh를 사용할 수 있습니다.
(요기서 엄청난 삽질을 했습니다.. 뭘 어떻게 해도 "Connection closed unexpectedly"만 메세지만 잔뜩.. ㅠㅁㅠ)
"SSH"항목에 다음과 같은 내용을 자신의 환경에 맞도록 입력합니다.
"D:\Program Files\TortoiseSVN\bin\TortoisePlink.exe" -l 계정 -pw 암호
-pw 암호 옵션은 안 줄 경우 매번 접속시 입력해야 합니다.
그리고 계정과 암호는 반드시 subversion이 설치된 리눅스 머신에 있는 계정이어야 합니다.
사실 svn+ssh라는 것이 ssh로 터널링하는 것이라 ssh로 접속할 수 있는 계정이라고 하는 것이 맞을 것같습니다.

자 이제 설정을 테스트하기 위해 저장소를 브라우징해 보겠습니다.
역시 윈도우 탐색기의 아무 곳에서나 오른쪽 클릭하고 "TortoiseSVN"->"Repo-Browser(저장소 브라우저)"를 선택합니다.
그러면 URL을 물어오는데 여기서 다음과 같이 subversion이 설치된 머신의 경로를 줍니다.
svn+ssh://192.168.100.10/home/svn/test
그러면 폴더뷰어와 같은 형태가 나타납니다.
가장 하단의 "test"를 오른쪽 클릭해서 "새로 고침"을 하면 기존의 내용이 나오게 됩니다.

그러면 작동을 시험하기 위해 새 폴더를 한번 만들어 보겠습니다.
test라는 폴더에서 오른쪽 클릭하고 "폴더 생성"을 선택합니다.
대충 폴더의 이름을 적어주고 로그 정보는 옵션으로 주고 확인을 하면 폴더가 추가됩니다.
(물론 -pw옵션이 빠져있다면 위의 모든 행동들에서 암호를 물어옵니다.)

아쉽게도 svn+ssh모드에서는 루트 위치를 지정해 줄수가 없기때문에 모든 경로를 다 적어야 합니다. (/home/svn같은..)
보안 터널이 필요없다면 정말 쉽게 svnserve를 사용하는 방법이 있습니다. (젠투에선 init.d에 데몬으로 제공됩니다.. 정말 좋다..)
빠르고 기본 루트 위치도 정할 수 있고.. 따로 관리되는 passwd파일을 통한 인증도 할 수 있습니다.
너무도 간단하기 때문에 생략하겠습니다.

참고한 문서는 KLDP 위키에 있는 문서입니다.
http://wiki.kldp.org/wiki.php/SubversionBookRemake

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.