목공책 하나 들이셔요~

2013년 4월 10일 수요일

TizzBird(티즈버드)를 NAS로 활용하기 - FTP서버 설치

TizzBird는 밸류플러스에서 만든 안드로이드 기반의 미디어 플레이어입니다.

지난 글에서 언급했듯이 저는 TizzBird의 여러가지 제품군 중에서 가장 저렴한 TizzBird F30을 구입해서 설치했습니다. TizzBird F20이 크기도 작고 성능도 더 좋습니다만, 저희 집 TV가 구형 PDP TV라 HDMI만 지원하는 F20은 좀 리스크가 있었고 가격도 4만원 정도 더 비싸서 그냥 F30을 구매했습니다. 

주용도인 미드나 동영상을 보는데는 전혀 무리가 없어 만족하며 사용하고 있습니다.

TizzBird F30은 3.5인치 하드디스크나 USB 디스크를 연결하여 미디어 저장용으로 사용할 수 있습니다. 사실 저희집에는 NAS가 별도로 있기 때문에 저장소가 굳이 필요하지는 않지만 NAS가 없으신 분들은 TizzBird에 연결된 디스크에 미디어를 넣어야 재생을 할 수 있습니다. 또한 TizzBird는 NFS와 Samba(SMB/CIFS) 프로토콜을 통해 외부에 저장된 미디어를 재생할 수 있어서 집에 있는 PC에 TizzBird에서 제공하는 NAS 서버 프로그램을 설치하여 활용할 수 있습니다.

이전 글에서 언급했듯이 처음에는 오래된 3.5인치 하드디스크를 Tizzbird에 탑재했는데 사용하다 보니 하드디스크에서 나는 소음과 발열이 신경쓰여 떼어냈습니다. 대신 32GB USB 디스크를 하나 구매해서 아래 사진처럼 뒷면의 USB 포트에 꽂았습니다. 훨씬 조용하고 좋네요. 작은 용량이라도 이렇게 외부 디스크를 꽂아두어야 펌웨어 업그레이드 등을 진행할 수 있습니다.


TizzBird에 NAS 기능이 필요

그런데 문제는 TizzBird에 부착된 디스크에 대해 네트웍으로 파일을 넣거나 관리할 수 없다는 것입니다. 즉 TizzBird 자체가 NAS로서의 기능은 하지 못한다는 점입니다. 저희 집처럼 PC가 없고 노트북에 SSD를 연결해서 쓰는 경우 대용량의 미디어파일들은 별도의 외장 NAS로 저장하는 것이 좋은데, TizzBird에 부착된 디스크를 활용하여 NAS서버를 꾸밀 수 있다면 더 없이 좋을 것입니다.

TizzBird는 안드로이드 기반의 미디어 플레이어라서 안드로이드 앱을 설치하여 실행할 수 있습니다. 안드로이드 스마트폰을 사용하시는 분이라면 누구라도 쉽게 원하는 어플리케이션을 설치하여 운영할 수 있습니다. 어떤 분들은 앵그리버드를 깔아서 TV에서 게임을 즐기기도 하시더군요. 이런 확장성은 TizzBird의 큰 장점입니다.

그렇다면 안드로이드 앱 중에서 TizzBird를 NAS로 기능하게 할 수 있는 프로그램도 있을 것이라 생각하고 검색을 해보았습니다. 현재 안드로이드 앱 마켓에서 NAS를 지원하기 위한 파일관리 서버로서 Samba(CIFS) 지원 제품, FTP 지원 제품, WebDav 지원 제품들이 있었습니다.

Samba는 윈도우즈 파일 공유 프로토콜을 의미하기 때문에 이것만 지원한다면 윈도우즈 PC에서 네트웍 드라이브로 연결하여 탐색기에서 통합하여 파일을 관리할 수 있습니다. 아주 편리하기 때문에 다른 것은 쳐다볼 필요도 없습니다. 그런데 Samba는 139, 445 두 포트를 사용하는데 안드로이드의 유저 프로그램은 1024번 아래의 포트를 사용하지 못하는 문제가 있습니다. (이것은 사실 리눅스의 보안 관련 제한입니다. 슈퍼유저가 실행하는 프로그램이 아닌한 1024번 아래의 포트를 사용하지 못합니다) 그래서 안드로이드 앱 마켓에서 제공되는 Samba 서버들은 모두 1024번 이상의 포트를 사용합니다.

