FX-Audio FX-01 USB DAC Sound card audio decoder with U5PVR

 

안녕하십니까 ?  EddyLab입니다. 

금주에 올려드린 FX-01 USB DAC 제품 관련 글 입니다.


 

U5PVR 디럭스 HDD설치 방법의 게시글 댓글에 블루님과 함께 U5PVR 디럭스에 내장 장착을 해 볼 내용으로 아이디어 체크를 해 보았었습니다. ^^
http://cafe.naver.com/mk802/22379

관련하여 오늘 FX-01이 도착하여서, U5PVR 디럭스와 연동 test를 해 보았습니다.  


먼저 도착한 제품 FX-01 제품사진입니다...
그냥 FX-01과 USB 케이블입니다. ^^  (박스는 사진을 찍지 않았습니다.)  










U5PVR 디럭스에 넣어 보았습니다..
먼저 FX-01 완제품 상태로 들어갈 수 있는 공간을 찾아 보면,
앞쪽 밖에는 위치 할 수 없겠네요..



일단 FX-01을 분리 해 보았습니다. 






이번에는 FX-01 메인 기판만 꺼내서 U5PVR 디럭스 내부 공간에 맞춰 보았습니다.




U5PVR의 뒷면 공간에 메인PCB만으로 빡빡하게 들어갈 수 있는 공간은 나오네요.. ^^



DAC의 L & R을 외부로 뽑아내려면, RS232포트를 분리 시켜서 위치 시켜야 가능할 듯 보입니다.



이제 USB DAC 연동 test를 해 보도록 하겠습니다.
연결은 아주 쉽습니다...  그냥 USB에 연결 케이블을 꼽아주면 됩니다.^^
(주) U5PVR ATV 7 알파 + FW에서 test를 하였고, BT리모콘 연결은 아직 test전 입니다.
BT리모콘 연결시 어떤 다른 문제점이 있을지는 추가 확인이 필요 합니다.




USB DAC의 Audio L / R 단자에 AV 케이블을 이용하여 스피커 AMP의 AUX 단자에 물렸습니다.   이제 U5PVR의 오디오는 모두 이쪽으로 통하여 들리게 됩니다.




U5PVR ATV7 알파+ FW기반에서 유투브 4K@60fps를 재생해 보았습니다.






유투브 4K@60fps의 재생관련으로 Audio codec은 어떤 코덱으로 나오는지 정보가 없어서 정확히는 알 수 가 없네요...





본격적으로 고음질 Flac와 Wave 음악 감상을 시작하겠습니다. ^^



케니지의 wav파일을 재생 해 보고, Flac 해 보았습니다.











일단 음색은 아주 좋게 잘 들리고 있습니다. ^^


