안녕하세요. 이번에는 U5PVR 에서 WebDAV 공유를 만드는 방법에 대해서 알아보겠습니다.


기본적으로 apache2 웹서버 패키지로 구동이 됩니다.


그럼 시작하겠습니다.


1. apache2 설치 및 설정하기


먼저 apache2 패키지를 설치합니다.


root@u5pvr-debian:~# apt-get install apache2

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following extra packages will be installed:

  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap

  liblua5.1-0 ssl-cert

Suggested packages:

  www-browser apache2-doc apache2-suexec-pristine apache2-suexec-custom openssl-blacklist

The following NEW packages will be installed:

  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3

  libaprutil1-ldap liblua5.1-0 ssl-cert

0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.

Need to get 1785 kB of archives.

After this operation, 4778 kB of additional disk space will be used.

Do you want to continue? [Y/n]


다음 설치가 완료되고 나면 webdav 관련 모듈을 활성화 해 줍니다.


root@u5pvr-debian:~# a2enmod dav dav_fs auth_digest

Enabling module dav.

Considering dependency dav for dav_fs:

Module dav already enabled

Enabling module dav_fs.

Considering dependency authn_core for auth_digest:

Module authn_core already enabled

Enabling module auth_digest.

To activate the new configuration, you need to run:

  service apache2 restart


여기서 다이제스트 인증을 하는 이유는 윈도우와 호환성을 높이기 위함입니다.


윈도우 8 이전까지는 레지스트리 수정을 해야 했으나 윈도우 8.1 이후 부터는 할 필요가 없습니다.


다음으로 기본적으로 활성화 되어 있는 000-default.conf 가상호스트를 disable 합니다.


(차후에 웹서버 기능까지 사용하실 분들은 아마도 고수분들이라 생각하고 코멘트를 남기지 않겠습니다 ㅎㅎ 본 가이드는 WebDAV 만 활용할 목적으로 작성이 되었습니다.)


root@u5pvr-debian:~# a2dissite 000-default

Site 000-default disabled.

To activate the new configuration, you need to run:

  service apache2 reload


webdav 전용으로 가상호스트 설정파일을 만듭니다.


아래의 설정파일은 /mnt 를 webdav 루트로 하는 설정파일입니다.


root@u5pvr-debian:~# nano /etc/apache2/sites-available/webdav.conf


<VirtualHost *:80>
    DocumentRoot /mnt
    <Directory /mnt>
        Options Indexes MultiViews FollowSymLinks
        AllowOverride none
        Require all granted
    </Directory>
    <Location />
        DAV On
        AuthType Digest
        AuthName "WebDAV"    <-- realm 값입니다. 
        AuthDigestDomain /
        AuthDigestProvider file
        AuthUserFile /etc/apache2/passwd.dav    <-- 패스워드 파일 위치
        Require valid-user
    </Location>
</VirtualHost>


설정을 완료 하였으면 가상호스트 파일을 활성화 해 줍니다.


root@u5pvr-debian:~# a2ensite webdav.conf

Enabling site webdav.

To activate the new configuration, you need to run:

  service apache2 reload


계정에 대해서 설정을 진행합니다.


djj9405 라는 계정을 추가할 예정입니다. 패스워드를 두번 입력합니다.


root@u5pvr-debian:~# htdigest -c /etc/apache2/passwd.dav WebDAV djj9405

# -c 패스워드파일위치 realm값 추가계정이름

Adding password for djj9405 in realm WebDAV.

New password:

Re-type new password:


설정이 완료 되었음으로 웹서버를 재시작 합니다.


아래처럼 에러가 뜨기는 하나 문제는 없습니다.


에러가 거슬리시는 분은 /etc/apache2/apache2.conf 에 ServerName localhost 라고 한 줄 추가해 주시면 됩니다.


root@u5pvr-debian:~# service apache2 restart

[....] Restarting web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

. ok

root@u5pvr-debian:~#


추가적으로 안드로이드 권한과 맞춰야 함으로 www-data 계정을 aid_media_rw 와 aid_sdcard_r 에 추가해 줍니다.


root@u5pvr-debian:~# adduser www-data aid_sdcard_r

Adding user `www-data' to group `aid_sdcard_r' ...

