Synology NAS 에 발급 받은 인증서를 라즈베리파이 nginx 에 적용하기

 

Synology NAS 도 가지고 있고 라즈베리파이도 가지고 있는 상태에서

 

라즈베리파이의 nginx 세팅에 인증서를 적용하고 싶다면 다음과 같은 방법으로 사용

 

1. Synology NAS 에서 인증서 내보내기

제어판 -> 보안 -> 인증서

해당 인증서 선택 후 마우스 우클릭 -> 인증서 내보내기

 

인증서 내보내기를 하면 압축파일을 다운로드 할 수 있다.

2. 라즈베리파이 접속 (nginx 가 설치 되어 있는 상태)

mkdir -p /home/pi/cert

/home/pi/cert 경로에 다운로드 받은 인증서 압축 파일 업로드

unzip _archive.zip

unzip 명령으로 압축 파일 해제

3. pem 파일 합치기

압축을 해제 하면 cert.pem, chain.pem, privkey.pem 파일이 보이는데

이 중 cert.pem 과 chain.pem 파일을 합쳐야 한다.

다음 명령으로 파일을 합치자.

cat cert.pem > fullchain.pem && echo -e "\n" >> fullchain.pem && cat chain.pem >> fullchain.pem

4. nginx 설정 변경하기

sudo vi /etc/nginx/sites-enabled/default

server 설정 부분 중 빨간 색 부분 확인

server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
#


listen 443 ssl default_server;
listen [::]:443 ssl default_server;


# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
include snippets/snakeoil.conf;

root /var/www/html;

# Add index.php  to the list if you are using PHP

index index.html index.htm index.nginx-debian.html index.php;

server_name pi.acidpop.kr;

ssl_certificate /home/pi/cert/fullchain.pem
ssl_certificate_key /home/pi/cert/privkey.pem

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;

# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

 

5. 빨간색으로 표시 된 부분을 추가/수정 한 다음 설정을 다시 로딩하기

 

sudo /etc/init.d/nginx reload

 

 

Synology SurveillanceStation 은 각종 cctv 등을 추가 할 수 있다.

 

라즈베리 파이에 카메라가 있는데 이 카메라도 추가 할수 있을까 해서 구글을 검색 해보니 방법이 있다.

 

다음 순서대로 해보자.

 






 

준비물

- Raspberry pi

- Raspberry pi 전용 Camera

- Synology NAS DSM 5.2

 



1. VLC 설치.

 

sudo apt-get install vlc


 

2. RTSP Streaming 실행


 raspivid -o - -t 9999999 |cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264


  

RTSP Streaming 까지 실행 되었다면 Raspberry pi 의 RTSP 주소는 다음과 같다.

 

rtsp://<RaspberryPi-IP>:8554


 

 

3. DSM 의 SSH 로 접속 (putty 또는 xshell 등의 접속 툴 이용)

 

root 로 접속 한 뒤에 다음 경로로 이동 한다.


cd /volume1/@appstore/SurveillanceStation/device_pack/camera_support

 

 

volume뒤 숫자는 사용자마다 환경이 다르니 적절하게 변경해서 사용 한다.

 


4. Raspberry Pi Camera 환경 설정 파일 추가.

 

nano RaspberryPiCam.conf


 

편집기가 실행 되었다면 다음 내용을 붙여넣기 한다.

[RaspberrIPCam*RaspberrIPCam]
api = custom
channel_list = 1
default_channel = 1
resolutions_h264 = 1280x720
default_resolution_h264 = 1280x720
fps_h264_1280_720 = 30
default_fps_h264_1280_720 = 30
default_image_quality = 5
h264 = rtsp
mjpeg = rtsp
rtsp_protocol = udp

 



5. Synology DSM 관리자 페이지 접속


패키지 센터를 실행 하여 Surveillance Station 항목 클릭.




작업 택을 클릭하여 중지 한번 클릭 하고


중지가 완료 된 다음 다시 작업 택을 클릭 하여 실행을 클릭한다.





6. IP Camera 추가


Surveillance Station 의 관리 페이지로 들어 가서


IP Camera 추가 버튼을 클릭한다.



브랜드 에서 RaspberrIPCam 을 선택 하고


이름에는 적당한 이름을 입력


IP 주소에는 Raspberry PI 의 IP

포트는 8554 를 입력한다.


사용자 이름, 패드워드는 입력하지 않아도 된다.


다음 버튼을 눌러 IP Camera 추가를 완료 한다.



7. 확인


Raspberry PI 카메라로 화면에 보이는지 확인해본다.




Tip.


Raspberry Pi 카메라를 SSH 접속을 종료 해도 사용하고 싶다면


vi stream.sh

위 명령으로 stream.sh 파일을 생성하고 아래 내용을 붙여 넣기 한다.


raspivid -o - -t 9999999 |cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264


편집기를 저장 후 닫기 한 다음


nohup stream.sh &


