태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

우분투에서 토렌트 머신환경 구축하기

Posted on 2009.05.18 22:40
Filed Under General tip

  • 이 글은 Jake에 의해 www.jakeworld.net 에서 작성되었습니다.

  • 퍼가실 때는 이 박스와 함께 복사해주세요.


요즘은 APM 구성이나 기타 데몬의 경우 워낙 패키징이 잘 되어있어서 거의 건드릴 필요도 없이 자동으로 설치되고 셋팅이 되는 편리한 리눅스 시대입니다.
X 윈도우 기반에서 작동하는 토렌트 클라이언트의 경우 굉장히 쉽게 설정할 수 있지만, 콘솔에서 작동하는 클라이언트의 경우 원격 접속/관리나 기타 환경 설정을 하기엔 정보가 크게 없습니다. (물론 한국어로 ^^;)
그래서 제가 서버를 구축할 때는 토렌트 머신 구축때문에 삽질을 워낙 많이 해서 우분투 서버를 몇번씩 깔다가 포기하고 우분투 데스크탑으로 넘어와서 X 위에서 기본으로 제공되는 Transmission 에 함께 제공되는 웹 토렌트를 사용하여 관리하였지만, 최근 IRC 에서 yo*** 님 덕분에 콘솔환경에서 Transmission 과 웹 토렌트, 그리고 Transmission 용 원격 관리 툴을 알게 되었는데, 덕택에 X 때문에 차지하던 많은 시스템 부하량을 해결하고 굉장히 쾌적한 서버환경으로 탈바꿈 되었습니다.

서버를 구축할 때 가장 애먹었던게 토렌트 머신 구축하기였던 지라,  콘솔 환경에서 토렌트 머신과 원격 관리를 할 수 있는 환경을 구축하는 방법에 대해 정보를 공유할 겸 포스팅 합니다. :)

대상 :
if ( (리눅스 건드려본적 없음 || 트랜스미션 건드려본적 없음) && 토렌트머신 구축하고 싶음 )
보세요();

1. 준비물

◆토렌트 머신용 컴퓨터
원격 관리에 사용될 컴퓨터
Ubuntu 9.04 Server - x86/x64 어떤 버전이든지 상관없습니다.
Putty - SSH 에 접속하기 위한 원격 터미널 툴입니다.  [다운로드]

선택사항) 원격 토렌트 관리 툴 - 둘중 하나 골라 쓰시면 됩니다.
◇Transmission-remote [링크]
◇Transmission-remote-gui  [링크]


2. 우분투 설치하기


User image


























(스크린샷을 찍기 위해 VMWARE 로 진행하였습니다.)

언어 설정을 먼저 한 후에 우분투 서버 설치를 선택합니다.

User image





























파티션 설정과 기타 자세한 부분에 대해 궁금한 점은 검색을 활용하시고,
설치 중 위 화면과 같이 나올 때 OpenSSH 를 선택후에 계속을 합니다.

User image























설치가 완료된 후 콘솔에 로그인 합니다.
우분투 경우 root 가 초반에 활성화 되어있지 않은데 전혀 상관없습니다.
활성화 시키는 방법은 간단하지만 보안상 추천하지 않으며, 정 원하시면 네이버 검색해보시면 자료가 많이 나올 겁니다.


3. SSH 접속

이 항목은 서버에서 직접 작업하셔도 되는 내용이지만 SSH 테스트 겸 서버로 부터 빨리 멀리 떨어지고 싶은 분들을 위해서 준비하였습니다. (-_-;;) 이제부터 서버는 인터넷만 연결시켜둔채 저 멀리 던져버리세요.

User image

























아, 아직은 서버 던지지 마시고... (벌써 던져버리셨으면 다시 주워오세요)
일단 로그인 후에 "ifconfig" 명령어를 입력 후 IP 를 확인하세요.
그리고 이제 정말 던져버리셔도 됩니다.

그리고 putty 를 실행후 (없으신 분은 위의 준비물 항목에서 받아주세요) 호스트 이름에 IP를,
포트는 그대로 두고 아래 SSH 를 체크합니다.

User image

그리고 다음과 같이 창->변환에 들어가면 문자셋 항목에 CP949 가 기본 설정인데 UTF-8 로 선택합니다.
다시 세션에 돌아오셔서 현재 세션을 저장하시면 다음 접속때 편하게 설정만 불러와서 로그인 하실 수 있습니다.


4. 설정

자 이제 본격적인 작업에 들어갑니다.
위의 세션으로 접속하면 원격 터미널에 접속하시게 됩니다.
서버에서와 같이 로그인을 하신 후 루트 권한을 얻도록 합시다.
우선 루트 권한을 얻기 위해 명령어는 다음과 같습니다.
sudo -i
입력 후 사용자 계정의 암호를 입력하시면 됩니다.