Adding user www-data to group aid_sdcard_r

Done.

root@u5pvr-debian:~# adduser www-data aid_media_rw

Adding user `www-data' to group `aid_media_rw' ...

Adding user www-data to group aid_media_rw

Done.



2. WebDAV 에 연결하기


먼저 기초적으로 작동을 하는지 알아보기 위해서 브라우저로 접근을 시도해 봅니다.



정상적으로 작동합니다.





다음은 파일 탐색기에 연결해 보도록 하겠습니다.


내컴퓨터 -> 오른쪽 -> 네트워크 위치 추가 -> 아이피 입력 -> 설정한 아이디 비밀번호 입력



정상적으로 연결이 되었습니다.



파일 구조가 잘 뜹니다만, 무슨 이유인지는 모르겠으나 심링크로 된 sdcard 나 USBDevice 내부의 파일이 보이지 않습니다. 크롬으로 접속하였을 때에는 정상적으로 보였는데 여기서는 보이지 않네요.


(덧글로 팁좀 부탁드립니다!!)



한편 파일탐색기로는 파일을 옮기려고 하면 아래의 에러가 발생하기 때문에 레지스트리 값을 수정해야하는 문제를 안고 있습니다.


파일 용량을 수정한다한들 더블클릭으로 재생이 되지 않습니다.



따라서 이번에는 넷드라이브를 이용하여 붙여 보도록 하겠습니다.


넷드라이브 구버전을 구하셔서 설치를 하시고, 아래와 같이 설정해 주시면 됩니다.



한편, 한글 파일이 깨지는 문제가 발생함으로 아래의 Advanced 를 눌러 언어셋을 UTF-8 로 맞춥니다.



연결을 하게 되면 아래와 같이 로컬디스크 처럼 뜹니다.




파일이 정상적으로 보이고 아래의 걸스데이 뮤비를 하나 재생해 보도록 하겠습니다.



큰 버퍼링 없이 잘 재생이 됩니다.



추가적으로 안드로이드 ES 파일탐색기에서 연결을 시도해 보겠습니다.


(아이폰의 경우에는 WebDAV 를 지원하는 플레이어를 사용하시면 됩니다.)







테스트로 영상 파일 하나 재생 해 보았습니다.


문제 없이 재생이 됩니다 ㅎㅎ




감사합니다. ㅎㅎ


http://cafe.naver.com/mk802/20251


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



안녕하세요. 이번에는 U5PVR 의 토렌트 클라이언트에 대해서 알아보도록 하겠습니다.


데몬 정보는 아래와 같습니다.


데몬 : transmission-daemon

포트 : 9091

아이디 : u5pvr

비밀번호 : u5pvr


아래의 순서대로 알아보도록 하겠습니다.


1. 기본 접속방법

2. 아이디 비밀번호 및 세부 설정하기

3. Plex Media Server 와 연동



1. 토렌트 서버에 접근하기


웹 주소창에 아래의 주소를 입력합니다.



접근하게 되면 아이디 비밀번호를 물어보게 됩니다. 


초기 설정된 아이디 비밀번호는 u5pvr 입니다.


접근해 보시면 아래와 같이 UI 가 뜹니다.



기본적으로 웹 UI 에서 토렌트 파일 추가는 아래와 같이 하시면 됩니다.


왼쪽에 토렌트 추가를 누르면 아래의 UI 가 뜹니다.


자동 시작에 체크해 주셔야 바로 다운로드가 시작됩니다.



추가적으로 다운로드 위치를 설정하는 방법은 아래와 같습니다.


왼쪽에서 4번째 아이콘 설정 아이콘을 눌러 기본 경로를 입력해 주시고 저장을 누르시면 됩니다.


(경로를 지정해 줄 경우 내장 ES 파일탐색기나 혹은 SFTP 혹은 SSH 로 경로를 확인하신 다음에 설정해 주시면 됩니다.)



예로 걸스데이 뮤직비디오와 우분투 서버 이미지를 추가해 보았습니다. 정상적으로 다운로드가 잘 됩니다.



다음은 안드로이드 스마트폰에서 Remote Transmission 앱을 통해 접근을 해 보도록 하겠습니다.


마켓 주소로 이동하셔서 설치를 해 주시길 바랍니다.


