라즈베리파이에 외장하드를 연결하여 NAS로 만들어 봅시다.
이후 토렌트를 활용하여 활용도를 높여 보겠습니다.
리눅스에서 사용하는 FTP서버용 솔루션으로는 proftpd와 vsftpd가 주로 사용된다.
vsftpd는 proftpd에 비해서 속도와 보안, 성능이 뛰어나며 무엇보다 안정성을 보장할수 있는 훌륭한 ftp서버용 소프트웨어라고 할수 있다. 그리고 vsftpd는 Linux뿐아니라 Solaris, FreeBSD, HP-UX, IRIX등 거의 모든 유닉스계열의 운영체제에서 사용이 가능하다.
또한 FTP가상호스팅기능이 뛰어나며 가상IP별 환경설정기능과 가상사용자 생성 및 사용, 트래픽 대역폭 제한기능, PAM지원과 독립데몬방식(standalone), 수퍼데몬방식(xinetd)을 모두 지원하며 ftp로그파일(/var/log/xferlog)기록시 표준포맷외에 자체포맷형식을 지원하는 아주 강력한 기능을 제공하는 ftp서비스 솔루션이다
순서
외장하드 사용시 마운트해주기->vsftpd 설치->vsftpd 설정변경 -> 토렌트 설치
외장하드 마운트하기
먼저 리눅스에서 윈도우파일시스템 NTFS를 인식할 수 있도록 ntfs-3g를 설치합니다.
ntfs파일시스템을 지원할 수 있는 모듈설치
sudo apt-get install ntfs-3g
명령어를 통해 디바이스 확인
sudo fdisk -l
sudo fdisk -l | grep sda
sudo fdisk -l | grep sdb
...
첫번째 발견한 하드디스크 sda1
sda2,3,4...은 sda의 파티션
파티션이 3개이면 sda1,sda2,sda3으로 표시
두번째 발견한 하드디스크 sdb1
세번재 발견한 하드디스크 sdc1
...
마운트 하기(마운트가 되는것을 보고 아래 설정해야함)
마운트 할 폴더생성 후
sudo mount /dev/sda1 /생성한폴더
부팅시 마운트(주의 틀릴시 되돌리기 힘듬 resque mode로 들어가서 수정하여야 하는데 ssh로 못들어 가기때문에 모니터가 없을시 포맷해야함)
sudo nano /etc/fstab
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
/dev/sda1 /home/pi/tmp(원하는 위치) ntfs defaults 0 0
마지막줄 처럼 추가해준뒤 reboot해주면된다.
vsftpd 설치 및 설정
vsftpd 설치
sudo apt install vsftpd
vsftpd설정
sudo nano /etc/vsftpd.conf
-기본설정
#익명의 사용자 접속 허용 여부
anonymous_enable=NO
#로컬 계정 사용자의 접속 허용 여부
local_enable=YES
#write명령어 허용 여부
write_enable=YES
#로컬 계정 사용자용 umask
local_umask=022
#홈 폴더에서 벗어날수 없도록 할지 여부
chroot_local_user=YES
#사용자 홈 디렉토리에서 상위로 접근하지 못하다로고 하기위한 설정
chroot_list_enable=YES
#chroot_list사용여부를 설정하고 사용시 파일의 경로 저장
chroot_list_file=/etc/vsftpd.chroot_list
#해당 파일에 허용할 아이디 입력
/etc/vsftpd.chroot_list 파일에 pi 추가
ex)
pi
test
test2
-로그관련 설정
#파일전송로그를 남길 것인지 여부
xferlog_enable=YES
#파일전송 로그 경로 및 파일명
xferlog_file=/var/log/vsftpd.log
#xferlog 표준 포멧으로 로그를 남길지 여부
xferlog_std_format=YES
재시작하여 설정 적용
sudo systemctl restart vsftpd
ftp서버 접근해보기
ftp://ip주소로 접근한뒤 등록한 사용자 아이디로 로그인
토렌트
토렌트 설치
sudo apt install transmission-daemon
서비스 종료
sudo systemctl stop transmission-daemon.service
설정
sudo nano /etc/transmission-daemon/settings.json
"download-dir" : "경로" , 다운로드 된 파일이 저장될 폴더 경로
"incomplete-dir" : "경로" , 다운로드 중인 파일을 임시로 보관할 폴더경로
"incomplete-dir-enabled" : true , 다운로드 중인 파일을 임시로 보관할지
"watch-dir-enabled " : ture, 지정된 경로에 토렌트 파일을 넣으면 자동으로 감지하여 다운로드 해주는기능 사용할지(추가해줘야됨)
"watch-dir" : "경로" , 토렌트 파일을 감지할 폴더 경로(추가해줘야됨)
"transh-original-torrent-file" : true , 다운이 시작되면 토렌트 파일 삭제
"rpc-password" 웹 클라이언트 접속시 사용할 패스워드
"rpc-port" 웹 클라이언트 접속시 포트
"rpc-username" 웹 클라이언트 접속시 사용할 아이디
재시작(restart할시 설정이 초기화되는문제가 있다.)
sudo service transmission-daemon reload
restart가 필요할시 stop후 start해준다
오류가 발생할시 완전히 제거 후 설치 하시기 바랍니다.
완전히 제거(관련패키지와 설정까지 제거)
sudo apt-get autoremove --purge transmission-daemon
'라즈베리파이' 카테고리의 다른 글
안드로이드를 통한 라즈베리파이(파이썬) PCA9685 다중서보모터 제어 (0) | 2021.03.01 |
---|---|
라즈베리파이OS 라즈비안 보안강화 #3 (0) | 2020.12.31 |
라즈베리파이OS 라즈비안 한글설치 GUI원격제어 #2 (0) | 2020.12.31 |
라즈베리파이OS 라즈비안 설치 및 ssh #1 (0) | 2020.12.31 |
라즈베리파이 음악스트리밍서버 만들기(cherryMusic) (0) | 2020.06.23 |
최근댓글