Intro
집에서 와이프가 넷플릭스로 드라마를 보다가 스트리밍 서비스에 올라와있지 않은 영상은 애플티비로 볼 수 없는지 투덜대었습니다.
집에 남는 노트북에 우분투 서버를 올려 개인 서버 역할을 한지 어느덧 1년이 넘어가고 있는데, 그걸 이용하면 될 것 같아서 일단 된다고 대답을 했습니다.
그리하여 시작된 Plex 미디어 스트리밍 서버 구축기를 시작 해 보겠습니다.
PLEX 설치
패키지 업그레이드
일단 시작에 앞서 모든 패키지를 업그레이드 해 줍니다.
sudo apt update && sudo apt upgrade -y
Plex 공식 저장소 등록
plex 사이트에 안내된대로 저장소를 등록 해 줍니다.
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
plex 서버 설치
저장소가 등록이 되었으면 설치 해 줍니다.
sudo apt update
sudo apt install plexmediaserver
종속성 설치에 316 MB의 추가 디스크가 필요 하다고 합니다.
설정 파일이 생성 되었는데 패키지 안에도 있다며 어떤걸 이용할 지 물어봅니다. 저는 만든 적 없는데 있다고 하니 알아서 패키지에 포함된걸로 해 달라고 Y 를 입력 합니다.
설치가 끝난 후에는 plex 서버가 돌아가고 있는지 확인 해 봅니다.
sudo systemctl status plexmediaserver
233MB의 메모리를 사용 하며 잘 돌아가고 있다고 합니다.
32400 포트를 사용한다고 알고 있는데, 혹시나 랜딩페이지나 헬스포인트가 있을까 싶어 내부아이피로 요청을 보내 보았더니
XML로 응답이 정상적으로 옵니다! 서버가 잘 돌아가고 있습니다.
랜딩페이지를 찾아보니 /web
이라고 하길래 192.168.0.10:32400/web
로 요청을 보내 보았습니다.
로그인 하는 페이지가 나옵니다! 저는 구글 아이디로 로그인을 해 보았습니다.
로그인 후에는 정상적으로 Plex 서버에 접속 하게 됩니다. 혹시 저처럼 외부망이 아니고 내부 망으로 접속했다면 연결이 바로 되지 않고 무한 로딩이 될 수 있습니다. 그럴때는 아이피주소:포트/web 주소를 다시 입력해 접속 해 줍니다.
요금제에 대한 정보가 나오지만, 무료로도 충분히 이용 할 수 있습니다. 우측상단의 X를 클릭해 닫아줍니다.
서버와 내부망이 같지 않을경우
여기에서는 서버와 내부망이 같지 않아 Not authorized 인 상태인 경우에 대해 다룹니다.
정상적으로 설정 화면이 뜬 경우에는 아래의 PLEX 설정까지 스크롤을 내려주세요.
Not authorized You do not have access to this server
외부의 Cloud 를 사용하는 등의 경우에는 서버와 접속하는 브라우저의 내부 망이 다를 수 있는데요, 이때는 PLEX 서버 입장에서는 관리자가 접속한 게 맞는지 아니면 다른 제 3자 인지를 확인 할 방법이 없기 때문에 Not authorized 라며 서버 설정으로 넘어가지 못합니다. 이때는 PLEX가 설치된 서버 내부에서 요청을 보내줘야 하는데요.
처음에는 Dynamic proxy 로 시도를 해 보았는데 안되는걸로 봐서는 외부망을 타지 말고 바로 연결이 되어야 하는 모양이더라고요. 이때는 ssh의 -L 옵션으로 plex 서버의 32400 포트를 설정할 PC의 로컬호스트 32400 포트에 포워딩 해 주고
ssh [PLEX서버아이피] -L 32400:127.0.0.1:32400
그 이후에 웹브라우저에서 http://localhost:32400
으로 접속하면 Not authorized 를 해결 할 수 있습니다.
PLEX 설정
x 를 눌러 요금제 팝업을 닫고 나면 설정 화면이 나옵니다.
이름 설정
원하는 이름을 설정 하고 NEXT를 눌러 줍니다. 외부 네트워크에서도 접속 할 수 있게 하려면 체크박스도 표시 해 줍니다.
NEXT를 누르고는 제법 설정에 시간이 걸립니다.
Media Library
이번에는 미디어 라이브러리를 설정 해야 하는데요. 아직 준비 한 파일이 없으니 준비를 해야 합니다.
아래는 설치 가이드에서 알려주는 폴더, 파일명 규칙 입니다.
이를 활용해서 테스트용으로 영화 트레일러를 하나 넣어 보겠습니다.
mkdir -p plexmedia/{movies,series}
일단 적당한 위치에 plexmedia 라는 폴더를 생성하고, 그 아래 movies, series 라는 폴더를 만들었습니다.
이제 탑건 영화 예고편을 movies 하위에 Top Gun(2022).mov
라는 이름으로 다운 받아봅니다.
wget https://movietrailers.apple.com/movies/paramount/top-gun-maverick/top-gun-maverick-trailer-3_h1080p.mov ~/plexmedia/movies
mv top-gun-maverick-trailer-3_h1080p.mov 'Top Gun(2022).mov'
파일명은 plex 가 원하는 대로 맞춰 줍니다.
이제 미디어 라이브러리가 준비 되었으니 등록 해 봅니다.
Type은 Movies로
/home/shane/plexmedia/movies
경로를 추가 합니다.
같은방법으로 Tv Show도 추가 해 주었습니다. 이제 NEXT를 클릭 합니다.
모든 설정이 준비 되었다고 합니다.
사이드바에 나올 메뉴를 선택 하고 FINISH SETUP을 클릭 해 줍니다. 맨위에 Movies, Tv Shows 만 빼고 다 선택 해제하는걸 추천합니다.
드디어 구축한 서버가 준비 되었습니다!
이제 Movies 폴더를 클릭 해 보면..
제가 준비해둔 Top Gun 예고편이 들어 가 있습니다.
제목과 년도를 파일명에 넣어 줬을 뿐인데, 알아서 Plex가 영화 제목과 영화 포스터를 넣어 주네요.
이제 재생을 해 보려 하는데..
Error code: s1001 (Network)
저는 에러가 발생 했습니다. 여기서 무사히 재생이 된다면 그걸로 완료지만 s1001 에러가 발생했을때는 대부분 DB가 꼬여서 그렇다고 `com.plexapp.plugins.library.db' 파일을 초기화 해 주면 된다고 합니다.
저는 그냥 서버를 재설치 해 보았고, 해결이 되었습니다.
Plex Media Server 삭제
https://support.plex.tv/articles/201941078-uninstall-plex-media-server/
공식 홈페이지에 나와있는 삭제 방법을 따르면 됩니다.
dpkg -r plexmediaserver
sudo rm -rf /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/
이후 재설치는 위로 다시 올라가 PLEX 설치의 저장소 등록, APT 업데이트 부터 다시 똑같이 진행 하면 됩니다.
재 설치 후에 영상이 정상적으로 재생 되는것이 확인 됩니다.
마치며
처음 인트로에서 말했던 것 처럼, 이제 Apple TV로 재생을 해주기만 하면 됩니다.
별로 어렵지 않게, Apple TV 에서 PLEX 어플을 다운 받고, 방금 PC에서 로그인 했던 아이디로 로그인만 해주면 자동으로 로컬 서버로 접속을 해줍니다.
지금까지 구축한 PLEX 서버를 통해 와이프는 바로 거실에서 재밌게 티비를 보고 있습니다.
이렇게 PLEX를 활용하면 집에 자신만의 동영상 스트리밍 서버를 간단하게 구축 할 수 있으니 한번 해두는것도 제법 괜찮습니다.
이상입니다.
ref
'IT ⁄ Computer > Linux' 카테고리의 다른 글
(Linux 서버로 사용중인) 노트북 SSD/하드 추가 및 마운트 (0) | 2022.12.01 |
---|---|
(Linux 서버로 사용중인) 노트북 메모리 추가 (0) | 2022.11.27 |
Linux) watch 명령을 이용해 ls 명령어 실시간 호출하기 (0) | 2022.06.17 |
Linux 에서 열려있는 파일을 삭제할 때 일어나는 일 (0) | 2022.06.13 |
Linux) 스왑(swap) 메모리 설정 변경 (0) | 2022.05.31 |