프롬프트에 root@ 라고 나오면 성공적으로 루트 권한을 얻은 상태입니다.
그다음 apt-get update 를 이용하여 설치/업데이트 가능한 패키지 목록을 업데이트 합시다.

User image



















업데이트가 끝났다면 위와 같이
apt-get install transmission-daemon
을 입력합니다.  만약 패키지를 찾지 못한다면 위의 패키지 목록 업데이트가 제대로 되지 않은 상태니 확인해주세요.

User image



















설치가 완료되면 이제 토렌트 데이터가 받아질 공간을 작성합니다.
저는 / 아래 data 라는 디렉토리를 생성하여 앞으로 이곳에 데이터가 받아지도록 설정할 것입니다.
(다른 경로로 설정하셔도 됩니다만 아래 트랜스미션 환경설정 파일 수정때도 그냥 따라오지 마시고 생성한 디렉토리로 지정해주셔야 합니다.)
그리고 화면에는 없지만 다음 명령어도 실행시켜주세요.
chmod 777 /data


User image



















위와 같이 입력하여 현재 백그라운드에 있는 transmission-daemon 데몬을 중지합니다.


이제 transmission 이 설치된 경로로 가서 환경설정 파일을 수정할 차례입니다.
vi settings.json
을 입력하시면 편집기 상태로 들어가게 되는데, vi 사용법이 초보자들에게는 조금 까다로운 편입니다. 
기본적인 조작은 편집모드 : "i" , 명령모드 : ":" 이며,
명령모드에서는 q 를 입력하시면 종료, wq 를 입력하시면 저장후 종료가 됩니다.

기타 자세한 사용법은 여러분의 친구 네이버를 적극 활용하시길 바라며, 이 포스팅에서 수정할 내용은 위의 키만 알고 계셔도 충분합니다.

User image



















vi 에 진입하시면 위와 같은 ... 이 아니라 죄송합니다. -_-;
저는 vim 을 설치한 상태라 vi 는 자동으로 vim 으로 실행되는데 화면상 크게 차이는 없습니다.
단지 조금 더 편리하다는 것 뿐.

하여튼 "download-dir" 항목을 먼저 수정합시다. 이 경로가 토렌트 데이터가 받아질 경로인데,
저는 먼저 /data 디렉토리를 생성하였기에 /data 를 지정하였습니다.
만약 다른 디렉토리를 생성하였다면 그 경로에 맞게 지정해주세요.

그리고 "encryption" 도 저는 1로 지정하였습니다만 이것은 차후 원격에서 조정 가능합니다.

이제 밑으로 주욱 내려 옵시다.

User image



















"rpc-authentication-required", "rpc-enabled" , "rpc-password" , "rpc-port" , "rpc-username" , "rpc-whitelist-enabled"
아래 부분의 이 6 항목을 수정하셔야 하는데 이 부분이 원격 접속에 관한 설정입니다.
rpc-authentication-required 는 1로 (만약 원격 접속시 인증을 원하지 않는다면 0으로 유지)
rpc-enabled 는 1로,
rpc-username 는 원격 접속시 사용할 ID, 그리고 rpc-password 에서 그에 대한 암호를 지정합니다.
rpc-port는 원격 접속때 사용할 포트
rpc-whitelist-enabled 는 0으로 지정합니다. 이것을 1로 지정할 경우 위 whitelist 에 지정된 IP 외에는 접속이 불가능 해집니다.

완료 되었으면 명령모드로 들어가서 wq 를 눌러 저장하고 빠져나옵니다.



지금부터는 기존 init.d 에 등록된 transmission-daemon 을 사용하지 않고, 위에서 설정한 설정파일을 이용하여 데몬을 띄우고 이를 자동으로 실행되도록 설정할 것입니다. init.d 에 등록된 transmission-daemon 이 참고하는 설정파일은 수정해도 원상태로 복구되더군요.


User image



















위와 같이 입력하여 transmission-daemon 에 대한 모든 것을 자동 실행 목록에서 삭제합니다.

User image



















그리고 프롬프트에
vi /etc/rc.local
를 입력하여 위와 같이 exit 0 위에 transmission-daemon 을 실행하도록 추가한 후,
명령모드에서 wq 를 입력하여 빠져나옵니다.

User image



















이제 transmission-daemon 을 시작합니다.

이것으로 환경설정은 끝났습니다.


5. 테스트


User image

























위와 같이 IE 나 파이어폭스에서 http://[IP]:[포트] 를 입력하여 접속합니다.
IP는 물론 서버의 IP이며, 포트Transmission-daemon 의 설정파일에 rpc-port 에 지정했던 포트입니다.
아마 아이디와 비밀번호를 물을 텐데, 역시 위의 설정파일에 지정했던 것 그대로 입력해주시면됩니다.
위와 같이 관리창이 뜬다면 성공적으로 셋팅 되었습니다. ^^


