라즈베리파이의 특정 폴더에 torrent 파일 업로드 시, 서버에 토렌트 파일을 다운받도록 해보자.
설치
1
sudo apt-get install transmission-daemon
설정
설치 한 후에 자동으로 데몬이 실행되는데, 이를 중지시켜야 한다. 설정 파일을 건드려 줘야 하기 때문이다.
1 2 3
sudo service transmission-daemon stop cd /etc/transmission-daemon/ sudo vi settings.json
이제 설정 파일 settings.json을 수정해보자.
1 2 3 4 5 6 7 8 9 10 11
"download-dir": "다운로드될 디렉토리", # 이전에 오토마운트 시켰던 외장하드로 지정해도 좋다. "rpc-password": "원하는 비밀번호", # 자동으로 암호화되어 저장된다. "rpc-port": 9091, # 기본 포트 "rpc-username": "웹 접속 시 아이디", "rpc-whitelist-enabled": false, # 외부 등 모든 아이피에서 접근이 가능하게 만든다. "trash-original-torrent-files": true, # 다운로드 시작 시, 토렌트 파일은 자동 삭제
# 옵션 맨 마지막에 추가한다. # 토렌트 파일을 앞으로 업로드 할 폴더를 지정한다. "watch-dir":"토렌트파일을 업로드할 디렉토리", "watch-dir-enabled":true
실행 및 확인
그리고 이제 데몬을 시작해보자.
1
$ sudo service transmission-daemon start
그리고 http://해당아이피:9091에 웹에서 접속하여 테스트하자
인증 완료 시 토렌트 파일 다운로드 현황을 보여주는 화면이 등장한다.
옵션에서 주었던 watch-dir에 토렌트 파일을 올리면 자동으로 웹에서 실시간 확인이 가능하다. 진정한 파일서버 같은 느낌이 물씬 난다.
# Use this to jail all users in their homes DefaultRoot ~/external/fileserver
# 주석처리된 DefaultRoot 옵션을 활성화시킨 후 경로를 입력한다. # 이 때, 물결(~)은 접속한 사용자의 홈 디렉토리를 의미한다.
설정파일에서 DefaultRoot 만 수정 잘해도 특별히 문제가 될 것이 없다. 이 옵션은 일종의 보안을 위해 필요한 것인데, 나중에 이 서버를 주변 친구들이나 다른 사람에게 공개할 때 아무나 내 서버에 접속해서 중요한 파일을 헤집어놓고 다니면서 설정을 바꿔놓는다면 큰 문제가 생길 것이다.
그래서 보안을 위해서는 공개를 위한 디렉토리를 따로 만들어놓고 일반 사용자들은 그 제한된 디렉토리 안에서만 접근할 수 있도록 바꿔야 한다. 사용자의 홈 디렉토리에서 하위 폴더로 이동은 가능하지만 상위 폴더로는 이동이 불가능하다는 점을 활용한다.
위 설정 예시에서는 이전에 외장하드를 auto mount시킨(라즈베리파이 오토 마운트) 것이다.
gpg: directory '/root/.gnupg' created gpg: new configuration file '/root/.gnupg/gpg.conf' created gpg: WARNING: options in'/root/.gnupg/gpg.conf' are not yet active during this run gpg: keyring '/root/.gnupg/secring.gpg' created gpg: keyring '/root/.gnupg/pubring.gpg' created gpg: "key" not a key ID: skipping gpg: requesting key 11A06851 from hkp server pgpkeys.mit.edu sudo gpg --armgpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: key 11A06851: public key "Mateusz Łukasik <mati75@linuxmint.pl>" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) $ sudo gpg --armor --export CCD91D6111A06851 | sudo apt-key add -