AMP Speaker도 2.1CH이라서 저음도 같이 잘 살려 주어서 그런지 깨끗하고 청명한 음으로 잘 들리네요...  
참조로 
AMP Speaker는 TDK Q35 BT 스피커입니다.
2W * 4 (Full =range 1inch짜리 Speaker가 4개 + 15W(subwoofer 4inch speaker) 입니다.  
오디오 출력이 아주 쎄지는 않지만, 충분히 혼자서 즐길만 합니다.^^ 




Hiby Music App을 이용한 DAC 재생 test 입니다.



여기서 반드시 HibyMusic에서 DAC을 인식 시키기 위해서

"Use by default for this USB device" 를 체크 하시고 "OK"를 누르시기 바랍니다.

차이점에 대해서는 이후에 설명 드리겠습니다. ^^ 



HibyMusic의 Advanced 옵션에서 

DSD mode가 있습니다.  이를 PCM 또는 Native 로 선택하시기 바랍니다.

기본 DoP로 설정되어 있으면 오디오 출력이 되지 않습니다.



기본 설정 후, 한번 Exit 로 빠져 나갔다가 다시 HibyMusic 앱을 실행하시기 바랍니다.




저는 HibyMusic test를 하기 위해서 Michael Jackson - Thriller (SACD) 폴더에 들어왔습니다.

여기에 보면, Thriller.ISO 파일이 있습니다. 


이 Thriller.ISO 파일을 강제로 실행 해 보겠습니다. ^^

이는 SACD ISO파일은 인식을 하는지를 알아 보기 위함입니다.



Thriller.ISO Opne >> Audio



Thriller.ISO Opne >> Audio >> HibyMusic



Thriller.ISO를 실행하여 HibyMusic APP에서 인식함을 확인하였습니다. ^^



HibyMusic의 곡 list에서 Thriller.ISO 내에 있는 곡을 인식하여 list 해 주는 것을 알 수 있습니다.




"Use by default for this USB device" 를 체크 관련으로 이야기 드렸습니다.

이 설정의 차이는 이런 내용이 있습니다.




먼저 설정을  CANCEL 해 보겠습니다.




먼저 설정을 이 설정이 되지 않으면 1bit SACD를 재생했을때, 

DAC Audio Output information을 보면,

Device : Android

Samplerate : 44KHz

Bit : 16bits

Firmat : PCM 


위와 같은 상태가 됩니다...


이 상태는 DAC으로 처리가 되지 않은 U5PVR의 Android Audio 출력 그대로 입니다. ^^;;



HibyMusic앱에서 exit를 합니다. 



HibyMusic을 다시 실행해서, 처음 이야기 한 것과 같이,

"Use by default for this USB device" 를 체크 하시고 "OK"를 합니다.




앞서 재생 test한  1bit SACD를 재생했을때, 

DAC Audio Output information을 보면,

Device : FX-01

Samplerate : 88KHz

Bit : 24bits

Firmat : PCM 


위와 같이 오디오 출력 상태가 변화됩니다.

Device에서 FX-01이 표기가 된 것은 USB DAC을 인식하여 출력하고 있다는 뜻 입니다.

FX-01은 Max 24bit / 96KHz까지 인식되어지므로, 정상적으로 동작하는 것으로 확인되어졌습니다.



Thriller.ISO도 동일하게 24bit / 88KHz로 출력 되어지고 있습니다.




옵션중에 SRC관련 내용이 있습니다.





저는 정확히 SRC옵션이 음에 어떻게 영향을 미치는지는 알고 있지 않습니다만,

수치가 높으면 좋다고 알고 있습니다. ^^ 




그래서, 최대 설정이 가능한 96000으로 변경 해 보았습니다.



결론 : 약 5만원 정도 USB DAC 초심자 입문용으로 U5PVR의 오디오 출력을 업그레이드 하였습니다. ^^

개인적으로 24bit / 192KHz관련으로 

Flac 와 DFF 등의 여러가지 음원으로 비교 청음을 해 보았습니다만, 

실제로 청음 비교로는 구분이 잘 되지 않더군요 ㅎㅎㅎㅎ


그렇지만, U5PVR의 16bit / 44KHz에서 

USB DAC을 붙여서 24bit / 96KHz의 비교는 확실하게 구분이 됩니다. ^^


오디오 USB DAC 투자 대비 만족감으로는 추천 드릴 만 합니다. 




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



FX-Audio FX-01 USB DAC Sound card audio decoder

 

안녕하십니까 ?  EddyLab입니다. 

일전에 블루님과 함께 U5PVR에서 USB DAC을 연결하여 test를 성공한 바 있습니다.

이후에, 적합한 USB DAC을 찾고 있었습니다만 못찾고 있었습니다. ㅎㅎㅎ


U5PVR Slim / Deluxe Android TV Settop과 Q10Pro Android TV Settop에서
USB DAC으로 동작이 검증된 제품이라고 해외에 소개가 된 제품이 있네요...

FX Audio사 제품으로서 다른 고가의 DAC 제품도 동작이 되는 것으로 알고 있지만,
DAC 입문자용으로 가격이 저렴해서 괜찮은 제품은 듯 합니다.


안드로이드 OS기반 4.4 이상에서 USB를 통하여 DAC 지원이 가능합니다만,
MAX 24bit 96K 샘플링까지 지원하는 것으로 알고 있습니다.

물론 I2S 디지털 오디오 신호를 받을 수 있으면 좋겠지만, 안드로이드 셋탑에서는 별도로 I2S 신호 아웃이 없기 때문에, 기본적으로는 USB DAC을 통하여서만 사용이 가능합니다.

이후 test Sample이 도착하면, test를 해 보도록 하겠습니다.
 

Description: USB is used in Taiwan Shengwei SA9023, support 24BIT / 96K sampling rate, DA conversion using BB's PCM5102A

The use of frequency display, the internal number of independent power supply separately, you can replace the actual computer sound card to improve the sound quality,
 
  1. USB receiver unit - the main chip SA9023, the USB audio stream into I2S digital audio format, the supply of digital audio decoder. Maximum support 24bit resolution, 96K sampling rate, Taiwan Sheng Wei advanced technology products. Today's mainstream USB interface chip, Support plug and play, you can also install ASIO drive, through the I2S digital signal to the back of the DAC
  2. DAC digital-analog conversion decoding unit - the main chip PCM5102A, maximum support 32bit resolution, 384K sampling rate, the United States Texas Instruments produced. From Texas Instruments latest advanced segmented DAC architecture, integrated after decoding the analog signal I / And LPF, the maximum output 2.1Vrms
  3. power supply part, using two AMS1117, respectively, to the digital and analog part of the power supply, can achieve good results
 
 
Features and performance parameters:
 
  • Input interface: PC-US
  • Output interface: RCA L R channe
  • Output Level Range: 2V RMS (Max
  • Frequency response: 20HZ-20KH
  • Sampling rate: 16 / 24BIT 44.1K 48K 88.2K 96
  • Distortion: THD + N: <0.005% (RL = 10 kΩ
  • Signal to noise ratio:> 100 d
  • Dynamic range:> 95 d
  • Supply voltage: 5 V (USB powered)
  • PCB process: immersion gol
  • Shell: aluminum wire drawin
  • Size: 92 X40 X25MM
  • Weight: 103g




고해상도 음원 재생을 위해서는 별도의 안드로이드 Audio 재생앱이 필요로 됩니다. 



- USB Audio Player PRO (유료)



Hiby Music (이비 음악)

    

   



U5PVR 셋탑으로 오디오 청음을 하시고자 하실때는,
기본적으로 TV화면 또는 프로젝트를 끄시고 사용을 하시려고 하실 것 입니다...

Audio Out은 별도의 스피커나 헤드폰으로 뽑으셔야 하겠지요 ?  ^^

물론 요즘 스마트TV(LG UHDTV)에서는 옵션에 TV화면은 꺼져도 오디오만 나오게 지원하는 옵션도 있다는 것을 두목님께서 가르쳐 주셨었습니다... ^^



이때 음악선곡 및 콘트롤은 스마트폰에서 가능하도록 해야 할 것 입니다.


여러가지 사용자 환경에 적합하게끔 최적의 음악 청음을 위한 조건등을 계속해서 찾아 보고 있으므로, 좋은 정보를 가지신 분들께서는 정보 공유를 부탁드립니다.



감사합니다.





    


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




Android TV (ATV) 5.x VS ATV 7.x  -  Youtube 4K@60fps Playback test

 

안녕하십니까 ?  EddyLab입니다.  

U5PVR 관련으로 새로운 안드로이드 TV(ATV) OS버젼인 7.x 알파버젼 FW를 소개해 드린 바 있습니다.

그리고 최근에 Youtube의 ATV 앱 버젼이 크게 업그레이드가 되었습니다.

기존 1.3.11 버젼에서 2.00.18버젼으로 크게 업그레이드가 되었습니다.

새로운 Youtube  2.00.18버젼의 UI도 바뀌어져서, 일반 메이저 LG 스마트TV에 설치되어 있는  Youtube와 동일한 UI를 가지게 되었습니다.

대신 안좋은 점은 Youtube의 재생 해상도를 마음대로 바꿀 수 가 없게 되었습니다.

이는 넷플릭스와 마찬가지로,
네트워크 및 재생 Player의 재생 지원 조건에 따라서
Youtube앱에서 단계별로 재생화질이 높아지게 되는 방식을 채택되어져 있네요.. 


A. Android TV(ATV) OS 5.x 
기존 1.3.11 버젼 Youtube version



Google play에서 Youtube upgrade



Upgrade 후, Youtube version : 2.00.18 



UI가 새로 바뀌었습니다.



Search 창에서 4K@60fps test를 위하여 검색



음성검색을 Pass하면 하기와 같이 Youtube용 가상키보드가 보입니다. 



"4K kpop apink"를 검색합니다.



"Mr. Chu" 4K/60fps VP9 입니다.



Youtube 재생화면 UI도 바뀌었습니다.

하단의 More Options를 선택하시면,



하기와 같이 서브 메뉴 옵션이 보입니다.

맨 오른쪽에 "Stats for nerds"를 선택합니다.



그러면, 작은 정보창이 뜨게 됩니다.

현재 재생상태 정보창입니다.

여기에서 보면,

Dimensions : 1920*1080 *2 로 표기 되어 있습니다.  1920*1080 해상도 기준으로 2배를 의미 합니다.

Resolution : 2560 * 1440@60으로 표기되고 있습니다.  현재 1440P 재생이라는 의미 입니다.

이 해상도는 기존에 2160P@60fps가 지원되지 않았을때 최소 지원 해상도 였습니다.

Mime Type에는 webm, codecs='VP9' 으로 표기가 되어져 있습니다.  

적용 코덱은 VP9이라는 의미입니다.



그러나, 이제 약간 시간이 지나면, 자동으로 해상도가 가변됩니다.

Resolution : 2560 * 1440@60 ==> 38400 * 2160@60 으로 변화가 되었습니다.



 Android TV(ATV) OS 5.x 기반에서 

38400 * 2160@60으로 재생은 되고 있습니다만, 화면의 끊김현상이 가끔씩 보입니다.

이는 정보창 맨 하단에 있는 Dropped Frames : 113 / 3857 값을 기준으로 

113프레임이 Dropped되었다는 것을 알 수 있습니다.







"Mr. Chu" 4K/60fps 영상을 완주 재생을 해 보면,

Dropped Frames : 690 / 12772로 표기 됩니다.  

690프레임 드랍이 있었기 때문에 재생이 잘 되지 않았습니다. 

 Android TV(ATV) OS 5.x 에서는 이 상태 재생이 한계입니다.




Android TV(ATV) OS 5.x 기반으로 "4k movie"를 test해 보았습니다.



"4k movie"는 대부분 4K@24fps or 30fps 이므로, 

재생에서 프레임 드랍이 거의 없습니다. 




test결과 5프레임 드랍이 있었네요..

이는 Youtube 초기 재생중에 발생된 것이라서, 문제가 없습니다.




U5PVR의 TV(ATV) OS버젼인 7.x 알파버젼 FW 입니다.



Youtube의 ATV 앱 2.00.18버젼입니다.





비교 test를 위하여 동일하게 "Mr. Chu" 4K/60fps VP9를 선택하였습니다.





"Mr. Chu" 4K/60fps 재생 초기에 1920*1080P@60fps로 시작이 되었습니다.



조금 후에 3840*2160P@60fps로 가변되었습니다.





U5PVR의 TV(ATV) OS버젼인 7.x 알파버젼에서

"Mr. Chu" 4K/60fps 영상을 완주 재생을 해 보면,

Dropped Frames : 9 / 12676로 표기 됩니다.  

Youtube에서 4K@60fps 프레임 드랍은 거의 없는 것으로 나타났습니다.



이와 같이, U5PVR의 TV(ATV) OS 5.x 와 7.x 알파버젼에서

Youtube 4K@60fps 재생 비교 test에서 많은 차이가 나타나는 것을 확인 하였습니다.










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



안녕하세요. 이번에는 리눅스 펌웨어가 설치된 상태에서 루팅을 간단하게 하는 방법을 알아보겠습니다.


(deb 파일 만들기 별로 어렵지 않네요 ㅎㅎ)


일단 u5pvr 쉘로 접근합니다. 아래의 명령을 실행해 줍니다.


혹시 모를 서버 장애에 대비해서 루팅 파일도 올려 둡니다.


u5pvr-root_1.0.deb



root@u5pvr-debian:~# wget http://u5pvr.djjproject.com/u5pvr-root-android.deb

converted 'http://download.djjproject.com/u5pvr/u5pvr-root-android.deb' (ANSI_X3.4-1968) -> 'http://download.djjproject.com/u5pvr/u5pvr-root-android.deb' (UTF-8)

--2017-05-12 06:53:43--  http://download.djjproject.com/u5pvr/u5pvr-root-android.deb

Resolving download.djjproject.com (download.djjproject.com)... 1.226.113.222

Connecting to download.djjproject.com (download.djjproject.com)|1.226.113.222|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 2450168 (2.3M) [application/x-debian-package]

Saving to: 'u5pvr-root-android.deb'


u5pvr-root-android.deb    100%[======================================>]   2.34M  5.74MB/s   in 0.4s   


2017-05-12 06:53:44 (5.74 MB/s) - 'u5pvr-root-android.deb' saved [2450168/2450168]


root@u5pvr-debian:~# dpkg -i u5pvr-root-android.deb 

Selecting previously unselected package u5pvr-root-android.

(Reading database ... 117271 files and directories currently installed.)

Preparing to unpack u5pvr-root-android.deb ...

Unpacking u5pvr-root-android (1.0-djjproject) ...

Setting up u5pvr-root-android (1.0-djjproject) ...

* daemon not running. starting it now on port 5038 *

* daemon started successfully *

root@u5pvr-debian:~# reboot


다운받고 -> 설치하고 -> 리부팅


끝입니다.


루팅이 잘 되었을까요?


잘 되었습니다.


바이너리 업데이트는 일반으로 해 주시면 됩니다.







감사합니다.


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






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



안녕하세요. 이번에는 U5PVR 에 Subsonic Music Streamer 를 설치해 보겠습니다.


http://www.subsonic.org/



음악을 웹 혹은 모바일 장치로 스트리밍할 수 있습니다.



그럼 바로 설치해 보겠습니다.



1. JAVA 설치하기


아래의 JAVA 홈페이지로 이동하여 바이너리를 직접 받거나 아니면 download.djjproject.com 을 통해서 바이너리를 받아주시길 바랍니다.


http://www.oracle.com/technetwork/java/embedded/overview/index.html




그 다음 원하는 위치에 풀어주시길 바랍니다. 저는 /opt/ 에 풀어 보겠습니다.


root@u5pvr-debian:~# wget http://u5pvr.djjproject.com/jdk-8u131-linux-arm32-vfp-hflt.tar.gz

converted 'http://download.djjproject.com/u5pvr/jdk-8u131-linux-arm32-vfp-hflt.tar.gz' (ANSI_X3.4-1968) -> 'http://download.djjproject.com/u5pvr/jdk-8u131-linux-arm32-vfp-hflt.tar.gz' (UTF-8)

--2017-05-18 22:06:03--  http://download.djjproject.com/u5pvr/jdk-8u131-linux-arm32-vfp-hflt.tar.gz

Resolving download.djjproject.com (download.djjproject.com)... 1.226.113.222

Connecting to download.djjproject.com (download.djjproject.com)|1.226.113.222|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 81648626 (78M) [application/x-gzip]

Saving to: 'jdk-8u131-linux-arm32-vfp-hflt.tar.gz'


jdk-8u131-linux-arm32-vfp-hflt.tar.gz           100%[=======================================================================================================>]  77.87M  10.9MB/s   in 7.5s


2017-05-18 22:06:11 (10.4 MB/s) - 'jdk-8u131-linux-arm32-vfp-hflt.tar.gz' saved [81648626/81648626]


# jdk 압축파일을 opt 폴더로 옮김

root@u5pvr-debian:~# mv jdk-8u131-linux-arm32-vfp-hflt.tar.gz /opt


root@u5pvr-debian:~# cd /opt/

root@u5pvr-debian:/opt# ls

jdk-8u131-linux-arm32-vfp-hflt.tar.gz


# jdk 압축파일 압축을 품

root@u5pvr-debian:/opt# tar xf jdk-8u131-linux-arm32-vfp-hflt.tar.gz

root@u5pvr-debian:/opt# ls

jdk-8u131-linux-arm32-vfp-hflt.tar.gz  jdk1.8.0_131


# 폴더이름을 java 로 바꿈

root@u5pvr-debian:/opt# mv jdk1.8.0_131/ java

root@u5pvr-debian:/opt# rm jdk-8u131-linux-arm32-vfp-hflt.tar.gz


결론적으로 파일 구조는 아래와 같이 구성되었습니다.


root@u5pvr-debian:/opt# ls

java




2. 서브소닉 설치하기


게시글 상단 subsonic 공식 홈페이지에서 debian/ubuntu 용 설치파일 .deb 를 받습니다. 그리고 설치합니다.


root@u5pvr-debian:~# wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.0.deb

converted 'https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.0.deb' (ANSI_X3.4-1968) -> 'https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.0.deb' (UTF-8)

--2017-05-18 22:19:00--  https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.0.deb

Resolving s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)... 52.218.64.92

Connecting to s3-eu-west-1.amazonaws.com (s3-eu-west-1.amazonaws.com)|52.218.64.92|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 58514186 (56M) [application/x-debian-package]

Saving to: 'subsonic-6.0.deb'


subsonic-6.0.deb                                     100%[=======================================================================================================================>]  55.80M  82.1KB/s   in 5m 19s


2017-05-18 22:24:21 (179 KB/s) - 'subsonic-6.0.deb' saved [58514186/58514186]


root@u5pvr-debian:~# dpkg -i subsonic-6.0.deb

Selecting previously unselected package subsonic.

(Reading database ... 22365 files and directories currently installed.)

Preparing to unpack subsonic-6.0.deb ...

Unpacking subsonic (6.0) ...

Setting up subsonic (6.0) ...

Started Subsonic [PID 9816, /var/subsonic/subsonic_sh.log]

Processing triggers for systemd (215-17+deb8u6) ...


JAVA_HOME 을 정의하지 않고 스크립트에 바로 반영을 해 보겠습니다.


root@u5pvr-debian:~# nano /usr/share/subsonic/subsonic.sh



# Use JAVA_HOME if set, otherwise assume java is in the path.

JAVA=java

if [ -e "${JAVA_HOME}" ]

    then

    JAVA=${JAVA_HOME}/bin/java

fi


# 위부분을 아래 부분으로 대체합니다.


# Use JAVA_HOME if set, otherwise assume java is in the path.

JAVA=/opt/java/bin/java


# subsonic 을 재시작합니다.

root@u5pvr-debian:~# service subsonic restart

[....] Restarting Subsonic Daemon: subsonicStarted Subsonic [PID 6298, /var/subsonic/subsonic_sh.log]

. ok

root@u5pvr-debian:~#


대략 15초 정도 기다리면 정상적으로 실행이 되어 있습니다.


root@u5pvr-debian:~# netstat -nlp | grep 4040

tcp6       0      0 :::4040                 :::*                    LISTEN      9816/java

root@u5pvr-debian:~#


설치가 끝났습니다.



3. 기본설정 진행하기


웹 UI 로 접근하여 기본설정을 진행합니다.


http://u5pvr_ipaddress:4040/


처음 로그인은 admin / admin 입니다.



설정으로 이동합니다.



Media Folders 설정에서 음악이 있는 위치를 설정합니다. 여러개 설정이 가능합니다.


그리고 SAVE 버튼을 한번 누른 후, Scan Media Folders Now 를 누릅니다. 그럼 음악들이 검색이 됩니다.



그리고 USERS 탭으로 이동하여 admin 계정에 대해서 비밀번호를 수정합니다.



새 사용자는 아래와 같이 권한을 세부적으로 설정하여 생성할 수 있습니다.



본 카페에 음감 열풍이 올 조짐이 보임에 따라 원음 재생을 지원하는 스마트폰을 대상으로 아래 설정을 변경하여 원음 재생이 되도록 할 수 있습니다.


그러나 FLAC 이나 WAV 파일의 경우 파일을 원본으로 내려 재생을 하기 때문에 데이터 요금이 많이 발생될 것입니다.


아래의 트랜스코딩 옵션을 삭제하고 다운샘플 설정을 삭제하면 원음으로 재생이 가능해 집니다. 


(지원되지 않는 기기가 클라이언트로 연결될 경우 재생이 불가할  수 있습니다.)



기본적인 설정을 끝내고 음악이 스캔된 대시보드 사진입니다.



인덱스를 누르게 되면 폴더명 기준으로 나열해 줍니다.



대략적으로 아래의 방법으로 현 재생목록에 추가가 가능합니다.



한편, 재생중일 때 팝업을 지원하는 브라우저에서는 우측 하단에 지금 재생중인 음악 정보도 같이 뜹니다.



하단 플레이 바에 마우스를 올리면 아래처럼 현재 재생 목록이 서랍처럼 열립니다.



요정도로 웹 UI 를 통해 기초 설정을 하는 것과 간단 사용방법을 마칩니다.



4. Subsonic Music Streamer 공식 안드로이드 앱과 연동하기


아래의 사이트에 가시면 각종 운영체제에 맞게 만들어진 클라이언트 목록이 있습니다.


마음에 드는 것으로 사용을 하시면 됩니다.


http://www.subsonic.org/pages/apps.jsp


안드로이드에서 추천드리는 클라이언트는 아래의 두가지 입니다.


1. 공식 Subsonic Music Streamer

https://play.google.com/store/apps/details?id=net.sourceforge.subsonic.androidapp


2. 서드파티 Dsub for Subsonic

https://play.google.com/store/apps/details?id=github.daneren2005.dsub

(깃허브 릴리즈 버전 다운로드 - https://github.com/daneren2005/Subsonic/releases)


이번 글에서는 Subsonic 공식 앱과 연동을 해 보도록 하겠습니다. 


추가적으로 외부에서 사용하실 예정이시라면 포트포워딩은 아래와 같이 하시면 됩니다.



처음 키면 아래와 같이 되어 있습니다. 우측 메뉴모양을 누르고 설정으로 진입합니다.




아래에 SERVERS 탭에 있는 서버 목록을 수정하거나 새로 추가합니다.



아래처럼 사용환경에 맞게 설정을 합니다.



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





5. 한글 태그 깨짐 문제 일괄 해결하기.


U5PVR 리눅스 펌웨어에는 python-mutagen 패키지를 통한 태그 변환 명령어가 들어 있습니다.


작업 폴더에서 하위 폴더 모조리 mp3 / flac / ogg 파일에 대해서 태그를 cp949 로 바꿔 줍니다. 그 후 Subsonic 에서 다시 미디어 스캔을 돌리시면 태그가 깨지지 않습니다.




root@u5pvr-debian:/mnt/sda/sda1/music/# mp3conv

('Updating', './001 TWICE (\xed\x8a\xb8\xec\x99\x80\xec\x9d\xb4\xec\x8a\xa4)-01-KNOCK KNOCK.mp3')

('Updating', './001 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xed\x8c\x94\xeb\xa0\x88\xed\x8a\xb8 (Feat. G-DRAGON)_Naver81.mp3')

('Updating', './002 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xec\x9d\xb4 \xec\xa7\x80\xea\xb8\x88_Naver81.mp3')

('Updating', './002 \xec\xa0\x95\xed\x82\xa4-01-\xeb\xb6\x80\xeb\x8b\xb4\xec\x9d\xb4 \xeb\x8f\xbc (Feat. \xed\x9c\x98\xec\x9d\xb8 Of \xeb\xa7\x88\xeb\xa7\x88\xeb\xac\xb4).mp3')

('Updating', './003 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xec\x9d\xb4\xeb\x9f\xb0 \xec\x97\x94\xeb\x94\xa9_Naver81.mp3')

('Updating', './003 \xec\x97\x90\xec\x9d\xbc\xeb\xa6\xac-01-\xec\xb2\xab\xeb\x88\x88\xec\xb2\x98\xeb\x9f\xbc \xeb\x84\x88\xec\x97\x90\xea\xb2\x8c \xea\xb0\x80\xea\xb2\xa0\xeb\x8b\xa4.mp3')

('Updating', './004 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xec\x9e\xbc\xec\x9e\xbc_Naver81.mp3')

('Updating', './004 \xed\x83\x9c\xec\x97\xb0 (TAEYEON)-01-Fine.mp3')

('Updating', './005 Red Velvet (\xeb\xa0\x88\xeb\x93\x9c\xeb\xb2\xa8\xeb\xb2\xb3)-01-Rookie.mp3')

('Updating', './005 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xec\x9d\xb4\xeb\xa6\x84\xec\x97\x90\xea\xb2\x8c_Naver81.mp3')

('Updating', './006 \xeb\xb3\xbc\xeb\xb9\xa8\xea\xb0\x84\xec\x82\xac\xec\xb6\x98\xea\xb8\xb0-01-\xec\xa2\x8b\xeb\x8b\xa4\xea\xb3\xa0 \xeb\xa7\x90\xed\x95\xb4.mp3')

('Updating', './006 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-Black Out_Naver81.mp3')

('Updating', './007 \xeb\xa7\x88\xed\x81\xac\xed\x88\xbd (MAKTUB)-01-Marry Me.mp3')

('Updating', './007 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xec\x82\xac\xeb\x9e\x91\xec\x9d\xb4 \xec\x9e\x98 (With \xec\x98\xa4\xed\x98\x81)_Naver81.mp3')

('Updating', './008 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xeb\xa7\x88\xec\xb9\xa8\xed\x91\x9c_Naver81.mp3')

('Updating', './008 \xec\x95\x85\xeb\x8f\x99\xeb\xae\xa4\xec\xa7\x80\xec\x85\x98-03-\xec\x98\xa4\xeb\x9e\x9c \xeb\x82\xa0 \xec\x98\xa4\xeb\x9e\x9c \xeb\xb0\xa4.mp3')

('Updating', './009 \xeb\xb0\xa9\xed\x83\x84\xec\x86\x8c\xeb\x85\x84\xeb\x8b\xa8-15-\xeb\xb4\x84\xeb\x82\xa0.mp3')

('Updating', './009 \xec\x95\x84\xec\x9d\xb4\xec\x9c\xa0-01-\xea\xb7\xb8\xeb\xa0\x87\xea\xb2\x8c \xec\x82\xac\xeb\x9e\x91\xec\x9d\x80_Naver81.mp3')

('Updating', './010 \xeb\xb8\x94\xeb\x9d\xbd\xeb\xb9\x84 (Block B)-01-YESTERDAY.mp3')

root@u5pvr-debian:/mnt/sda/sda1/music/#




이로써 Subsonic 게시글을 마치도록 하겠습니다 ㅎㅎ..


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





U5PVR Supporter Team




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



안녕하세요. 이번에는 U5PVR 에 MPD 를 설치해 보겠습니다.


MPD 운용시 ALSAMIXER 를 통해 USB DAC 과 연동이 가능합니다.


저도 실은 정확하게 MPD 에 대해서 모르기 때문에 USB DAC 을 통해서 원음 재생이 가능하게 설정하는 방법을 정확하게 모릅니다. 차후 보충하도록 하겠습니다.


시작합니다.



1. MPD 및 의존성 패키지 설치하기


아래의 명령으로 MPD 를 설치합니다.


root@u5pvr-debian:~# apt-get install mpd alsa-base alsa-oss alsa-utils


다음으로 MPD 가 정상적으로 동작하게 하기 위해서 설정파일을 살짝 수정합니다.


root@u5pvr-debian:~# nano /etc/mpd.conf



# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory         "/mnt/sda/sda1/music"        <-- 음악이 들어있는 위치를 지정합니다.
#


# General music daemon options ################################################
#
# This setting specifies the user that MPD will run as. MPD should never run as
# root and you may use this setting to make MPD change its user ID after
# initialization. This setting is disabled by default and MPD is run as the
# current user.
#
user                            "root"        <-- 실행 계정을 root 계정으로 설정합니다.
#
# This setting specifies the group that MPD will run as. If not specified
# primary group of user specified with "user" setting will be used (if set).
# This is useful if MPD needs to be a member of group such as "audio" to
# have permission to use sound card.
#
group                          "root"        <-- 실행 그룹을 root 그룹으로 설정합니다.
#
# This setting sets the address for the daemon to listen on. Careful attention
# should be paid if this is assigned to anything other then the default, any.
# This setting can deny access to control of the daemon. Choose any if you want
# to have mpd listen on every address
#
# For network
bind_to_address         "0.0.0.0"        <--스마트폰이나 다른 클라이언트와 연동하기 위해서 바인드를 0.0.0.0 으로 설정합니다.


대략적으로 수정이 끝났습니다. 정상적으로 동작하는지 체크를 해 봅니다.


root@u5pvr-debian:~# netstat -nlp | grep mpd

tcp        0      0 0.0.0.0:6600            0.0.0.0:*               LISTEN      23392/mpd

root@u5pvr-debian:~#


정상적으로 동작이 되고 있네요 ㅎㅎ



2. 출력 장치 설정하기


기본적으로 MPD 를 통해서 HTTP 출력을 하게 하여 음악 스트리밍 서버로 사용할 수 있습니다.


그런데 이번에는 물리 장치로 출력을 내보내는 설정을 해 보겠습니다.


다음 명령어로 재생할 장치 이름을 확인합니다.


root@u5pvr-debian:~# aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: HISIAIAO [HISI-AIAO], device 0: Playback aiao-hifi-0 []    <- 찐하게 된 부분이 장치 이름입니다.

  Subdevices: 1/1

  Subdevice #0: subdevice #0

root@u5pvr-debian:~#


위에 뜨는 장치는 U5PVR 에 장착된 기본 장치입니다. USB 로 DAC 을 연결하면 다른 장치가 추가적으로 뜰 것입니다.


다시 MPD 설정을 수정하여 장치에 대한 설정을 추가합니다.

root@u5pvr-debian:~# nano /etc/mpd.conf


#
#audio_output {                                    <-- 기본적으로 세팅이 들어가 있는데 # 으로 코멘트 시킵니다.
#       type            "alsa"
#       name            "HISIAIAO"
#       device          "default"       # optional
#       mixer_type      "hardware"      # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
#}
#

# 아래의 구문을 추가합니다.
audio_output {
        type "alsa"
        device "default"
        # The name of the card
        name "HISIAIAO"            <-- 앞서 보았던 장치 이름을 넣어줍니다.
        use_mmap "yes"
        auto_resample "no"
        auto_channels "no"
        auto_format "no"
        mixer_type "software"        <-- DAC 이 자체적으로 볼륨 조절을 할 수 있다면 disabled 로 입력합니다.
        period_time "50000"
        buffer_time "2500000"
        # dsd_usb "yes"                <-- DSD 를 지원하면 코멘트 아웃해 줍니다.
}


저장 후, 다시 mpd 서비스를 재시작 합니다.


root@u5pvr-debian:~# service mpd restart

[ ok ] Stopping Music Player Daemon: mpd.

[ ok ] Starting Music Player Daemon: mpd.

root@u5pvr-debian:~#




3. MPD 클라이언트 - MPDroid


일단 스마트폰에서 U5PVR 의 재생을 원격 컨트롤 하기 위해서 아래의 앱을 설치합니다.


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



설치를 하고 나서 아래의 설정을 진행합니다.


기본 연결 설정으로 이동합니다.



호스트를 U5PVR IP 입력합니다.


(나머지는 설정하신 대로 입력하시면 됩니다.)



U5PVR 기본 오디오가 잘 물려 있음을 알 수 있습니다.




스마트폰에서 재생을 누르게 되면 U5PVR HDMI 나 혹은 AV 단자로 소리가 나갑니다.




동영상으로 보시면 아래와 같습니다. (U5PVR 이 물린 HDMI 모니터에서 음악이 나오는 중입니다.)



추가적으로 MPD 가 음악 재생중일때는 U5PVR 안드로이드에서 DAC 우선순위가 밀리기 때문에 영상 재생이 원활이 되지 않고 유튜브의 경우에는 재생이 시작되지 않습니다.


MPD 재생을 정지하면 U5PVR 안드로이드 앱 이용이 정상화 됩니다.


AV 짹에 이어폰 꼽아 보시면 음악이 나오는 것을 확인하실 수 있습니다. 고음질 플레이가 필요없으시면 그냥 내장 DAC 을 쓰셔도 무방합니다. 


기본 구성품에 AV 단자도 포함되어 있으니 잘 활용해 보시면 될듯 합니다.





[위 두 사진은 블루님께서 찍어서 보정을 한 것으로 블루님 허락 외에는 무단 사용하실 수 없습니다. 이 게시글은 허락을 받았습니다.]


S/PDIF 단자로 음악이 나가는지는 잘 모르겠네요.




4. MPD 웹 클라이언트 - ympd


실제로 Volumio 웹 UI 를 따고 싶었지만 이게 Volumio 는 하나의 운영체제로 배포되는 것이라 따로 설치가 어렵네요. 그래서 대체 웹 UI 를 설치해 봅니다.


의존성 패키지를 설치합니다.


(build-essential 안에 의존성의로 cmake 가 포함되어 있을 수 있습니다. 빌드 중에 에러가 나서 가이드를 약간 수정했습니다.)


(SSL 연결을 사용하시려면 openssl 도 같이 설치하시길 바랍니다.)


root@u5pvr-debian:~# apt-get install cmake git build-essential libmpdclient-dev libssl-dev pkg-config


소스를 받고 빌드합니다.


root@u5pvr-debian:~# git clone https://github.com/notandy/ympd.git

Cloning into 'ympd'...

remote: Counting objects: 861, done.

remote: Total 861 (delta 0), reused 0 (delta 0), pack-reused 861

Receiving objects: 100% (861/861), 629.50 KiB | 335.00 KiB/s, done.

Resolving deltas: 100% (544/544), done.

Checking connectivity... done.

root@u5pvr-debian:~#


받은 위치로 이동하여 빌드합니다.


root@u5pvr-debian:~# cd ympd/

root@u5pvr-debian:~/ympd# ls

CMakeLists.txt  LICENSE  README.md  cmake  contrib  htdocs  src  tools  ympd.1

root@u5pvr-debian:~/ympd# mkdir build

root@u5pvr-debian:~/ympd# cd build

root@u5pvr-debian:~/ympd/build# cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")

-- Configuring done

-- Generating done

-- Build files have been written to: /root/ympd/build

root@u5pvr-debian:~/ympd/build# make && make install

Scanning dependencies of target mkdata

[ 12%] Building C object CMakeFiles/mkdata.dir/tools/mkdata.c.o

Linking C executable mkdata

[ 12%] Built target mkdata

[ 25%] Generating assets.c

Scanning dependencies of target ympd

[ 37%] Building C object CMakeFiles/ympd.dir/src/ympd.c.o

[ 50%] Building C object CMakeFiles/ympd.dir/src/mpd_client.c.o

[ 62%] Building C object CMakeFiles/ympd.dir/src/mongoose.c.o

[ 75%] Building C object CMakeFiles/ympd.dir/src/json_encode.c.o

[ 87%] Building C object CMakeFiles/ympd.dir/src/http_server.c.o

[100%] Building C object CMakeFiles/ympd.dir/assets.c.o

Linking C executable ympd

[100%] Built target ympd

[ 12%] Built target mkdata

[100%] Built target ympd

Install the project...

-- Install configuration: ""

-- Installing: /usr/bin/ympd

-- Installing: /usr/share/man/man1/ympd.1

root@u5pvr-debian:~/ympd/build#


설치가 정상적으로 되었습니다. 실행은 아래와 같이 합니다.


root@u5pvr-debian:~# ympd -h 127.0.0.1 -p 6600 -w 0.0.0.0:7700

MPD Connecting to 127.0.0.1:6600

MPD connected.


ympd -h mpd주소 -p mpd포트 -w 웹UI주소:포트


따라서 http://u5pvr_ip_address:7700/ 으로 이동해 보시면 아래의 Web UI 가 열립니다.





간단히 웹 리모콘이 생겼습니다.



그런데 프로그램 실행을 매번 저렇게 할 수 없음으로 init.d 스크립트를 추가합니다. 

(귀찮으시면 nohup & 을 사용하셔도 됩니다.)


root@u5pvr-debian:~# nano /etc/init.d/ympd



#!/bin/sh
### BEGIN INIT INFO
# Provides:          ympd
# Required-Start:    $remote_fs mpd
# Required-Stop:     $remote_fs mpd
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Daemonized version of ympd.
# Description:       Enable service provided by ympd.
### END INIT INFO
#Author: Andrew Karpow <andy@ndyk.de>

. /lib/lsb/init-functions

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="ympd Daemon"
NAME=ympd
DAEMON=/usr/bin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
LOG_OUT=/var/log/$NAME.out
LOG_ERR=/var/log/$NAME.err
YMPD_USER=root
MPD_HOST=localhost    <-- MPD 호스트 설정
MPD_PORT=6600        <-- MPD 포트 설정
WEB_PORT=7700        <-- webui 포트 설정


# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

DAEMON_OPT="--user $YMPD_USER --webport $WEB_PORT --host $MPD_HOST --port $MPD_PORT"

do_start()
{
    start-stop-daemon --start --background --quiet --pidfile $PIDFILE --make-pidfile \
        --exec $DAEMON --test > /dev/null || return 1
    start-stop-daemon --start --background --quiet --pidfile $PIDFILE --make-pidfile \
        --exec $DAEMON -- $DAEMON_OPT || return 2
}

do_stop()
{
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
    RETVAL="$?"

    [ "$RETVAL" = 2 ] && return 2
    rm -f $PIDFILE
    return "$RETVAL"
}

case "$1" in
  start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
    do_start
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
    ;;
  stop)
    [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
    do_stop
    case "$?" in
        0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
        2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
    esac
    ;;
  status)
    status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
    ;;
  restart|force-reload)
    #
    # If the "reload" option is implemented then remove the
    # 'force-reload' alias
    #
    log_daemon_msg "Restarting $DESC" "$NAME"
    do_stop
    case "$?" in
      0|1)
        do_start
        case "$?" in
            0) log_end_msg 0 ;;
            1) log_end_msg 1 ;; # Old process is still running
            *) log_end_msg 1 ;; # Failed to start
        esac
        ;;
      *)
        # Failed to stop
        log_end_msg 1
        ;;
    esac
    ;;
  *)
    echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
    exit 3
    ;;
