안녕하세요?
지난 시간에 이어 라즈베리파이로 NAS 서버 만들기를 계속 하도록 하겠습니다.
3편에서는 아마 개인 서버에서 가장 유용하게 쓰일 토렌트일겁니다.
리눅스에서는 transmission-daemon 이라는 아주 유용한 프로그램이 있습니다.
그래서 이번 편에서는 transmission-daemon 설치에 대해 알아 보겠습니다.
일단 라즈베리파이에 원격 ssh 접속합니다.
ssh cpro95@192.168.29.159 -p 2002
제 라즈베리파이는 ASUS 라우터에서 192.168.29.159로 할당되었고 1편에서 ssh 포트를 2002로 했었습니다.
이제 라즈베리파이에 원격 접속했으니까
본격적인 transmission-daemon 설치에 들어가 보겠습니다.
su root
apt install transmission-daemon
ps -ef | grep transmission-daemon
설치 및 프로세서가 실행중인지 확인까지 했습니다.
그럼 이제 본격적인 설정에 들어가 보도록 하겠습니다.
설정파일은 /var/lib/transmission-daemon/info/settings.json 입니다.
설정파일을 건들기 전에 transmission-daemon 을 먼저 중지시켜야 합니다.
service transmission-daemon stop
ps -ef | grep transmission-daemon
이제 설정파일에 대해 알아 봅시다.
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/var/lib/transmission-daemon/Downloads",
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/var/lib/transmission-daemon/Downloads",
"incomplete-dir-enabled": false,
"lpd-enabled": false,
"message-level": 1,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 200,
"peer-limit-per-torrent": 50,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"prefetch-enabled": true,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": true,
"rpc-password": "{f17ef3d116669d34350d4a5d19a67148172eaf64fwbHLmwC",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-slots-per-torrent": 14,
"utp-enabled": true
}
기본적으로 자바스크립트의 json 파일 형식입니다.
이제 본격적으로 고쳐야할 부분을 살펴 보겠습니다.
1. download-dir
"download-dir": "/var/lib/transmission-daemon/Downloads",
"download-dir" 은 토렌트가 다운로드 완료되었을 때 최종 보관되는 장소입니다.
저는 다음과 같이 외장 하드로 설정했습니다.
"download-dir": "/mnt/ext4_disk/downloads",
2. incomplete-dir
"incomplete-dir": "/var/lib/transmission-daemon/Downloads",
"incomplete-dir-enabled": false,
"incomplete-dir" 은 다운로드 중인 파일을 표기하는 옵션인데 저는 잘되고 있는지 확인하기 위해 설정하는 편입니다.
저는 다음과 같이 외장하드 temp 폴더로 지정했습니다.
"incomplete-dir": "/mnt/ext4_disk/temp",
"incomplete-dir-enabled": true,
3. rpc 설정
"rpc-password": "{f17ef3d116669d34350d4a5d19a67148172eaf64fwbHLmwC",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,
rpc 설정은 우리가 웹이나 전용 프로그램으로 토렌트 상태를 볼려고 접속하는 세팅관련입니다.
일단 transmission-daemon 기본포트는 9091입니다. 잘 외워 두시기 바랍니다.
rpc-username 은 기본적인 이름인 "transmission"으로 설정했습니다.
그리도 rpc-password에도 가장 일반적인 "1234567890" 으로 설정합시다.
물론 본인 여러분의 비밀번호를 설정하십시요.
"rpc-password" : "1234567890" 이렇게 넣어 두시면 나중에 transmission-daemon 이 실행될 때 settings.json 파일에 있는 rpc-password 부분이 hash 숫자로 바뀝니다.
그리고 중요한 rpc-whiltelist 관련해서는 false 및 모든 주소로 바꾸어 놓읍시다.
제 설정입니다.
"rpc-password": "{f17ef3d116669d34350d4a5d19a67148172eaf64fwbHLmwC",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "transmission",
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": false,
4. watch-dir
NAS 에 토렌트 서버를 돌리는 가중 중요한 이유는 토렌트 파일만 특정 폴더에 ftp로 업로드 하면 자동으로 토렌트가 알아서 실행시키게 만드는 겁니다.
transmission-daemon 에서는 watch-dir 이 그 기능을 합니다.
watch-dir 폴더에 torrent 파일만 업로드 하면 알아서 다운로드를 시작합니다.
transmission-daemon의 watch-dir 기본 설정은 안되어 있어 다음과 같은 문구를 settings.json 마지막에 추가하시면 됩니다.
"watch-dir": "/mnt/ext4_disk/temp",
"watch-dir-enabled": true
json 파일의 마지막이라 true 다음에 콤마(,)가 없는 점 유의 바랍니다.
5. umask
umask란 트랜스미션이 다운받은 화일의 읽기 권한을 설정하는 방식입니다.
기본은 "umask": 18, 이라고 되어 있는데 이렇게 되면 사용자가 transmission-daemon 만 지울수 있게 됩니다.
그래서 누구나 읽기 가능하게 즉, -rwxrwxrwx (777) 이렇게 설정하는 방식인데
다음과 같이 umask 를 0으로 설정하면 됩니다.
"umask": 0,
6. 실행
이제 설정도 했겠다 실행해 보겠습니다.
service transmission-daemon start
이제 웹 UI 에 접속해 보겠습니다.
주소는 http://192.168.29.159:9091 입니다.
웹브라우저에서 위 주소로 연결해 보면 아이디와 비밀번호를 물어봅니다.
아까 설정에서 우리는 transmission 이라는 이름과 1234567890 이라는 비밀번호를 설정했었습니다.
사용자 이름과 비밀번호를 넣으면 아래와 같이 뜹니다.
잘 작동되고 있네요.
위 스크린샷 처럼 왼쪽 상단에 파일열기 버튼을 클릭해서 웹에서 바로 토렌트 파일을 업로드 할 수 있습니다.
이상 라즈베리파이에 transmission-daemon 프로그램 설치에 대해 알아 보았습니다.
'코딩 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이 NodeJS 서버 백그라운드 구동하기 (pm2 forever) (0) | 2021.08.23 |
---|---|
라즈베리파이 OS sudo, sudoers 설정 (0) | 2021.08.20 |
라즈베리파이로 NAS 서버 만들기 2편 - ftp (0) | 2021.01.12 |
라즈베리파이로 NAS 서버 만들기 (10) | 2021.01.12 |
chmod 쉽게 설명 (0) | 2020.07.24 |