Skip to content

openVidu 백엔드 서버 구축

Dongsik Choi edited this page Jun 18, 2021 · 1 revision

openVidu 서버 구축

백엔드에서 openVidu 서버 구축 방법입니다.

openVidu란?

OpenVidu는 웹 또는 모바일 애플리케이션에서 화상 통화 추가를 용이하게하는 플랫폼입니다. 애플리케이션에 통합하기 매우 쉬운 완전한 기술 스택을 제공합니다. 우리의 주요 목표는 개발자가 코드에 미치는 영향을 최소화하면서 앱에 실시간 통신을 매우 빠르게 추가 할 수 있도록하는 것입니다.

https://docs.openvidu.io/en/2.18.0/

여기서는 vue로 openVidu서버를 사용하기 위한 백 단에서 구축방법을 설명합니다. 아래와 같은 로직으로 구성되어 있습니다.

image

백 엔드 서버 구축 뿐만아니라 프론트 엔드에서 라이브러리 사용방법이 공식 홈페이지에 잘 정리되어 있으니, 참고 바랍니다.

https://docs.openvidu.io/en/2.18.0/tutorials/openvidu-insecure-vue/

서버 구축

준비물 : aws(여기서는 letsencrypt로 SSL을 받기 때문에 기본 aws 주소로는 발급이 안됩니다. 기본 aws에서 발급되는 주소가 아닌, 다른 도메인이 있어야합니다. -> letsencrypt(신뢰성 인증) 안쓰고 무료로 직접 구축하면 처음 접속할 때 경고 창 뜨거나 주소 창에 빨간색이라 안예쁨.)

openvidu 튜토리얼 버전입니다.


  1. openVidu를 내려 받습니다.
git clone https://github.com/OpenVidu/openvidu-tutorials.git -b v2.18.0
cd openvidu-tutorials/openvidu-insecure-vue
npm install
npm run serve
  1. 도커로 실행합니다. 이전에 도커는 설치디어 있어야합니다.
# WARNING: this container is not suitable for production deployments of OpenVidu Platform
# Visit https://docs.openvidu.io/en/stable/deployment

docker run -p 4443:4443 --rm -e OPENVIDU_SECRET=MY_SECRET openvidu/openvidu-server-kms:2.18.0

여기까지 poenvidu 튜토리얼 기본 셋팅입니다.


져는 여기서 도커가 아닌, 온프레미스 버전을 사용했습니다.

서버가 하나일 경우, 도커를 쓰는 것이 더 바람직할 것 같습니다. ( 저는 서버가 두 개 였습니다. )

도커로 하실 경우, 도커로 띄운 서버 안에 들어가서 밑과 같이 작업하시면 될 것 같습니다.

온프레미스 서버 구축

  1. opt 폴더 아래 openvidu 서버를 설치합니다. 정상적으로 설치되고 기본 지침이 나오는 것을 확인할 수 있습니다.
cd /opt
curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_openvidu_latest.sh | bash
  1. 서버 환경 셋팅을 위해 /opt/openvidu 디렉터리 안에서 env를 열어야합니다.
cd /opt/openvidu
vi .env
  1. env에서는 openvidu 설정을 할 수 있는 곳입니다.

image

DOMAIN_OR_PUBLIC_IP는 현재 서비스 도메인이나 ip를 입력

OPENVIDU_SECRET는 프론트와 백엔드연결을 위한 비밀 키입니다. 프론트 백엔드 설정을 맞춰야합니다.

CERTIFICATE_TYPE는 SSL 암호화를 어떤 식으로 설정할지 정하는 것입니다. 무료버전인 letsencryppt를 사용합시다. (위에서 말한 듯이 aws 기본 제공 도메인이면 안됩니다! 그림은 ssafy에서 제공해주는 도메인)

LETSENCRYPT_EMAIL은 SSL을 받기 위한 이메일 인증 부분입니다.

  1. 위와 같이 인증하고 새 시작을하시면 됩니다.
./openvidu start # openvidu 실행
./openvidu restart # 재시작

그러면 이제 밑과 같은 도메인을 통해 접속하여 수행할 수 있습니다.(프론트 서버에서 연결)

https://DOMAIN_OR_PUBLIC_IP:HTTPS_PORT/

다만, 하나의 서버에 openvidu 연결은 하나만 가능합니다. 프론트 서버 하나만 붙는 것이 가능하며 프론트 서버가 두 개 붙을 경우(서버 프론트와 로컬 프론트가 붙을려고하면) 먼저 선점하고 있는 서버만 붙습니다.

마치며..

처음 링크를 따라가면 라이브러리 사용법 등이 나와있어서 프론트에서도 구현하기에는 쉽습니다. 그러나 구축이 빠르고 쉽지만, 커스튬에 많은 문제가 있습니다.(화상채팅에 AR를 입히거나 등등..) 이럴 경우, 라이브러리를 뜯어보거나, Kurento WebRTC를사용해야합니다.

그 외 더많은 기능

https://docs.openvidu.io/en/2.18.0/advanced-features/recording/

Clone this wiki locally