esac



root@u5pvr-debian:~# chmod a+x /etc/init.d/ympd
root@u5pvr-debian:~# update-rc.d ympd defaults            <-- 부팅시 자동실행
root@u5pvr-debian:~# 

# service 명령이 잘 먹는지 확인 -> 잘 됩니다.
root@u5pvr-debian:~# service ympd restart
[ ok ] Restarting ympd Daemon: ympd.
root@u5pvr-debian:~# service ympd stop
[ ok ] Stopping ympd Daemon: ympd.
root@u5pvr-debian:~# service ympd start
[ ok ] Starting ympd Daemon: ympd.
root@u5pvr-debian:~#


++ 번외편


기본적으로 리눅스 펌웨어에는 음악 태그 깨짐을 해결할 수 있는 명령이 들어가 있습니다.


음악이 들어있는 폴더로 이동하여 mp3conv 라고 입력하면 태그를 cp949 바꾸어 태그가 깨지지 않게 해줍니다.


하위 폴더까지 모조리 싹 다 바꿔줍니다. (ogg mp3 flac 파일들)


root@u5pvr-debian:/# cd /mnt/sda/sda1/music

root@u5pvr-debian:/mnt/sda/sda1/music# mp3conv

('Updating', 'WINNER - REALLY REALLY.mp3')