위와 같이 실행한다.




  1. min 2017.09.20 17:52

    RTSP Streaming 실행에서 에러가 나네요.
    라즈비안 설치하고서 바로 깔았는데 안되요. ㅠ.ㅠ

    • min 2017.09.20 17:54

      카메라 enable 설정 다 했고, 카메라 테스트하면 정상 인식되고 촬영도 되는데, 저 설정이 안되네요.

    • BlogIcon Acidpop acidpop 2017.09.22 09:54 신고

      안녕하세요 답글이 늦었습니다.

      실행 할 때 어떤 에러가 나는지 알려주셔야 제가 답을 해드릴수 있어요..
      그렇지 않으면 저는 수많은 케이스를 다 찾아 봐야 하는데 불가능하겠죠?


 

Raspbian 에서 apt-get 으로 설치 할 수 있는 python 버전은 3.4 이다.

 

현재(2016/10/11 일 기준) python 버전은 3.5.2 이다.

 

python 소스를 받아서 3.5 버전을 설치 하는 방법을 포스팅 한다.

 

1. raspbian 업데이트

 

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade   <-- 이 명령은 굳이 안해도 된다.

 

2. 컴파일에 필요한 라이브러리 설치.

 

 

sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl

 

 

3. Python 소스 다운로드 및 컴파일, 설치.

 

 

 

cd /home/pi/

mkdir temppython

cd temppython

wget "https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz"

tar xvf Python-3.5.2.tgz

cd Python-3.5.2

./configure

make

sudo make install

 

 

4. pip 설치.

 

 

wget https://bootstrap.pypa.io/get-pip.py

sudo python3.5 get-pip.py

pip3.5 --version

  1. 라즙이 2017.07.23 12:33

    이 방법으로 설치를 했는데 python3 -V를 해도 3.4.2로 나오네요. 기존 버전을 따로 처리하거나, 3.5.2로 컴파일 하기 위해선 다른 명령어를 써야 하는 건가요?

  2. 감사 2017.10.30 16:31

    감사합니다 덕분에 쉽게 설치했어요!!

  3. 라즈베리파이입문생 2017.11.20 23:03

    작성자님
    sudo python3.5 get-pip.py부분을 입력하면 오류가 뜨는데 이건 뭐가 잘못된 건가요??

  4. 라즈베리파이입문생 2017.11.20 23:38

    Could not find a version that satisfies the requirement pip (from versions:)
    No matching distribution found for pip 라고 뜹니다...

    • 라즈베리파이입문생 2017.11.20 23:41

      그 전에
      Could not fetch URL https://pypi.python.org/simple/pip/:
      There was a problem confirming the ssl certificate:
      Can't connect to HTTPS URL because the SSL module is not available. - skipping
      Could not fetch URL https://www.piwheels.hostedpi.com/simple/pip/:
      There was a problem confirming the ssl certificate:
      Can't connect to HTTPS URL because the SSL module is not available. - skipping
      Could not find a version that satisfies the requirement pip (from versions: )
      No matching distribution found for pip 라고뜹니다......

    • BlogIcon Acidpop acidpop 2017.11.21 10:15 신고

      sudo python3.5 get-pip.py --trusted-host pypi.python.org

      이렇게 뒤쪽에 옵션을 붙여줘보세요

  5. 라즈베리파이입문생 2017.11.21 10:55

    작성자님 sudo python3.5 get-pip.py --trusted-host pypi.python.org
    라고 입력하였는데 똑같은 오류가 발생하였습니다...

    • BlogIcon Acidpop acidpop 2017.11.21 11:06 신고

      흠.. 글쎄요.

      혹시 제가 터미널에 접속 해 볼수 있을까요?

      비밀 댓글로 남겨주실수 있으시면 확인 하고 댓글은 바로 삭제 하겠습니다.

  6. 2017.11.21 21:39

    비밀댓글입니다

    • BlogIcon Acidpop acidpop 2017.11.21 21:48 신고

      pip가 환경 변수경로에 등록이 안되어 있을수도 있습니다

      sudo find / -name “pip”

      위 명령으로 pip 가 실제로 있는지 확인 해보시고 있다면 전체 경로로 실행해보세요

 








※ 이미지 출처 : https://www.adafruit.com/products/2885






Raspberry PI Zero 가 출시 되었습니다.


사양은 아래와 같습니다.

 


 브로드컴 BCM2835AP

    - 1GHz ARM11 core (Raspberry Pi1 보다 40% 빠름)

 LPDDR2 SDRAM 512MB

 Micro-SD 슬롯

 mini HDMI 단자 1080p60 비디오 출력

 Micro USB 단자 x2

    - 1. 전원

    - 2. USB Data

 핀이 없는 40-pin GPIO

    - PIN 배열은 A+/B+/2B 와 동일

 핀이 없는 RCA 비디오 단자

 작은 크기, 65mm x 30mm x 5mm

 저렴한 가격 $5 (국내 출시가는 이보다 비싸게 나올듯..)








개인적인 바램으로는 Zero 같은 크기에 Wifi 모듈이 통합된 Raspbery Pi 가 있으면 더 좋겠다 싶음.


+ Recent posts