DLNA: miniDLNA

July 13, 2019
    스마트 TV, 네트워크 플레이어 등에서 지원하는 DLNA 기능을 이용해서 홈 서버에 저장된 미디어 파일을 재생하려면 우분투 서버에 DLNA 서버를 설치한다. DLNA 서버 중에서 여기서는 아주 간편한 miniDLNA를 설치한다.

    miniDLNA 설치

    sudo apt update
    
    sudo apt install minidlna
    

    패키지 저장소 정보를 업데이트하고, minidlna 를 설치한다.

    miniDLNA 설정

    sudo nano /etc/minidlna.conf

    nano 편집기로 minidlna 설정 파일 minidlna.conf를 연다.

    #media_dir=/var/lib/minidlna
    media_dir=A,/home/MySMB/Music
    media_dir=V,/home/MySMB/Videos
    media_dir=P,/home/MySMB/Photos
    media_dir=PV,/home/MySMB/Camera
    
    db_dir=/var/cache/minidlna
    
    log_dir=/var/log
    
    friendly_name=Varins DLNA
    
    inotify=yes
    

    media_dir= 항목을 찾아서 홈 서버 상에 자신의 미디어 파일이 위치한 경로를 지정한다. 파란색으로 표시한 알파벳은 이 경로에 담겨있는 미디어 파일의 종류를 지정하는 설정이다. A는 오디오, V는 비디오, P는 사진, PV는 사진과 비디오를 의미한다. 원하지 않는 종류는 지정하지 않아도 무방하다.

    db_dir= 항목을 찾아서 앞에 주석 #을 제거하고 데이터베이스를 저장할 곳을 지정한다.

    log_dir= 항목을 찾아서 앞에 주석 #을 제거하고 로그 파일을 저장할 곳을 지정한다.

    friendly_name= 항목은 클라이언트에서 홈 서버의 DLNA에 접속했을 때 보여줄 홈 서버 DLNA의 이름이다.

    inotify=yes 항목을 찾아서 앞에 주석 #을 제거한다. 새로운 파일이 추가되었을 때 minidlna를 재시작하지 않아도 데이터베이스가 갱신되도록 하는 설정이다.

    설정을 마쳤으면 Ctrl 키와 x 키를 동시에 눌러서 nano 편집기를 빠져나오면서 저장한다.

    sudo systemctl restart minidlna

    설정을 반영하기 위해 minidlna를 재시작한다.

    방화벽 설정

    sudo iptables -A INPUT -p tcp -m tcp --dport 8200 -j ACCEPT
    sudo iptables -A INPUT -p udp -m udp --dport 1900 -j ACCEPT
    

    iptables 방화벽에서 DLNA가 사용하는 포트를 열어준다. (기본적인 방화벽 세팅은 앞선 글 우분투 서버 기본 설정에서 완료했다.)

    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

    iptables 방화벽의 설정 내용을 저장하고 리로드한다. (iptables-persistent는 앞선 글 우분투 서버 기본 설정에서 설치했다.)

    DLNA 접속

    홈 서버와 동일한 네트워크 상에 있는 스마트 TV, 네트워크 플레이어 등 DLNA를 지원하는 기기에서 DLNA 메뉴를 열면 위에서 지정한 미디어 파일들이 보일 것이다. 파일이 많은 경우에는 데이터베이스를 최초 작성하는데 시간이 소요될 수 있다.

    DB 강제 재작성

    sudo systemctl force-reload minidlna

    필요한 경우 위 명령으로 데이터베이스를 강제로 재작성 할 수 있다.

     

    본 글의 저작권은 작성자 Varins에게 있습니다.
    Varins의 사전 서면 동의 없이는 본 글의 전부 또는 일부를 무단으로 전재, 게시, 배포하는 것을 금지합니다.
    

Comments (2)

  • deaba

    July 15, 2019 at 11:22 am

    새로운 강좌 잘보고 갑니다.

    언제나 잘 배우고 있습니다. 감사합니다.

    혹시 나중에 물리적백업에 관한 내용도 추가하실지 궁금합니다.
    (google drive 등을 이용한 클라우드 백업)

    1. Varins

      July 20, 2019 at 10:20 am

      안녕하세요, 말씀 감사드립니다.
      저는 다른 외부의 클라우드 서비스는 사용하지 않고, 외장 하드에 백업하고 네트워크에서 분리 및 전원을 끄고 오프라인으로 보관하고 있습니다. 원시적이지만 가장 안전한 방법이라서 이렇게 백업하는데, 다른 좋은 솔루션을 찾게 된다면 글 작성도 고려해보겠습니다.

Comment ReplyCancel Reply

댓글은 관리자의 승인 이후에 게시됩니다.

Prev Post