('Updating', Marry Me.mp3')

..................


이렇게 DAC 과 연동을 하게 되면 나만의 오디오 시스템이 구축 가능합니다.


물론 SPI 통신을 통해 DAC 과 연동을 해 보고 싶지만 잘 모르겠네요 ㅎㅎ..


감사합니다.


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


U5PVR Supporter Team


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

[U5PVR] U5PVR NFS/CIFS Mount (feat.Linux FW)

Android Mini PC 2017.05.02 19:42 Posted by 뮤리찌




안녕하세요. 이번에는 NFS / CIFS (Samba) 를 마운트 하는 방법을 알아보겠습니다.




1. 삼바 마운트 하기 (CIFS)


아래의 명령어로 마운트할 폴더를 mnt 아래에 하나 만들고 mount 명령어를 통해서 마운트를 진행합니다.


root@u5pvr-debian:~# mkdir /mnt/samba

root@u5pvr-debian:~# mount -t cifs -o username=djj9405,password=djj9405 //192.168.100.41/volume /mnt/samba

root@u5pvr-debian:~# cd /mnt/samba

root@u5pvr-debian:/mnt/samba# ls

1.mp4  Girls.Generation.Genie.4in1.200907.HDTV.x264.2160p.60fps.DTSES.6.1ch.mkv  htdocs  lost+found

root@u5pvr-debian:/mnt/samba#


mount -t cifs -o username=아이디,password=비번 //호스트이름 or 아이피/공유이름 /마운트위치


입니다.


참 쉽죠?



(사진이 넣을께 없어서 임시로 넣어둡니다. 게시글 옆에 사진 표시 없으면 조회수가 낮은 감이 있어서요 ㅎㅎ)




2. NFS 마운트 하기


(차후에 다른 해결방안이 적용되면 아래의 글은 무통보 수정이 됩니다.)


글을 시작하기 전에 먼저 말씀드립니다. NFS 커널 모듈이나 혹은 다른 문제가 있어서 statd 는 실행이 불가능한 상황입니다. 즉 NFS 서버는 구동이 어렵습니다.


그러나 클라이언트로의 활용은 잘 됩니다.


nfs-common 패키지를 설치합니다. 중간에 statd 가 실행되지 않았다고 에러가 뜹니다.


root@u5pvr-debian:~# apt-get install nfs-common

Reading package lists... Done

Building dependency tree

Reading state information... Done

Suggested packages:

  open-iscsi watchdog

The following NEW packages will be installed:

  nfs-common

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

Need to get 0 B/189 kB of archives.

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

Selecting previously unselected package nfs-common.

(Reading database ... 33729 files and directories currently installed.)

Preparing to unpack .../nfs-common_1%3a1.2.8-9_armhf.deb ...

Unpacking nfs-common (1:1.2.8-9) ...

Processing triggers for systemd (215-17+deb8u6) ...

Processing triggers for man-db (2.7.0.2-5) ...

Setting up nfs-common (1:1.2.8-9) ...


Creating config file /etc/idmapd.conf with new version

[FAIL] Starting NFS common utilities: statd failed!

invoke-rc.d: initscript nfs-common, action "start" failed.

dpkg: error processing package nfs-common (--configure):

 subprocess installed post-installation script returned error exit status 1

Processing triggers for systemd (215-17+deb8u6) ...

Errors were encountered while processing:

 nfs-common

E: Sub-process /usr/bin/dpkg returned an error code (1)

root@u5pvr-debian:~#


실제로는 위 에러가 발생해도 클라이언트로 사용하는데에는 문제가 없습니다만 한번 저렇게 에러가 걸려버리면 차후에 다른 패키지를 설치할 때에도 위 에러 메시지가 반복이 됩니다. 


그래서 해당 문제를 해결하기 위해서는 아래의 수정이 필요합니다.


root@u5pvr-debian:~# nano /etc/default/nfs-common


# If you do not set values for the NEED_ options, they will be attempted

# autodetected; this should be sufficient for most people. Valid alternatives

# for the NEED_ options are "yes" and "no".


# Do you want to start the statd daemon? It is not needed for NFSv4.

NEED_STATD=no        <-- NO로 입력합니다.


# Options for rpc.statd.

#   Should rpc.statd listen on a specific port? This is especially useful

#   when you have a port-based firewall. To use a fixed port, set this

#   this variable to a statd argument like: "--port 4000 --outgoing-port 4001".

#   For more information, see rpc.statd(8) or http://wiki.debian.org/SecuringNFS

STATDOPTS=


# Do you want to start the idmapd daemon? It is only needed for NFSv4.

NEED_IDMAPD=no        <-- NO 로 입력합니다.


# Do you want to start the gssd daemon? It is required for Kerberos mounts.

NEED_GSSD=


다시 nfs-common 패키지를 설치하는 명령어를 입력합니다.


root@u5pvr-debian:~# apt-get install nfs-common

Reading package lists... Done

Building dependency tree

Reading state information... Done

nfs-common is already the newest version.

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

1 not fully installed or removed.

After this operation, 0 B of additional disk space will be used.

Do you want to continue? [Y/n]

Setting up nfs-common (1:1.2.8-9) ...

[ ok ] Starting NFS common utilities:.

root@u5pvr-debian:~#


문제 에러 없이 설치가 되었습니다.


다음으로 nfs 공유를 마운트 해 보겠습니다.


root@u5pvr-debian:~# mkdir /mnt/nfs

root@u5pvr-debian:~# mount -t nfs -o nolock 192.168.100.30:/media/volume/tvheadend /mnt/nfs

root@u5pvr-debian:~# cd /mnt/nfs

root@u5pvr-debian:/mnt/nfs# ls

LIVE-4-U-SBS-MTV2016-11-21.ts                        ????????????-(874???)-CUBE-TV2017-02-27.ts

........................................................................................


마운트가 잘 됩니다. (실제로 lock 옵션을 사용하려면 statd 가 실행중이여야 되는데 아직 문제를 해결하지 못해서 nolock 옵션을 붙입니다.)


mount -t nfs -o nolock 아이피주소:/경로 /마운트위치



3. FTP 혹은 SAMBA 로 접근해보기


먼저 FTP 로 접근을 해 보겠습니다.




다음은 SAMBA 로 접근한 화면 입니다.





정상적으로 잘 됩니다.




4. 재부팅 시 자동마운트 하기


실제로 마운트 관리는 android 에서 관리하기 때문에 /etc/fstab 이 작동하지 않습니다.


따라서 rc.local 에 스크립트를 배치하는 것으로 해결을 봅니다.


root@u5pvr-debian:~# nano /etc/rc.local



# 아래의 내용을 추가합니다.

# cifs mount

mkdir /mnt/samba

mount -t cifs -o username=djj9405,password=djj9405 //192.168.100.41/volume /mnt/samba


# nfs mount

mkdir /mnt/nfs

mount -t nfs -o nolock 192.168.100.30:/media/volume/tvheadend /mnt/nfs


다만, 와이파이를 이용하시는 분들께서는 이 방법을 이용하실 때 주의하시길 바랍니다.


리눅스 부팅 과정 때, 와이파이가 붙어있지 않으면 연결 에러가 발생하기 때문입니다.


따라서 이 문제를 해결하기 위해서는 마운트 하기 전에 sleep 옵션을 주는 등의 방법이 있습니다.



유선으로 U5PVR 에 인터넷이 물려 있는 경우는 문제가 없습니다.


감사합니다.

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









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

[U5PVR] U5PVR TVHeadend 4.2.1 Update (TVH#2)

Android Mini PC 2017.04.30 04:20 Posted by 뮤리찌



안녕하세요. 오늘은 최근에 릴리즈 된 TVHeadend 4.2.1 버전으로 업데이트 하는 방법을 설명 드리겠습니다.


쉘로 접근하여 설치파일을 받습니다.


root@u5pvr-debian:~# wget http://download.djjproject.com/u5pvr/tvheadend_4.2.1_armhf.deb

converted 'http://download.djjproject.com/u5pvr/tvheadend_4.2.1_armhf.deb' (ANSI_X3.4-1968) -> 'http://download.djjproject.com/u5pvr/tvheadend_4.2.1_armhf.deb' (UTF-8)

--2017-04-27 20:13:19--  http://download.djjproject.com/u5pvr/tvheadend_4.2.1_armhf.deb

Resolving download.djjproject.com (download.djjproject.com)... 1.226.113.222

Connecting to download.djjproject.com (download.djjproject.com)|1.226.113.222|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 5490574 (5.2M) [application/x-debian-package]

Saving to: 'tvheadend_4.2.1_armhf.deb'


tvheadend_4.2.1_armhf.deb                            100%[=======================================================================================================================>]   5.24M  7.24MB/s   in 0.7s


2017-04-27 20:13:20 (7.24 MB/s) - 'tvheadend_4.2.1_armhf.deb' saved [5490574/5490574]


다음으로 다운로드 된 파일을 설치합니다.


root@u5pvr-debian:~# dpkg -i tvheadend_4.2.1_armhf.deb

(Reading database ... 74277 files and directories currently installed.)

Preparing to unpack tvheadend_4.2.1_armhf.deb ...

[ ok ] Stopping Tvheadend: tvheadend.

Unpacking tvheadend (4.2.1) over (4.1-2426~gef89ef8-dirty) ...

dpkg: dependency problems prevent configuration of tvheadend:

 tvheadend depends on dvb-apps; however:

  Package dvb-apps is not installed.


dpkg: error processing package tvheadend (--install):

 dependency problems - leaving unconfigured

Processing triggers for man-db (2.7.0.2-5) ...

Processing triggers for systemd (215-17+deb8u6) ...

Errors were encountered while processing:

 tvheadend


설치를 하게 되면 위처럼 의존성 에러가 발생합니다만 dvb-apps 가 설치되지 않아서 발생하는 문제로써 아래의 명령어로 쉽게 문제 해결이 가능합니다.


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

Reading package lists... Done

Building dependency tree

Reading state information... Done

Correcting dependencies... Done

The following extra packages will be installed:

  dtv-scan-tables dvb-apps libzvbi-common libzvbi0

The following NEW packages will be installed:

  dtv-scan-tables dvb-apps libzvbi-common libzvbi0

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

1 not fully installed or removed.

Need to get 1582 kB of archives.

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

Do you want to continue? [Y/n]

Get:1 http://ftp.kr.debian.org/debian/ jessie/main libzvbi-common all 0.2.35-3 [61.3 kB]

Get:2 http://ftp.kr.debian.org/debian/ jessie/main libzvbi0 armhf 0.2.35-3 [241 kB]

Get:3 http://ftp.kr.debian.org/debian/ jessie/main dtv-scan-tables all 0+git20141218.b46a22c-1 [226 kB]

Get:4 http://ftp.kr.debian.org/debian/ jessie/main dvb-apps armhf 1.1.1+rev1500-1 [1054 kB]

Fetched 1582 kB in 0s (1636 kB/s)

Selecting previously unselected package libzvbi-common.

(Reading database ... 74365 files and directories currently installed.)

Preparing to unpack .../libzvbi-common_0.2.35-3_all.deb ...

Unpacking libzvbi-common (0.2.35-3) ...

Selecting previously unselected package libzvbi0:armhf.

Preparing to unpack .../libzvbi0_0.2.35-3_armhf.deb ...

Unpacking libzvbi0:armhf (0.2.35-3) ...

Selecting previously unselected package dtv-scan-tables.

Preparing to unpack .../dtv-scan-tables_0+git20141218.b46a22c-1_all.deb ...

Unpacking dtv-scan-tables (0+git20141218.b46a22c-1) ...

Selecting previously unselected package dvb-apps.

Preparing to unpack .../dvb-apps_1.1.1+rev1500-1_armhf.deb ...

Unpacking dvb-apps (1.1.1+rev1500-1) ...

Processing triggers for man-db (2.7.0.2-5) ...

Processing triggers for desktop-file-utils (0.22-1) ...

Processing triggers for mime-support (3.58) ...

Setting up libzvbi-common (0.2.35-3) ...

Setting up libzvbi0:armhf (0.2.35-3) ...

Setting up dtv-scan-tables (0+git20141218.b46a22c-1) ...

Setting up dvb-apps (1.1.1+rev1500-1) ...

Setting up tvheadend (4.2.1) ...

[ ok ] Starting Tvheadend: tvheadend.

Processing triggers for libc-bin (2.19-18+deb8u7) ...

root@u5pvr-debian:~#


tvheadend 웹 UI 로 접근해 보겠습니다.



업그레이드가 완료 되었습니다. 감사합니다.



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



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



안녕하세요. 이번에는 리눅스 펌웨어의 설치 및 백업 복구 방법에 대해서 알아볼 예정입니다.


리눅스 펌웨어의 경우 초기 배포 이후 거의 업데이트가 없을 예정입니다. 크리티컬한 에러가 있을 경우에만 패치가 이루어질 예정입니다.


설치 이미지의 경우 윈도우 복구 이미지라고 생각하시면 편하실 것 같습니다.



0. 설치 파일 정보


(링크 미공개)


위 링크로 이동하시면 update.zip 파일들이 있습니다.



위 파일은 리눅스 펌웨어를 초기에 설치할 경우나 리눅스 펌웨어를 초기화 하고 싶으실 경우에 사용하는 update.zip 파일 입니다.



위는 현 리눅스 환경을 백업하시고 싶으실 때 사용하는 update.zip 파일입니다. 왼쪽이 백업할 경우 사용하는 파일, 오른쪽이 백업된 파일을 설치하는 update.zip 파일입니다.


아쉽게도 update.zip 파일을 선택하여 설치하는 방식이 U5PVR 에 지원이 되지 않는 상황이기 때문에 USB 에 파일을 넣으시고 update.zip 이라고 이름을 바꾸어 설치를 하셔야 합니다.



만약에 위 처럼 USB 에 복사한다고 할 경우 파일이름을 update.zip 으로 바꾸신 다음에 작업을 하셔야합니다.


(차후에 좋은 방법이 있다면 글을 수정하도록 하겠습니다.



1. 리눅스 펌웨어 신규 설치하기


기본적으로 U5PVR 을 받으시면 리눅스 펌웨어가 설치되어 있지 않은 상태입니다. 설치를 하실 경우 0번 에서 update-0327-linux-final.zip 파일을 받으신 다음에 USB 에 넣고 이름을 update.zip 으로 바꾸어 주시면 됩니다.


U5PVR 의 전원을 뒤쪽에 있는 스위치를 통해 끄고 아래의 방법 중 하나를 이용하여 설치를 하시면 됩니다.


1. 뒤쪽 전원 스위치를 통해 전원을 키신 다음에 리모컨으로 OK 버튼을 여러번 눌러줍니다. 그러면 액정에 UPDATE 라는 글자가 표시되고 업데이트가 진행이 됩니다. (U5PVR 슬림 및 디럭스 모두 가능)


2. 앞 쪽의 전원 스위치를 누른 상태에서 뒤쪽의 전원스위치를 통해 U5PVR 전원을 킵니다. 그러면 액정에 UPDATE 라는 글자가 표시되고 업데이트가 진행이 됩니다. (U5PVR 디럭스만 가능)


영상으로 보여 드리도록 하겠습니다.


<동영상>


업데이트가 진행되면 여느와 동일하게 U5PVR 이 동작하고 백그라운드로 리눅스가 동작하게 됩니다.



2. 리눅스 펌웨어 현 상태 백업하기


0번 링크에서 update-backup-linux.zip 파일을 받습니다. USB 에 넣고 파일 이름을 update.zip 으로 바꾼 다음에 1번의 설치 방법을 참고하여 설치를 진행합니다.


설치를 진행하게 되면 SDCARD -> config_linux -> linux_backup.tar 파일이 생성됩니다.

(U5PVR 자체 내장 ROM 용량이 부족하면 백업에 실패할 수 있습니다.)


다음으로 SDCARD -> config_linux 폴더 전체를 다른 곳에 백업하시면 되겠습니다.


config_linux 폴더를 복사하실 때 삼바를 이용해 주시면 편리합니다.



차후에 안드로이드를 초기화 하거나 업데이트가 있을 경우 data 파티션을 포맷해야하는 경우가 생기는데, 이 경우 사용해 주시면 됩니다.



3. 리눅스 펌웨어 백업 본 설치하기


SDCARD 최상단에 백업해 둔 config_linux 폴더를 복사합니다.


그 후 update-install-backup-linux.zip 파일을 통해 update 를 하시면 전에 백업된 상태로 돌아오게 됩니다.


용량 부족 문제를 방지하기 위해서 linux_backup.tar 파일은 자동으로 삭제 되도록 되어 있습니다.




감사합니다.


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


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



안녕하세요. 이번에는 U5PVR 에 설치한 APM 서버를 활용해 보도록 하겠습니다.


1. XpressEngine 설치

2. Wordpress 설치

3. phpsysinfo 설치

4. nextcloud 설치

5. h5ai 설치


이 순서대로 진행하도록 하겠습니다.


웹 서비스 설치 과정상 가상호스트 부분은 다루지 않습니다. 가상호스트 부분은 카페의 검색을 통해서 설정해 주시면 됩니다. 대부분 사용자분들은 가상호스트가 지원되는 도메인을 사용하는것이 아니라 iptime.org 의 도메인을 사용하고 있어서 서브도메인 설정이 불가능한 상태입니다.


따라서 이번 가이드는 가상호스트 1개로 설정하는 가이드를 작성하려고 합니다.



0. 표준 시간대 맞추기


기본적으로 설정이 되어 있지 않아서 표준 시간대를 맞춰 주셔야 합니다.


root@u5pvr-debian:/mnt/sda/sda1/htdocs# dpkg-reconfigure tzdata


Current default time zone: 'Asia/Seoul'

Local time is now:      Wed Apr 12 19:28:00 KST 2017.

Universal Time is now:  Wed Apr 12 10:28:00 UTC 2017.


root@u5pvr-debian:/mnt/sda/sda1/htdocs#




시간이 맞는지 확인합니다.


root@u5pvr-debian:/mnt/sda/sda1/htdocs# date

Wed Apr 12 19:29:20 KST 2017

root@u5pvr-debian:/mnt/sda/sda1/htdocs#





1. 웹루트 옮기기


실제로 기본 웹 루트는 /var/www/html 로 지정되어 있습니다.


그러나 리눅스 펌웨어의 경우 안드로이드 파티션의 data 에 설치가 되기 때문에 실 용량은 10GB 정도로 웹서버를 구동하기에 용량이 쬐끔 부족합니다. 


저는 이번에 사타 하드디스크로 웹 루트를 옮겨서 가이드를 작성해 보도록 하겠습니다.

(심링크나 바인드 마운트로 해결할 수 있지만 심링크의 경우 특정 웹 서비스에 문제가 생기고 바인드 마운트의 경우 U5PVR 을 재시작할 때 마다 지정해 줘야합니다. -> 물론 스크립트로 해결이 가능합니다.)


SATA 디스크는 /mnt/sda/sda1 으로 잡혀있는 상태입니다.


사타 디스크의 경우 NTFS 파일 시스템으로 되어 있어서 특정한 웹 어플리케이션이 웹루트에 대해서 특정한 권한을 요구하거나 하게 되면 문제가 발생합니다.


해결책으로는 ext4 로 포맷하여 디스크를 붙이는 것입니다.


저는 ext4 로 포맷한 상태에서 가이드를 작성하고 있습니다.


그럼 시작합니다.


저는 /mnt/sda/sda1/htdocs 폴더를 생성하고 그 폴더를 웹루트로 사용하겠습니다.


기본적으로 웹루트를 수정하기 위해서는 아래의 수정과정을 거쳐야 합니다.


일단 웹루트로 사용될 폴더를 지정합니다.


root@u5pvr-debian:~# mkdir /mnt/sda/sda1/htdocs

root@u5pvr-debian:~#


다음으로 /etc/apache2/apache2.conf 파일과 /etc/apache2/sites-enabled/000-default.conf 파일을 수정합니다.


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


# 쭉 내리다 보면 아래의 부분이 있습니다.


        Options FollowSymLinks

        AllowOverride None

        Require all denied

</Directory>


<Directory /usr/share>

        AllowOverride None

        Require all granted

</Directory>


<Directory /mnt/sda/sda1/htdocs>    <-- 경로를 수정합니다.

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

</Directory>


#<Directory /srv/>

#       Options Indexes FollowSymLinks

#       AllowOverride None



root@u5pvr-debian:~# nano /etc/apache2/sites-enabled/000-default.conf


<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port t$
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /mnt/sda/sda1/htdocs    <-- 이 부분을 수정합니다.

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn


이것으로 디렉터리 설정은 끝났습니다.


추가적으로 웹서버 실행계정인 www-data 가 외장 디스크를 읽을 권한이 필요함으로 아래의 권한을 줍니다.


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

The user `www-data' is already a member of `aid_media_rw'.


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

The user `www-data' is already a member of `aid_sdcard_r'.

root@u5pvr-debian:~#


웹서버를 재시작 합니다.


root@u5pvr-debian:~# service apache2 restart

[ ok ] Restarting web server: apache2.

root@u5pvr-debian:~#



2. XE 설치하기


XE 설치파일을 공식 사이트에서 받으셔서 압축을 푸신 다음에 WinSCP 로 넣어주시거나 아니면 아래의 wget 으로 직접 받으셔도 무방합니다.


https://www.xpressengine.com/


아래 설명에서 wget 으로 받는 주소는 그떄 그때 다를 수 있습니다!!


root@u5pvr-debian:~# cd /mnt/sda/sda1/htdocs

root@u5pvr-debian:/mnt/sda/sda1/htdocs# wget http://download.xpressengine.com/download/18325662/22755789

converted 'http://download.xpressengine.com/download/18325662/22755789' (ANSI_X3.4-1968) -> 'http://download.xpressengine.com/download/18325662/22755789' (UTF-8)

--2017-04-12 19:17:13--  http://download.xpressengine.com/download/18325662/22755789

Resolving download.xpressengine.com (download.xpressengine.com)... 1.255.50.158, 1.255.50.165

Connecting to download.xpressengine.com (download.xpressengine.com)|1.255.50.158|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 11828919 (11M) [application/zip]

Saving to: '22755789'


22755789                        100%[=======================================================>]  11.28M  11.0MB/s   in 1.0s


2017-04-12 19:17:15 (11.0 MB/s) - '22755789' saved [11828919/11828919]


root@u5pvr-debian:/mnt/sda/sda1/htdocs#


받은 파일의 압축을 풀기 위해서 unzip 패키지를 설치하고 압축을 풀어줍니다.


root@u5pvr-debian:/mnt/sda/sda1/htdocs# apt-get install unzip

Reading package lists... Done

Building dependency tree

Reading state information... Done

unzip is already the newest version.

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

root@u5pvr-debian:/mnt/sda/sda1/htdocs#


root@u5pvr-debian:/mnt/sda/sda1/htdocs# unzip 22755789

Archive:  22755789

   creating: xe/

   creating: xe/modules/

   creating: xe/modules/rss/

  inflating: xe/modules/rss/rss.model.php

  inflating: xe/modules/rss/rss.admin.view.php

  inflating: xe/modules/rss/rss.controller.php

  inflating: xe/modules/rss/rss.view.php

  inflating: xe/modules/rss/rss.admin.controller.php

   creating: xe/modules/rss/tpl/

  inflating: xe/modules/rss/tpl/atom10.html

.........

# 생각하시는 경로에 맞게 압축이 풀렸는지 확인합니다. 
# 저는 /mnt/sda/sda1/htdocs/xe 로 풀려고 하고 있습니다.
# 확인을 하고 받은 압축파일은 지워줍니다.

root@u5pvr-debian:/mnt/sda/sda1/htdocs# ls
22755789  xe
root@u5pvr-debian:/mnt/sda/sda1/htdocs# cd xe
root@u5pvr-debian:/mnt/sda/sda1/htdocs/xe# ls
CONTRIBUTING.md  LICENSE    addons  classes               common         config     layouts  m.layouts  widgets
COPYRIGHT        README.md  admin   codeception.dist.yml  composer.json  index.php  libs     modules    widgetstyles
root@u5pvr-debian:/mnt/sda/sda1/htdocs/xe# cd ..
root@u5pvr-debian:/mnt/sda/sda1/htdocs# rm 22755789
root@u5pvr-debian:/mnt/sda/sda1/htdocs#

# www-data 로 소유자 및 그룹을 설정합니다.
root@u5pvr-debian:/mnt/sda/sda1/htdocs# chown www-data:www-data -R xe


다음으로 phpmyadmin 으로 접근하여 xpressengine 에 사용할 DB 를 하나 생성합니다.



다음 http://u5pvr_ip_address/xe 로 접근하여 xe 설치를 진행합니다.




아래의 오류가 뜨면 퍼미션을 한번 확인해 주시길 바랍니다.





아래의 정보를 입력합니다.


호스트네임을 꼭 localhost 로 해 주시길 바랍니다.





초기 계정 설정을 합니다.



정상적으로 설치가 완료 되었습니다.



대시보드 입니다.





쉬운설치도 잘 동작합니다.




이렇게 XE 를 설치해서 운용이 가능합니다.


차후에 속도 테스트 겸 제가 테스트 페이지를 하나 올리도록 하겠습니다.



3. php 를 통한 업로드 용량 제한 해결하기


기본적으로 php 업로드 용량이 2MB 로 제한이 되어 있습니다.


이 문제를 해결하기 위해서 아래의 설정을 진행합니다.


(실제로 3GB 도 업로드 해 보았습니다만 그 이상의 용량도 올락가는 지는 모르겠네요.)



php.ini 파일이 내용이 길기 때문에 F6 을 통해 검색 후 수정을 해 주시면 편리합니다.

(차후에 기초 쉘 사용법 강좌가 올라갈 예정입니다.)


아래와 같이 값을 수정하고 아파치 서버를 재시작하면 업로드 용량 제한이 16GB 로 바뀌었음을 볼 수 있습니다.

한편 업로드 관련하여 tmp 디렉터리가 내부 SD카드에 존재하면 


초기에 업로드 진행시 내장 SD카드로 업로드 되었다가 -> 지정한 디렉터리로 옮겨가기 때문에 이 오버헤드를 줄이기 위해서 아래와 같이 설정합니다.


root@u5pvr-debian:~# mkdir /mnt/sda/sda1/tmp

root@u5pvr-debian:~# chmod 777 /mnt/sda/sda1/tmp

root@u5pvr-debian:~# nano /etc/php5/apache2/php.ini


max_input_time = 86400

max_execution_time = 86400
post_max_size = 16384M
upload_max_filesize = 16384M
upload_tmp_dir = /mnt/sda/sda1/tmp

root@u5pvr-debian:~# service apache2 restart
[ ok ] Restarting web server: apache2.
root@u5pvr-debian:~#


XE 에서 게시판 업로드 용량 제한을 체크해 보겠습니다. 실제로는 16기가 까지 올라가는지는 모르겠지만 3기가는 성공했습니다.




4. wordpress 설치하기


2번과 동일하게 워드프레스에 사용될 DB 하나를 생성합니다.


저는 wordpress 라고 생성하였습니다.



그리고 설치파일을 내려받습니다.


https://ko.wordpress.org/


아래의 과정으로 설치를 진행합니다.


다운을 받고 압축을 풀고 권한을 www-data 에 주는 과정입니다.


root@u5pvr-debian:~# cd /mnt/sda/sda1/htdocs/

root@u5pvr-debian:/mnt/sda/sda1/htdocs# wget https://ko.wordpress.org/wordpress-4.7.3-ko_KR.zip

converted 'https://ko.wordpress.org/wordpress-4.7.3-ko_KR.zip' (ANSI_X3.4-1968) -> 'https://ko.wordpress.org/wordpress-4.7.3-ko_KR.zip' (UTF-8)

--2017-04-13 19:31:06--  https://ko.wordpress.org/wordpress-4.7.3-ko_KR.zip

Resolving ko.wordpress.org (ko.wordpress.org)... 66.155.40.250, 66.155.40.249

Connecting to ko.wordpress.org (ko.wordpress.org)|66.155.40.250|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 9218185 (8.8M) [application/zip]

Saving to: 'wordpress-4.7.3-ko_KR.zip'


wordpress-4.7.3-ko_ 100%[=====================>]   8.79M  3.44MB/s   in 2.6s


2017-04-13 19:31:10 (3.44 MB/s) - 'wordpress-4.7.3-ko_KR.zip' saved [9218185/9218185]


root@u5pvr-debian:/mnt/sda/sda1/htdocs# unzip wordpress-4.7.3-ko_KR.zip
root@u5pvr-debian:/mnt/sda/sda1/htdocs# chown www-data:www-data -R wordpress
root@u5pvr-debian:/mnt/sda/sda1/htdocs#


설치를 위해 http://u5pvr_ip_address/wordpress 로 접근합니다.



DB 설정을 진행합니다.


사용하실 DB 이름과 mysql 계정을 입력하세요.


(항상 저는 테스트용이기 때문에 root로 설정해 둡니다. 보안을 위해서라면 아니지요 ㅎㅎ)




사이트 설정을 진행합니다.




설치가 다 되면 아래처럼 로그인 창이 뜹니다.



로그인 후에는 대시보드가 뜨네요.



테스트로 게시글 하나 작성해 보았습니다. 


첨부파일로 피스파이스 9.1 을 첨부했네요..


잘 됩니다.





5. phpsysinfo 설치하기


phpsysinfo 는 시스템 정보를 웹으로 보여주는 웹 어플리케이션입니다.


http://phpsysinfo.github.io/phpsysinfo/


아래의 방법으로 설치를 진행합니다.


root@u5pvr-debian:/mnt/sda/sda1/htdocs# wget https://github.com/phpsysinfo/phpsysinfo/archive/v3.2.7.zip

converted 'https://github.com/phpsysinfo/phpsysinfo/archive/v3.2.7.zip' (ANSI_X3.4-1968) -> 'https://github.com/phpsysinfo/phpsysinfo/archive/v3.2.7.zip' (UTF-8)

--2017-04-13 19:42:57--  https://github.com/phpsysinfo/phpsysinfo/archive/v3.2.7.zip

Resolving github.com (github.com)... 192.30.255.112, 192.30.255.113

Connecting to github.com (github.com)|192.30.255.112|:443... connected.

HTTP request sent, awaiting response... 302 Found

Location: https://codeload.github.com/phpsysinfo/phpsysinfo/zip/v3.2.7 [following]

converted 'https://codeload.github.com/phpsysinfo/phpsysinfo/zip/v3.2.7' (ANSI_X3.4-1968) -> 'https://codeload.github.com/phpsysinfo/phpsysinfo/zip/v3.2.7' (UTF-8)

--2017-04-13 19:42:58--  https://codeload.github.com/phpsysinfo/phpsysinfo/zip/v3.2.7

Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.253.120

Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: unspecified [application/zip]

Saving to: 'v3.2.7.zip'


v3.2.7.zip                          [            <=>                                         ]   1.24M   497KB/s   in 2.6s


2017-04-13 19:43:02 (497 KB/s) - 'v3.2.7.zip' saved [1298976]


root@u5pvr-debian:/mnt/sda/sda1/htdocs#


root@u5pvr-debian:/mnt/sda/sda1/htdocs# unzip v3.2.7.zip

Archive:  v3.2.7.zip

47a06bb5baa48c7a0d6d0b05eb6cd2a4724f4345

   creating: phpsysinfo-3.2.7/

 extracting: phpsysinfo-3.2.7/.gitignore

  inflating: phpsysinfo-3.2.7/.htaccess

  inflating: phpsysinfo-3.2.7/.travis.yml

  inflating: phpsysinfo-3.2.7/CHANGELOG.md

  inflating: phpsysinfo-3.2.7/COPYING

  inflating: phpsysinfo-3.2.7/Dockerfile

  inflating: phpsysinfo-3.2.7/README.md

........

# 제가 원하는 웹 URL 모양과 다르기 때문에 mv 명령으로 이름을 바꿉니다.
root@u5pvr-debian:/mnt/sda/sda1/htdocs# ls
22755789  phpsysinfo-3.2.7  v3.2.7.zip  wordpress  wordpress-4.7.3-ko_KR.zip  xe
root@u5pvr-debian:/mnt/sda/sda1/htdocs# mv phpsysinfo-3.2.7/ phpsysinfo
root@u5pvr-debian:/mnt/sda/sda1/htdocs# chown www-data:www-data -R phpsysinfo/
root@u5pvr-debian:/mnt/sda/sda1/htdocs#


http://u5pvr_ip_address/phpsysinfo 로 이동하여 확인해 봅니다.


아래처럼 에러가 발생합니다.


이 문제는 config 파일을 설정해 주지 않아서 발생하는 문제인데 저는 기본 셋팅값을 쓰도록 하겠습니다.



root@u5pvr-debian:/mnt/sda/sda1/htdocs# cd phpsysinfo/

root@u5pvr-debian:/mnt/sda/sda1/htdocs/phpsysinfo# ls

CHANGELOG.md  README.md         data      index.php  language            phpsysinfo3.xsd  sample     xml.php

COPYING       README_PLUGIN.md  gfx       js         phpsysinfo.ini.new  plugins          templates

Dockerfile    composer.json     includes  js.php     phpsysinfo.xslt     read_config.php  tools

root@u5pvr-debian:/mnt/sda/sda1/htdocs/phpsysinfo# mv phpsysinfo.ini.new phpsysinfo.ini

root@u5pvr-debian:/mnt/sda/sda1/htdocs/phpsysinfo#


다시한번 접근해 봅니다.


시스템 정보가 일목요연하게 뜹니다 ㅎㅎ




6. nextcloud 설치하기


nextcloud 는 설정할 것이 매우 많습니다만 이번 가이드는 아주 간단히만 작성합니다.


https://nextcloud.com/


아래처럼 설치를 진행합니다.


먼저 사용할 DB 를 만듭니다. 저는 nextcloud 로 만들었습니다.





root@u5pvr-debian:/mnt/sda/sda1/htdocs# wget https://download.nextcloud.com/server/releases/nextcloud-11.0.2.zip

converted 'https://download.nextcloud.com/server/releases/nextcloud-11.0.2.zip' (ANSI_X3.4-1968) -> 'https://download.nextcloud.com/server/releases/nextcloud-11.0.2.zip' (UTF-8)

--2017-04-13 19:52:20--  https://download.nextcloud.com/server/releases/nextcloud-11.0.2.zip

Resolving download.nextcloud.com (download.nextcloud.com)... 88.198.160.133

Connecting to download.nextcloud.com (download.nextcloud.com)|88.198.160.133|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 50553989 (48M) [application/zip]

Saving to: 'nextcloud-11.0.2.zip'


nextcloud-11.0.2.zip            100%[=======================================================>]  48.21M  3.51MB/s   in 16s


2017-04-13 19:52:38 (3.04 MB/s) - 'nextcloud-11.0.2.zip' saved [50553989/50553989]


root@u5pvr-debian:/mnt/sda/sda1/htdocs# chown www-data:www-data -R nextcloud

root@u5pvr-debian:/mnt/sda/sda1/htdocs#


http://u5pvr_ip_address/nextcloud 로 이동하여 설치를 진행합니다.


아래처럼 php5-curl 모듈이 설치되지 않았다고 설치가 진행되지 않네요. 



그래서 설치를 진행하고 다시 접근합니다.


root@u5pvr-debian:/mnt/sda/sda1/htdocs# apt-get install php5-curl

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following NEW packages will be installed:

  php5-curl

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

Need to get 24.8 kB of archives.

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

Get:1 http://ftp.debian.org/debian/ jessie/main php5-curl armhf 5.6.29+dfsg-0+deb8u1 [24.8 kB]

Fetched 24.8 kB in 1s (23.3 kB/s)

Selecting previously unselected package php5-curl.

(Reading database ... 29295 files and directories currently installed.)

Preparing to unpack .../php5-curl_5.6.29+dfsg-0+deb8u1_armhf.deb ...

Unpacking php5-curl (5.6.29+dfsg-0+deb8u1) ...

Processing triggers for libapache2-mod-php5 (5.6.29+dfsg-0+deb8u1) ...

Setting up php5-curl (5.6.29+dfsg-0+deb8u1) ...


Creating config file /etc/php5/mods-available/curl.ini with new version

php5_invoke: Enable module curl for apache2 SAPI

php5_invoke: Enable module curl for cli SAPI

Processing triggers for libapache2-mod-php5 (5.6.29+dfsg-0+deb8u1) ...


root@u5pvr-debian:/mnt/sda/sda1/htdocs# service apache2 restart

[ ok ] Restarting web server: apache2.

root@u5pvr-debian:/mnt/sda/sda1/htdocs#



설치가 잘 진행됩니다. 관리자 계정정보를 입력해 주세요.



DB 설정입니다. 



설치가 완료되면 아래와 같이 접근이 됩니다.





관리창에 가서 시스템 정보를 보았습니다. 



추가적으로 .htaccess 부분과 https SSL 설정 등을 해야하지만 이 가이드에서는 작성하지 않도록 하겠습니다.


파일 첨부가 잘 되는지 체크하기 위해서 아래의 아이오아이 영상과 AOA 영상을 업로드 해 보았습니다.


상단에 업로드 진행바가 보입니다.


업로드가 잘 되네요 ㅎㅎ..


올린 영상은 H264 AAC 로 브라우저에서 바로 재생이 가능한 코덱입니다.


(nextcloud 에서 트랜스코딩을 제공하진 않습니다. 웹에서 바로 재생가능한 코덱만 재생이 됩니다.)






7. h5ai 설치하기


h5ai 는 디렉터리를 리스팅하는 기능을 php 기반으로 예쁘게 만들어 주는 어플리케이션입니다.


https://larsjung.de/h5ai/


설정은 아래와 같이 진행합니다.


실은 DirectoryIndex 에 아래의 값을 추가해야합니다.


root@u5pvr-debian:~# nano /etc/apache2/mods-enabled/dir.conf


<IfModule mod_dir.c>

        DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm /_h5ai/public/index.php

## 윗부분 추가

</IfModule>


# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


root@u5pvr-debian:~# service apache2 restart

[ ok ] Restarting web server: apache2.


# 저는 download 라는 폴더를 사용해 보도록 하겠습니다.

root@u5pvr-debian:~# cd /mnt/sda/sda1/htdocs/

root@u5pvr-debian:/mnt/sda/sda1/htdocs# mkdir download

root@u5pvr-debian:/mnt/sda/sda1/htdocs# cd download/

root@u5pvr-debian:/mnt/sda/sda1/htdocs/download#


root@u5pvr-debian:/mnt/sda/sda1/htdocswget https://release.larsjung.de/h5ai/h5ai-0.29.0.zip

converted 'https://release.larsjung.de/h5ai/h5ai-0.29.0.zip' (ANSI_X3.4-1968) -> 'https://release.larsjung.de/h5ai/h5ai-0.29.0.zip' (UTF-8)

--2017-04-13 20:20:24--  https://release.larsjung.de/h5ai/h5ai-0.29.0.zip

Resolving release.larsjung.de (release.larsjung.de)... 95.143.172.135, 2001:1a50:11:0:5f:8f:ac87:25a

Connecting to release.larsjung.de (release.larsjung.de)|95.143.172.135|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 118795 (116K) [application/zip]

Saving to: 'h5ai-0.29.0.zip'


h5ai-0.29.0.zip                 100%[=======================================================>] 116.01K  77.4KB/s   in 1.5s


2017-04-13 20:20:28 (77.4 KB/s) - 'h5ai-0.29.0.zip' saved [118795/118795]


root@u5pvr-debian:/mnt/sda/sda1/htdocsunzip h5ai-0.29.0.zip

Archive:  h5ai-0.29.0.zip

  inflating: _h5ai/.htaccess

  inflating: _h5ai/CHANGELOG.md

  inflating: _h5ai/README.md

  inflating: _h5ai/private/cache/README.md

  inflating: _h5ai/private/conf/l10n/af.json

  inflating: _h5ai/private/conf/l10n/bg.json

  inflating: _h5ai/private/conf/l10n/cs.json

  inflating: _h5ai/private/conf/l10n/da.json

  inflating: _h5ai/private/conf/l10n/de.json

  inflating: _h5ai/private/conf/l10n/el.json

  inflating: _h5ai/private/conf/l10n/en.json

  inflating: _h5ai/private/conf/l10n/es.json

  inflating: _h5ai/private/conf/l10n/et.json

  inflating: _h5ai/private/conf/l10n/fi.json

.............

# 파일이 제대로 배치가 되었는지 확인합니다.
# 아래와 같이 루트 최상위에 _h5ai 가 있어야 합니다.
root@u5pvr-debian:/mnt/sda/sda1/htdocsls
_h5ai  h5ai-0.29.0.zip

#권한을 할당해 줍니다.
# FTP 를 통해 해당 폴더에 파일도 올려야 함으로 권한을 777로 줍니다.
root@u5pvr-debian:/mnt/sda/sda1/htdocs# chown www-data:www-data -R download/
root@u5pvr-debian:/mnt/sda/sda1/htdocs# chmod 777 download/


테스트로 파일을 몇개 전송해 봅니다. 역시 AOA 영상과 IOI 영상입니다.


윈도우 파일탐색기를 통해 업로드 해 보았습니다.



윈도우 탐색기를 통한 업로드는 한글 깨짐이 발생되어 Filezilla 를 통해서 다시 업로드 합니다 ㅎㅎ..


(윈도우 탐색기의 언어셋 지원이 반쪽 짜리라서 해결이 불가능합니다. ㅠㅠ)



기본적으로 h5ai 도 영상이나 파일을 미리볼 수 있도록 하는 기능을 약간은 가지고 있습니다.





요정도로 APM 활용 가이드는 마치도록 하겠습니다.


감사합니다.


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



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


 

티스토리 툴바

Google+