안녕하세요.
웹기반으로 저사양 급에서 작동하는 파일 관리자를 찾고 있다가, 쓸만한 것을 발견하여 가이드를 작성하고 있습니다.
<기능>
1. 파일 작성 가능
2. 파일 업로드 및 폴더 업로드 가능 (용량 제한은 모르겠습니다.)
3. 2분할 창 사용가능
4. 웹 표준을 준수하는 미디어 바로 재생가능
5. 공유링크 생성 기능
6. 기본 인증 (아이디, 비밀번호)
7. 퍼블릭 설정 가능 (Read Only 설정 가능)
--> 아쉽게도 인증 + 퍼블릭 설정은 안됩니다.
<아쉬운점>
다운로드 속도는 빠르나 업로드 속도는 조금 느립니다.
1. nodejs 설치하기
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
apt-get install -y nodejs gcc g++ make
그럼 nodejs 안정 버전이 설치됩니다.
2. droppy 설치하기
root@AOL-Debian:~# npm install -g --production droppy
/usr/bin/droppy -> /usr/lib/node_modules/droppy/droppy.js
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/droppy/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
3. 초기 구동하기 및 설정하기
# -c 옵션을 주어 초기 설정파일 경로를 지정합니다. 그리고 -f 옵션으로 대상 경로를 지정합니다.
root@AOL-Debian:~# droppy start -c /etc/droppy -f /mnt/media_rw/by-uuid/a7b7ebdc-01/
.:.
::: .:::::. droppy 9.1.3 running on node 8.11.3
..:::.. ::: config at /etc/droppy
':::' ::: files at /mnt/media_rw/by-uuid/a7b7ebdc-01
'
2018-07-06 01:04:46 [INFO] Configuration: { listeners: [ { host: [ '0.0.0.0', '::' ], port: 8989, protocol: 'http' } ], public: false, timestamps: true, linkLength: 5, linkExtensions: false, logLevel: 2, maxFileSize: 0, updateInterval: 1000, pollingInterval: 0, keepAlive: 20000, allowFrame: false, readOnly: false, compression: true, ignorePatterns: [], watch: true }
2018-07-06 01:04:46 [INFO] Loading resources ...
2018-07-06 01:04:47 [INFO] Loading resources done
2018-07-06 01:04:47 [INFO] The 'uws' module failed to build, falling back to 'ws'
2018-07-06 01:04:47 [INFO] Listening on http://127.0.0.1:8989
2018-07-06 01:04:47 [INFO] Listening on http://192.168.0.151:8989
2018-07-06 01:04:47 [INFO] Caching files ...
2018-07-06 01:04:53 [INFO] Caching files done
2018-07-06 01:04:53 [INFO] Ready for requests!
2018-07-06 01:05:05 [INFO] 192.168.0.149:1882 GET / [200] [21ms]
2018-07-06 01:05:05 [INFO] 192.168.0.149:1882 GET /!/res/client.js [200] [4ms]
2018-07-06 01:05:05 [INFO] 192.168.0.149:1883 GET /!/res/style.css [200] [2ms]
2018-07-06 01:05:05 [INFO] 192.168.0.149:1883 GET /!/res/sprites.png [200] [2ms]
^C2018-07-06 01:05:15 [INFO] Received SIGINT - Shutting down ...
컨트롤 + C 를 눌러 종료합니다.
기본적으로 HTTPS 설정도 가능합니다만, 일단 제외합니다.
사용자 계정 추가는 아래와 같이 진행합니다. droppy 의 기본 명령어들은 아래를 참고하시면 되겠습니다.
Usage: droppy command [options]
Commands:
start Start the server
stop Stop all daemonized servers
config Edit the config
list List users
add <user> <pass> [p] Add or update a user. Specify 'p' for privileged
del <user> Delete a user
build Build client resources
version, -v Print version
Options:
-c, --configdir <dir> Config directory. Default: ~/.droppy/config
-f, --filesdir <dir> Files directory. Default: ~/.droppy/files
-d, --daemon Daemonize (background) process
-l, --log <file> Log to file instead of stdout
--dev Enable developing mode
--color Force-enable colored log output
--no-color Force-disable colored log output
# droppy add ID PW [권한]
root@AOL-Debian:/etc/droppy# droppy add djjproject djjproject p
p 옵션을 주시면 설정 변경이 가능합니다.
4. init.d 서비스 등록하기
/etc/droppy/run.sh 파일을 만듭니다.
-- 실제로 $EXEC 부분에 명령줄을 그대로 넣으면 -- 'f' invaild option 에러가 떠서 어떻게 해결할지 몰라 일단 이렇게 작성해 보았습니다.
root@AOL-Debian:~# nano /etc/droppy/run.sh
#!/bin/bash
/usr/bin/env droppy start -c /etc/droppy -f /mnt/media_rw/by-uuid/a7b7ebdc-01
그리고 /etc/init.d/droppy 를 생성합니다.
root@AOL-Debian:~# nano /etc/init.d/droppy
#!/bin/sh
### BEGIN INIT INFO
# Provides: droppy
# Required-Start: $network $remote_fs $local_fs
# Required-Stop: $network $remote_fs $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: droppy
# Description: droppy
### END INIT INFO
PROCESS="droppy"
RUNAS="root:root"
CMD="/etc/droppy/run.sh"
do_start() {
start-stop-daemon --start --background -c $RUNAS --name $PROCESS --exec $CMD
}
do_stop() {
start-stop-daemon --stop --name $PROCESS
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
*)
echo "Usage: "$1" {start|stop|restart}"
exit 1
;;
esac
exit 0
정상적으로 작동하는지 봅니다.
root@AOL-Debian:~# ps -ef | grep droppy
root 14485 1 0 02:33 ? 00:00:00 /bin/bash /etc/droppy/run.sh
root 14486 14485 37 02:33 ? 00:00:02 droppy
root 14529 2635 0 02:33 pts/0 00:00:00 grep droppy
root@AOL-Debian:~#
5. 접근해보기
http://u5pvr_ip_address:8989/
ID / PW -> 설정한 것 입력
요정도 사용이 가능합니다.
동영상으로 보여드리겠습니다. 재촬영을 하게 되면서 굉장히 말을 더듬더듬 하게 되었네요. 죄송합니다.
6. 맺음말
넥스트 클라우드가 너무 무거워서 구동이 애로하여 찾아본 파일 관리자 중에 굉장히 괜찮은것 같습니다.
포트의 경우에는 8989 로 되어 있어서 조금 그럴 수 있는 부분입니다. 이 부분은 아파치 프록시 패스나 엔진엑스의 프록시 기능을 사용하여 관리를 해주시면 좋을것 같습니다.
감사합니다.
'AndroidOverLinux' 카테고리의 다른 글
U5 트랜스미션 WebUI 패치하기 (0) | 2018.07.13 |
---|---|
U5 리눅스 펌웨어 07월 12일 릴리즈 (0) | 2018.07.12 |
2. 넥서스5X 무선 속도 테스트 (0) | 2018.06.30 |
1. U5PVR 디럭스 유선 속도 테스트 (0) | 2018.06.24 |
U5PVR xfce4 데스크톱 환경 알파 릴리즈 (0) | 2018.06.04 |
댓글