Ubuntu에서 subsonic 설치 및 nginx reverse proxy 설정하고 DSD 파일 불러오기

Ubuntu 에서 Subsonic 설치 및 nginx reverse proxy 설정하기

준비물

  • Ubuntu
  • Nginx

설치환경

  • Ubuntu 16.04 Server 64Bit

SubSonic 설치

Subsonic 을 설치하고 구동하기 위해서는 JAVA가 필요하니 먼저 아래와 같은 명령어로 openjdk를 설치한다, 8버전이나 9버전이나 구동에는 아무런 문제 없지만 공식 사이트에서 8버전을 설치하라고 하니 8버전을 설치했다.

$ sudo apt install openjdk-8-jre ##또는 openjdk-9-jre 

설치가 완료되었다면 Subsonic 홈페이지에 들어가서 다운로드 주소를 복사를 한 뒤 wget으로 받아온다.

$ wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb

전부 받았다면 dpkg 명령어로 패키지를 설치해준다.

$ sudo dpkg -i subsonic*

설치가 끝났다면 기본 셋팅값이 root 계정에서 동작이 되도록 설정되어 있다.
명령창에서 sudo 없이 subsonic만 입력해본다면 권한이 부족하다고 나올 거다.
개인이 혼자 사용한다면 그냥 sudo로 실행시켜도 문제가 없지만 오픈해두고 사용한다면 user 계정으로 동작 되도록 꼭 바꿔줘야 한다.

$ cd /etc/default
$ sudo vim subsonic

:%s/root/username/g
:wq

1

저장하고 나왔다면 서비스를 restart 시켜준다.

$ sudo service subsonic restart
$ subsonic

입력하면 sudo 없이 subsonic 만 입력해도 권한이 부족하다고 안 뜨고 아래 사진과 같이 출력 된다면 정상적으로 변경이 된 것이다.
2

설치가 정상적으로 됐는지 웹 브라우저에서 http://localhost:4040 으로 접속해본다.
기본 계정은 id pw 동일 admin 이다.
3

nginx reverse proxy 설정하기

subsonic 설정

subsonic 을 설치하고 접속하려면 항상 4040을 붙여서 접속해야 되는데 이 과정이 귀찮으니 nginx 로 reverse proxy 설정을 해보겠다.
(subsonic 만 설치 돼있다면 구동 포트를 80포트로 변경하면 되지만 80포트에서 웹 서비스가 동작 중이면 이와 같은 방법으로 설정한다)

먼저 처음에 수정했던 /etc/default/subsonic 파일을 수정한다.

$ sudo vim /etc/default/subsonic

파일을 열면 SUBSONIC_ARGS 항목뒤에 –max-memory=150 이라는 옵션값만 있을거다 이 옵션값을 아래와 같이 수정한다.

SUBSONIC_ARGS="--max-memory=1024 --context-path=/mus"

여기서 필자는 메모리를 1024MB로 늘려주고 http://localhost/mus 로 접속되게 설정했다.
만약 mus 가 아니라 다른 값을 원한다면 –context-path=/원하는주소 를 입력 해준후 저장 한후 서비스를 재시작 해준다.

$ sudo service subsonic restart

Nginx 설정

nginx 는 /etc/nginx/sites-available 경로에 있는 default 파일을 수정해주면 된다.
server 단에 아래와 같이 추가해준다.

location /mus {
            proxy_pass http://localhost:4040/mus;
            access_log /var/log/nginx/sub.accrss.log;
            error_log /var/log/nginx/sub.error.log;
    }

wq 로 저장하고 nginx 서비스를 재시작하고 http://localhost/mus 로 접속하면 subsonic 이 접속 되는걸 확인할수 있다.

4

Subsonic 소소한 셋팅

DSD 파일 재생시키기

5

subsonic 에 접속후 설정에서 “일반” -> “음악파일 종류” 에서 맨뒤에 사진과 같이 dff dsf 를 추가 한뒤 아래쪽 저장 버튼을 누르고 변환 탭으로 넘어간다.

6

“파일 변환 추가” 에서 아래와 같이 추가한다.

변환 이름 -> DSD
원본 파일 타입 -> dff dsf
결과 파일 타입 -> flac 
1  단계 -> ffmpeg -i %s -map 0:0 -sample_fmt s32 -ar 384k -v 0 -f flac -

추가해준후 저장 버튼을 누른다.
만약 이 과정으로도 dsd 파일을 못 불러 온다면 /var/subsonic/db 에 subsonic.data 파일을 지워주고 미디어 스캔을 다시 해주면 된다.

Subsonic 웹 페이지 수정하기

subsonic 웹은 JSP로 구성되어 있다.
경로는 보통 /var/subsonic/jetty/759abe/webapp/WEB-INF/jsp 위치에 있다.
여기서 jsp 파일을 수정해주면 된다.

Subsonic 미디어 스캔시 한글깨짐 문제 개선

/usr/share/subsonic 에서 subsonic.sh* 을 수정해준다.

파일 상단에 아래와 같이 추가해준다.

export LANG="ko_KR.UTF-8"
export LC_CTYPE="ko_KR.UTF-8"

추가가 완료 되면 아래로 내려와 -Djava.awt.headless=true \ 문자열 아래쪽에 아래와 같이 추가 해준다.

-Dfile.encoding=UTF8 \

추가가 완료 되었으면 wq로 저장 한뒤 subsonic 서비스를 재시작 시켜준다.

$ sudo service subsonic restart

그래도 한글이 깨진다면…..

$ sudo apt install python-mutagen  

설치후 한글이 mp3 파일이 있는 경로 이동후 아래와 같이 입력한다.

$ mid3iconv -e cp949 *.mp3