그렇다면 윈도우즈 OS에서라도 네트워크 공유를 위한 포트 변경이 가능해야 하는데 그것도 불가능합니다. 결론적으로 안드로이드에서 Samba 서버는 돌릴 수 있어도 윈도우즈에서 연결을 하지 못하고 반면 Mac OSX에서는 연결이 가능한 아이러니가 있습니다. 그래서 Samba는 후보에서 제외되었습니다.

다음으로 고려해볼 수 있는 것이 WebDAV5입니다. WebDAV는 HTTP 기반의 공동 저작을 위한 파일관리 프로토콜입니다. 간편한 프로토콜이지만 널리 사용되지는 않습니다. 윈도우즈에서는 Network Places (내 네트워크 연결)을 통해서 Native하게 WebDAV를 지원하고 있습니다만 실제 사용해보니 파일이 많아질 경우 매우 느리고, 탐색기가 응답없는 경우가 많아서 사용에 어려움이 많았습니다. 그래서 WebDAV도 후보에서 제외되었습니다.

TizzBird에 FTP서버 설치

남은 건 제일 만만한 FTP입니다. FTP는 아주 유명하고 많이 사용되는 파일 전송 프로토콜로서 많은 도구들과 사용 경험들이 있습니다. 안드로이드용 FTP서버는 SwiFTP가 가장 유명한데 이 프로그램의 문제는 안드로이드 시스템이 리부트될 때 자동으로 시작되지 않는다는 겁니다. 반드시 SwiFTP를 수동으로 실행시켜야 하는 불편한 문제가 있습니다.

그래서 대안으로 찾아낸 것이 FTP Server Ultimate 라는 제품입니다. 이 제품은 무료이고 더 고급 기능이 있는 FTP Server Ultimate Pro가 있습니다만 무료 제품만으로도 충분히 사용가능합니다. 이 서버를 만든 Ice Cold라는 회사에서 Samba, WebDAV 등의 다양한 프로토콜 서버들도 만들고 있으니 참고 바랍니다.


TizzBird는 스마트폰이 아니어서 Google 인증을 받지 못합니다. 그래서 예전에는 APK 파일을 직접 구해 넣어 설치를 해야 했는데 최근에 펌웨어 업그레이드가 되면서 블랙마켓의 일종인 1Mobile Market이 도입되었습니다. 이를 통해서 왠만한 안드로이드 앱들을 검색해서 쉽게 설치할 수 있습니다.

1Mobile Market을 이용하기 위해서는 TizzBird 메인에서 "어플리케이션"으로 들어가 1Mobile Market 아이콘을 선택하면 됩니다. 이때 키보드 입력 등이 필요하므로 스마트폰에서 TizzRemote를 사용하는 것이 좋습니다. (아래 관련글 참고) 그러면 Google Play와 유사한 화면이 뜹니다.


검색창에서 "FTP Ultimate"라고 검색하면 바로 원하는 FTP Server Ultimate를 찾을 수 있습니다. 다운로드를 클릭하면 잠시 후 몇가지 확인을 거친 후 다운로드 및 설치가 됩니다.


FTP Server Ultimate 설정

다시 어플리케이션 메뉴로 돌아오면 FTP Server라는 항목이 생겼음을 알 수 있습니다. 이제 몇가지 설정을 위해 이 아이콘을 클릭하여 실행합니다.


그러면 아래 사진과 같은 메뉴들이 나옵니다. 여기서 전체적인 설정을 먼저하기 위해 "Settings"를 클릭합니다.


전체 설정에서는 Start the app on boot에 체크를 해서 시스템 부팅시 자동으로 서버가 시작하도록 설정합니다. 그리고 Save all server settings to sdcard에 체크 표시를 해서 설정들을 SD카드로 저장합니다. 이러면 서버 프로그램이 업그레이드되어도 설정 사항들이 초기화되지 않습니다.