https://play.google.com/store/apps/details?id=com.neogb.rtac&hl=ko



실행하시고 아이피 정보와 계정정보를 설정합니다.



연결이 정상적으로 완료 되었습니다.



예시로 토렌트 파일을 하나 추가해 보도록 하겠습니다.





정상적으로 추가가 되었습니다.



마지막으로 PC와 연동을 해 보도록 하겠습니다.


아래의 주소로 이동하여 설치 파일을 받아주시길 바랍니다.


https://sourceforge.net/projects/transgui/files/latest/download


처음 실행하게 되면 클라이언트를 설정하는 화면이 나옵니다. 아래와 같이 설정을 해 줍니다.



정상적으로 완료가 되었다면 아래와 같이 뜨게 되고 파일을 utorrent 사용하듯이 추가를 할 수 있습니다.







2. 토렌트 클라이언트 설정하기


설정파일의 경우 /mnt/sdcard/config_linux/transmission-daemon/settings.json 파일을 직접 수정하시면 됩니다. 설정파일을 수정하는 동안 transmission-daemon 이 동작중이면 설정이 반영되지 않음으로 중지하고 수정하셔야 합니다.


수정의 경우 쉘에서 직접적으로 nano 나 vi 에디터를 사용해도 되고 WinSCP 를 통해 SFTP 로 접근하여 수정하셔도 됩니다.


저는 쉘로 작업해 보도록 하겠습니다.


먼저 데몬을 중지한 다음, 설정파일을 수정하고 다시 실행시키면 됩니다.


root@u5pvr-debian:~# service transmission-daemon stop

[ ok ] Stopping bittorrent daemon: transmission-daemon.

root@u5pvr-debian:~#


root@u5pvr-debian:~# nano /mnt/sdcard/config_linux/transmission-daemon/settings.json

{
    "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": "/mnt/sda/sda1",
# 다운로드 경로 수정
    "download-limit": 100,
    "download-limit-enabled": 0,
    "download-queue-enabled": true,
    "download-queue-size": 5,
    "encryption": 1,
    "idle-seeding-limit": 30,
    "idle-seeding-limit-enabled": false,
    "incomplete-dir": "",
    "incomplete-dir-enabled": false,
    "lpd-enabled": false,
    "max-peers-global": 200,
    "message-level": 2,
    "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": false,
    "preallocation": 1,
    "prefetch-enabled": 1,
    "queue-stalled-enabled": true,
    "queue-stalled-minutes": 30,
    "ratio-limit": 2,
    "ratio-limit-enabled": false,
# 시딩 비율 설정
    "rename-partial-files": true,
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-authentication-required": true,
    "rpc-bind-address": "0.0.0.0",
    "rpc-enabled": true,
    "rpc-password": "{93edd1db9aa903c1b898a29d3eac2a803b9c60faj.8BbWco",
# 비밀 번호 설정
# 입력을 하고 저장을 한 다음 다시 들어와 보면 위 처럼 암호화 되어 저장이 되어 있습니다.
    "rpc-port": 9091,
    "rpc-url": "/transmission/",
    "rpc-username": "u5pvr",
# 아이디 설정
    "rpc-whitelist": "127.0.0.1",
    "rpc-whitelist-enabled": false,
    "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": 0,
    "upload-limit": 100,
    "upload-limit-enabled": 0,
    "upload-slots-per-torrent": 14,
    "utp-enabled": true
}


root@u5pvr-debian:~# service transmission-daemon start
[ ok ] Starting bittorrent daemon: transmission-daemon.
root@u5pvr-debian:~#


실질적으로 U5PVR 에서는 UUID 현재로써는 UUID 마운트를 지원하지 않고 있습니다. (차후에 대응 업데이트가 있을 수도 있습니다.)


따라서, 연결되는 외부 장치에 따라서 sda sdb sdc 등 순서가 뒤바뀔 수 있습니다.




3. Plex Media Server 와 연동


기본적으로 플렉스 서버의 라이브러리에 토렌트 다운로드 폴더가 포함이 된다면 아래처럼 다운로드 완료 시, 미디어 스캔이 자동적으로 일어남으로 미디어가 추가가 됩니다.

(변경사항 발생 시 자동으로 미디어 스캔 옵션에 체크가 되어 있어야 합니다.)



