이번 포스트는 대망의 zoneminder를 설치하는 포스트 이다.
zoneminder는 서비스 개시된지 무려 20년이 넘은 장수프로그램이다. 그래서 관련 Documentation이 잘되어 있는 편이긴 한데…
그렇다고 엄청나게 많은 정보가 있는 편이 아니다…. 오래는 되었지만 그만큼 직접 사용하며 운영하는 사용자들은 그리 많지 않다는 애기일 것 이다.
어찌됐든, 관련 링크를 걸어 둔다. –<Link>
자 그럼 설치를 시작해보자. zoneminder 공식 페이지의 설명대로 하면 십중팔구 데이터베이스 설정 단계에서 에러가 난다. 그것을 고려하여 진행하겠다.
시작에 앞서 내 시스템에 대한 설명을 먼저 깔아두고 진행하려 한다.
OS : Ubuntu 22.04 LTS (몇 일전에 20.04 Focal에서 업데이트 하였다)
웹서버 : Apache2.4.52
데이터베이스 : mysql 8.0.41
PHP : 7.4 (요즘은 8.x가지 나온 상태인데…사용 중인 owncloud가 7.X 까지만 지원하고 있는 상태라 8.X을 깔아는 뒀지만 웹에서는 7.4 버젼을 유지사용 중이다)
참고로 설치하려는 zoneminder는 v1.36 이다.
준비가 되었다면, 리눅스 터미널에서 아래 명령어를 순차적으로 실행한다.
zoneminder는 기본적으로 웹브라우져를 활용한 서비스이다. 그러므로 mysql, php, mysql 이 모두 필요하다.
아울러, 외부에서도 서비스가 가능하게끔 하려면 외부에서 접속할 수 있는 도메인 주소도 필요하다. 도메인 주소가 없다면 IP주소로 접근하면 되겠지만….가정에서 사용하는 IP는 주소는 유동IP이다. 가정내에서 내부IP로만 접근하는 경우는 상관없겠으나….만일 이 부분을 아직 잘모른다면 웹서버 구축에 대한 공부를 먼저 해두것이 필수다. 당장 본 글을 닫고 웹서버에 대해서 공부를 먼저 하기 바란다.
내 블로그에도 관련 글이 있으니 좋은 참고가 되길 바란다.
Good Daddy의 Ubuntu 리눅스 NAS 2강 – 웹서버 on NAS 개념좀 잡고가기 – 굿대디의 지식공유 일기
Good Daddy의 Ubuntu 리눅스 NAS 3강 – LAMP설치 on NAS – 굿대디의 지식공유 일기
Good Daddy의 Ubuntu 리눅스 NAS 4강 – LAMP설치 후 웹서버 구동하기 – 굿대디의 지식공유 일기
자 서론이 길었다. 이젠 zoneminder 패키지를 설치 할 단계이다.
여기서 zoneminder가 mysql에 zm이라는 db를 설치하고 zmuser라는 mysql 유저도 생성을 할 것이다.
문제는 mysql 정책상의 문제로 zoneminder의 설치 스크립트로는 mysql 설치 중 zmuser의 권한 장애가 발생하는 경우이다.
설치가 원활히 되었다면 OK 이지만, 설치가 mysql 상의 문제로 정상적으로 완료 되지 않는다면 아래를 계속 읽어 주기 바란다.
먼저, /etc/zm/zm.conf 를 열어보자.
ZM_DB_NAME=zm
ZM_DB_USER=zmuser
ZM_DB_PASS=zmpass
요 3개를 환경설정 값을 찾아서 눈여겨 보자. 문제는 여기서 부터 발생한다.
mysql의 기본설치시 비밀번호 정책은 zmpass같이 복잡도가 낮은 비밀번호는 못쓰게 되어 있다. 그런데 어쨌든 계정 생성은 되지만 mysql에 접속을 하지 못할 것이다.
그러므로 첫째로, /etc/zm/zm.conf를 열어서 zmpass말고 복잡한 비밀번호로 이 값을 대체한다.
이번에는 mysql에 root로 접속한다. 접속하는 방법은 mysql -u root -p를 쳐서 접속한다.
그런 후 mysql에서 각각 아래의 명령을 실행한다.
mysql 실행하면서 다른 에러 없이 원활히 진행이 되었다면, 위에 sudo apt install zoneminder를 재실행하여 준다.
위의 조치로 mysql 상의 권한 문제가 해소되었으므로, 이번에는 설치가 성공할 것 이다.
그렇다면, 이제는 다른 웹서버 아파치에서 아래의 conf를 작동시켜 준다.
그러면 이 스크립트가 아파치 웹서버에 반영된다.
자, 이젠 설치가 모두 끝났다. 아파치 웹서버를 재가동 시키고, Zoneminder도 재가동 시킨다.
이젠 웹브라우져를 열고 아래와 같이 쳐보자.
자신의 도메인이 있고, 웹서버를 도메인에 물렸다면, 자신의 domain.com/zm을 웹브라우져 주소에 쳐보시라
그렇지 않고, 자신의 PC에 웹서버가 있고 zoneminder가 설치되어 있다면 localhost/zm을 웹부라우져 주소에 쳐보시라.
zoneminder는 이렇게 /zm이라는 subdirectory를 붙혀서 주소를 연결시켜주는 컨셉이라…. 나같은 경우는 아예 zm.mydomain.com 이라는 식으로 virtual host를 하나 만들어서 진행하려 했는데….어떠한 이유로 로그인, 촬영은 모두 되는데 , 카메라 스트리밍이 되지 않아 포기하고 그냥 subdirectory로 쓰기로 하였다.
아래가 zoneminder의 작동 모습이다.
설치는 이렇게 끝났지만, zoneminder 내부적으로 상당히 많은 옵션이 있어서 앞으로 활용방법에 대해서는 더 공부를 해야 한다.
일단 설치가 끝났다면 id/password로 로그인할 수 있게 OPT_USE_AUTH 옵션을 무조건 활성화 하여야 한다.
그렇지 않다면, 해당 주소를 타고 접속하는 제3자에게 그대로 비디오가 노출되고 만다. (정말 주의할 것 ㅎ)
작동 모습
댓글을 남겨주세요