만약 원격 클라이언트 프로그램으로 관리하고 싶다면 위의 준비물항목에서 다운받습니다.
저는 Transmission-remote 를 사용하는데 아래와 같이 설정에서 Server 정보와 Authenticatino 정보를 입력하신 후 접속하시면 됩니다.
User image
User image
User image






















































이것으로 원격 토렌트 머신이 구축되었습니다. ^^
깔끔하게 서버를 한번 리부팅 시킨 후 다시 한번 접속해보세요.


6. 그 외

그리고 서버로 받은 토렌트를 데스크탑에 받아서 보려면 Samba 로 윈도우와 공유하던지, 아니면 FTP 를 이용해야 되는데요.  저는 vsftp 라는 FTP 데몬을 이용하는데 vsftp 를 설치하시려면, 루트권한을 획득한 상태에서
apt-get install vsftpd
를 입력하시면 패키지로 자동 설치가 되며, 환경 설정이 조금 복잡한데 웹에서 찾아보시면 자료가 많습니다.

아니면, 제가 사용하는 설정파일을 공개하니 서버 프롬프트에서 루트권한을 획득하신 후,
다음과 같이 차례로 입력합니다.
/etc/init.d/vsftpd stop
cd /etc
rm vsftpd.conf
wget http://www.jakeworld.net/attachment/cfile25.uf@181A310E4A97A4AA31D28F.conf
mv cfile25.uf@181A310E4A97A4AA31D28F.conf vsftpd.conf
echo " [리눅스 사용자 계정] " > vsftpd.chroot_list
/etc/init.d/vsftpd start

이렇게 하신 후 vsftpd 데몬 실행이 성공된 후, 파일질라나 웹으로 FTP 접속을 시도해봅니다.
이러면 기본적으로 리눅스 사용자 계정으로 FTP 를 통해 리눅스 전체 파일 시스템에 접근 가능합니다. (물론 퍼미션에 의거하여 ^^)

신고

댓글을 달아 주세요

  1. njs 2010.10.20 03:03 신고  댓글주소  수정/삭제  댓글쓰기

    오예~ 바로 이런걸 찾고 있었습니다. ㅠㅜ

    install transmission으로는 대몬이 설치 안되고 x윈도우쪽만 줄창 깔려서 ㅠㅜ 흑흑

  2. njs 2010.10.27 18:18 신고  댓글주소  수정/삭제  댓글쓰기

    제이크님 혹시 삼바서버로 공유하게 될때 수정 권한은 어떻게 설정하셨나요?

    삼바서버를 이용해서 윈도우로 접속했을때 파일을 삭제, 수정을 못하고있습니다. ㅠㅜ

    • JakeWorld 2010.11.10 00:04 신고  댓글주소  수정/삭제

      전 삼바설정을 리눅스 계정과 연동되도록 해놔서 윈도우에서 접근할때 아이디 암호 묻는 창이 나옵니다.
      삼바 서버 설정에 대해서는 검색해보면 많이 나올거고요. 익명접속은 막아놨습니다.

  3. 자손 2011.05.14 17:23 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 글 잘봤습니다. 덕분에 쉽게 설치했습니다. 뒷북일지도 모르겠지만, 중간에 트랜스미션 설정파일을 보존하기위해 init.d에 등록된 데몬 시작 스크립트를 빼고 rc.local에서 직접 데몬을 시작하도록 하셨는데, readme를 보니, 트랜스미션 데몬은 종료될때 데몬시작시 로드했던 설정사항들을 다시 파일에 기록하기때문에 덮어씌워진다고 하더군요. 그래서 설정사항을 다시 적용시킬때는 데몬을 껏다켜지말고 'invoke-rc.d transmission-daemon reload' 명령으로 설정사항만 리로드하면 덮어씌워지는 문제 없이 init.d에 등록시켜서 잘 쓸수있었습니다. 아무튼, 잘 정리하신덕분에 많은 참고가 됐습니다. 감사합니다.

  4. JakeWorld 2013.09.14 02:55 신고  댓글주소  수정/삭제  댓글쓰기

    이제서야 댓글들을 봤네요. init.d에 대한 내용 감사합니다. 당시에 원인을 이 글을 올린 직후에 파악이 된 상태였는데, 블로그 수정을 안해서 후폭풍이 여기저기 있네요. ㅎㅎ

    init.d 가 아닌 계정에 직접 셋팅을 한 이유가 또 하나 있었는데, 각 트래커 마다 관리되는 트랜스 미션의 시딩 파일의 위치와 모니터링, 시딩 관리를 따로 하기 위함이었습니다. 블로그 내용은 이런 경우에 따라와 주시면 될 것 같고, 특별히 다중 트래커의 시딩 관리를 하지 않는다면 init.d에 등록된 셋팅파일을 직접 설정해주는게 맞습니다.

About



모바일 페이지 QR 코드

Counter

· Total
: 466,357
· Today
: 49
· Yesterday
: 64


DNS server, DNS service