테스트로 받은 영상을 웹에서 재생해 보도록 하겠습니다.




이상으로 토렌트 서버 사용 및 설정방법에 대한 게시글을 마치도록 하겠습니다.


감사합니다.



http://cafe.naver.com/mk802/20250


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License



안녕하세요. 이번에는 FTP 서버를 설정하고 사용하는 방법에 대해서 알아보도록 하겠습니다.


기본적으로 FTP 서버의 정보는 아래와 같습니다.


데몬정보 : pure-ftpd

포트 : 21

패시브포트 : 49152 ~ 65534

언어셋 : utf8

인증방식 : 가상계정 (pure-db 이용)


파일질라 , WinSCP , 윈도우 탐색기 , 안드로이드의 ES 파일 탐색기 , 아이폰의 N플레이어 등등 호환이 가능합니다.


아래의 순서대로 진행 하도록 하겠습니다.


1. 접속방법

2. 서버 및 계정 설정방법

3. 포트포워딩 방법


그럼 시작하겠습니다.


1. FTP 서버 접근하기


(이 글을 작성할 때 원격지에서 작성을 하여 아이피가 iptime.org 도메인으로 되어 있는점 양해 부탁드립니다.)


접속 아이피 : U5PVR 아이피 주소

포트 : 21

아이디 : u5pvr

비밀번호 : u5pvr


u5pvr 은 기본적으로 생성되어 있는 계정으로 추후 설정시 제거하셔야 합니다! 


윈도우 탐색기의 경우 ftp://U5PVR아이피주소:21/ 을 탐색기 주소에 입력하시고 아이디 비밀번호를 입력하시면 아래와 같이 접근이 됩니다.


저의 경우에는 sda 로 SATA 2.5인치 하드디스크, sdb 로 USB 메모리가 장착되어 있는 상태입니다.



내장 SD카드도 정상적으로 접근이 됩니다.


다음으로 Filezilla 프로그램으로 접근을 해 보겠습니다.


빠른연결에서 호스트에 U5PVR 아이피주로를 입력하시고 사용자명에 u5pvr 그리고 비밀번호도 u5pvr 로 입력하고 포트는 21 을 넣으시면 정상적으로 접근이 됩니다.


(원격지에서 글을 작성중이라 사진에는 2211로 되어 있습니다.)



상세하게 보도록 하겠습니다.




다음은 크롬 브라우저를 통해서 접근을 해 본 사진입니다. 파일 업로드는 할 수 없지만 다운로드는 가능하게 되어 있습니다.


WinSCP 를 통해서 접근하여 보겠습니다.


(기본적으로 SSH 가 작동중이기 때문에 SFTP 로도 접근이 가능합니다.)





마지막으로 ES 파일탐색기에서 접근해 본 사진입니다.







2. FTP 서버 설정하기


먼저 패시브포트 범위를 바꾸는 방법에 대해서 알아보겠습니다.


기본적으로는 49152 ~ 65534 로 FTP 서버 기본 값으로 설정이 되어 있습니다.


아래처럼 설정을 해 주시고 재시작 하시면 설정이 적용됩니다.


root@u5pvr-debian:~# nano /etc/pure-ftpd/conf/PassivePortRange


49152 65534

# 요기서 범위를 수정해 주시면 됩니다.


root@u5pvr-debian:~# service pure-ftpd restart

Restarting ftp server: Running: /usr/sbin/pure-ftpd-virtualchroot -l puredb:/etc/pure-ftpd/pureftpd.pdb -l pam -8 utf8 -J ALL:!aNULL:!SSLv3 -u 0 -b -E -A -O clf:/var/log/pure-ftpd/transfer.log -9 utf8 -H -U 000:000 -p 49152:65534 -B

root@u5pvr-debian:~#


다음은 계정 설정을 해 보겠습니다.


root@u5pvr-debian:~# pure-pw list

# 현재 설정된 계정 리스트 보기

u5pvr               /mnt/./

djj9405             /mnt/./

root@u5pvr-debian:~# pure-pw userdel u5pvr

# u5pvr 계정 삭제

root@u5pvr-debian:~# pure-pw list

djj9405             /mnt/./

root@u5pvr-debian:~# pure-pw userdel djj9405