TizzBird 리모컨의 Back 버튼을 누르면 변경한 설정을 저장할 거냐고 묻습니다. 예라고 하면 다시 FTP Server Ultimate의 메 인으로 나옵니다. 여기서 Add 버튼을 눌러 FTP 서버 인스턴스를 추가하고 설정을 합니다. 무료버전은 이 서버 인스턴스의 갯수에 제한이 있습니다만 보통은 하나의 서버만 있으면 되므로 굳이 유료버전이 필요하지는 않습니다.

Add버튼을 누르고 나서 FTP Server를 클릭하면 새로운 서버 인스턴스가 생깁니다. 만일 보안에 민감하다면 SFTP를 선택하면 됩니다만 내부망에서만 사용하는데다가 SFTP의 경우 암호화 과정이 필요하기 때문에 TizzBird에 부하를 많이 줄 가능성이 있습니다. 그러므로 그냥 FTP를 선택하는 것이 나을 듯 합니다. Dynamic DNS Updater도 있습니다만 저는 공유기의 Dynamic DNS를 쓰기 때문에 굳이 여기서 설정하지는 않았습니다.


FTP서버 설정의 전반부는 서버 이름과 포트 설정입니다. 서버 이름은 적당한 걸로 주고 포트는 기억하기 쉬운 1024보다 큰 숫자를 입력합니다. 저는 2121을 선택했습니다. 원래 FTP 포트가 21번이므로 기억하기 쉽게요.


설정의 후반부는 로깅에 대한 것과 부팅시 자동으로 시작할 것인지 여부(Start on boot) 그리고 오류시 자동 재시작 여부(Respawn)에 대한 것들입니다. Start on boot와 Respawn 항목에 대해 체크 표시를 해줍니다.


그리고 상단의 Users 탭을 선택하여 사용자를 추가합니다. 최소한의 보안으로 Anonymous 접속을 막기 위해 필요합니다. 그리고 Add 버튼을 클릭하면 사용자 추가 화면으로 넘어갑니다.


원하는 Username과 Password를 입력합니다. 그리고 중요한 것이 Document Root입니다. 이는 FTP로 접속했을때 여기서 지정한 폴더 아래로만 접근이 가능하도록 제한하는 기능입니다. 만일 저와 같이 USB 디스크를 꽂으셨다면 /mnt/sdcard/scsi_sda1/ 으로 설정해야 하고, 3.5인치 하드디스크를 연결하셨다면 /mnt/sdcard/sata_sda1/ 으로 설정해야 합니다. 아래의 Browse 버튼을 클릭하여 직접 폴더를 선택하는 것이 편리합니다. 마지막으로 Allow write access에 체크표시를 해야 FTP로 파일 쓰기 및 지우기가 가능합니다.


이 과정이 완료되면 아래 사진과 같이 지정한 이름의 FTP서버 인스턴스가 보입니다. 그러나 stopped 상태일 겁니다. 상단의Start 버튼을 누르면 started 상태로 바뀌면서 FTP 서버가 활성화됩니다.


이제 PC에서 테스트해 볼 차례입니다. FTP 클라이언트로는 FileZilla가 가장 편리합니다. 없다면 http://filezilla-project.org에서 다운로드받아 설치하면 됩니다. 그리고 TizzBird의 IP와 포트 2121 그리고 만든 계정을 입력하여 접속하면 아래 그림과 같이 폴더들이 보이고 파일의 업로드 및 다운로드가 됨을 확인할 수 있습니다.


마지막으로 TizzBird를 완전히 종료한 후 새로 부팅하여도 FTP서버가 자동으로 시작되는지 확인해보시기 바랍니다. FTP서버가 시작할 때는 부팅 후 TizzBird 메인화면에서 잠깐 FTP서버가 뜨는 화면이 표시됩니다. 그리고 FileZilla로 테스트해 보시기 바랍니다.

이제 TizzBird에 연결된 저장소에 원격으로 접속할 수 있으므로 미디어들을 편리하게 넣거나 백업할 수 있습니다. 이렇게 안드로이드를 지원하는 미디어 플레이어는 원하는 기능을 앱 설치를 통해 확장할 수 있어 편리합니다. 예를 들어 안드로이드 게임들을 설치한다면 게임기가 되는 거겠죠. 물론 터치가 지원되지 않으니 완벽하지는 않습니다만... 뭘 깔아서 TizzBird를 변신시켜보나 하는 고민을 계속해보아야 겠습니다.

댓글 없음:

댓글 쓰기