# djj9405 계정 삭제

root@u5pvr-debian:~# pure-pw list

# 설정된 계정이 없음으로 리스트에 뜨지 않음

root@u5pvr-debian:~# pure-pw useradd djj9405 -u 1023 -g 1028 -d /mnt -m

# djj9405 계정 추가

# pure-pw useradd <추가할아이디> -u <유저지정> -g <그룹지정> -d <홈폴더 지정> -m (db에 바로 업그레이드 하는 옵션)

Password:

Enter it again:

# djj9405 계정에 사용할 비밀번호를 두번 입력합니다.

root@u5pvr-debian:~# pure-pw list

djj9405             /mnt/./

# 생성한 계정이 보입니다.

root@u5pvr-debian:~# pure-pw mkdb

# 혹시 모르니 db 를 갱신해 줍니다.


계정을 생성할 경우 U5PVR 리눅스는 안드로이드 커널을 공유하기 때문에 사용자는 1023 그룹은 1028 로 꼭 설정하셔야 권한 문제가 발생하지 않습니다. 


명령어 끝에 -m 을 넣는 이유는 바로 db 에 반영을 하기 위함입니다. -m 을 넣지 않고 작업하시면 db 에 반영이 되지 않기 때문에 삭제한 계정으로도 접속이 가능해지는 경우가 있습니다. pure-pw mkdb 를 통해 db를 업데이트 하시면 바로 반영이 됩니다.


홈폴더의 경우 /mnt 로 하시면 안드로이드에서 바라보는 /mnt 와 동일한 위치입니다. 즉, 내장 SD카드와 USB나 SATA 포트로 연결된 디스크가 모두 보이는 위치입니다.



여타 계정 설정으로 속도 제한이나 접근 허용 아이피 등등을 설정할 수 있습니다.


추가적으로 홈폴더 관련하여 가상 디렉터리를 사용할 수 있습니다. 예를 들어서 보여주고 싶은 것만 공유하고 싶다면 빈 폴더를 하나 생성하여 그 폴더를 홈폴더로 지정하고 그 폴더에 심링크로 폴더를 추가하는 것입니다.


예시로 mk802 라는 계정에 홈폴더를 /home/mk802 로 설정하고 /home/mk802 폴더에 /mnt/sda/sda1 을 심링크 걸어 보도록 하겠습니다.


root@u5pvr-debian:~# mkdir -p /home/mk802

# /home/mk802 디렉터리 생성

root@u5pvr-debian:~# pure-pw useradd mk802 -u 1023 -g 1028 -d /home/mk802 -m

# mk802 계정 생성

Password:

Enter it again:

root@u5pvr-debian:~# cd /home/mk802

root@u5pvr-debian:/home/mk802# ln -s /mnt/sda/sda1 disk1

# sda1 을 disk1 과 심링크

root@u5pvr-debian:/home/mk802# ls

disk1

root@u5pvr-debian:/home/mk802#


mk802 계정으로 접근을 해 보도록 하겠습니다.




설정한 구성대로 작동이 잘 됩니다. 이처럼 원하는 방식대로 폴더를 심링크하여 홈폴더를 구성하실 수 있습니다.


기본적으로는 /mnt 를 홈폴더로 잡으면 모든 디스크에 접근이 가능하게 되어 있습니다.


폴더를 여러번 진입하는 것이 귀찮으시면 /mnt/sdcard 등을 홈폴더로 지정하면 됩니다. 그러나 다른 디스크에 접근을 할 수가 없기 때문에 심링크를 통한 작업을 하시면 더욱 더 편하게 사용이 가능합니다.



3. 외부접속을 위한 포트포워딩 하기


포트포워딩의 정보는 아래와 같습니다.


TCP 21

TCP 49152 ~ 65534


아이피 타임 공유기 기준으로는 아래와 같이 포워딩을 합니다.



21 번 포트 말고 다른 포트를 사용하셔도 되고 저는 2211 포트를 사용합니다.


패시브 포트는 설정해 주신대로 해주시면 됩니다. 기본값으로 위의 사진으로 설정하시면 됩니다.


감사합니다.


http://cafe.naver.com/mk802/20231


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
TAG ftp, Linux, U5PVR


 

티스토리 툴바

Google+