서버 구축
해당 과정을 진행하기 위해서는 CoBiz 압축 패키지 파일이 필요합니다.
CoBiz는 다수의 로봇을 실시간으로 제어하고 관제하기 위해 중앙 관제 서버를 필요로 합니다. 이 문서에서는 CoBiz 서버를 구축하는 방법에 대해 안내합니다.
시스템 요구사항
CoBiz 서버를 구축하기 위해서는 다음과 같은 시스템 요구사항을 충족해야 합니다.
하드웨어 최소 사양
| CPU | RAM | Storage | Network |
|---|---|---|---|
| 8 Core | 32GB | 1TB SSD | 100Mbps |
Docker
Docker와 Docker Compose가 설치되어 있지 않다면 Docker 설치 가이드를 참고하여 설치해 주세요.
Windows 사용자는 Rancher Desktop을 설치하면 Docker Engine과 Docker Compose를 함께 설치할 수 있습니다.
CoBiz는 Docker를 사용하여 서버를 구축합니다. 따라서 Docker와 Docker Compose가 설치되어 있어야 합니다.
- Docker Engine
24.0이상 - Docker Compose
2.x이상
내부망 네트워크 설정
Bind9 DNS 서버 설정
CoBiz는 Webcodecs API를 사용하기 위해 HTTPS 연결을 필요로 합니다. 이를 위해 내부망에서 DNS 서버를 설정하여 CoBiz 서버의 도메인을 HTTPS로 접근할 수 있도록 해야 합니다.
bind9/config 디렉터리 내 named.conf.local 파일을 수정하여 CoBiz 서버의 도메인을 설정합니다. 예를 들어, lg.moth 도메인을 사용하려면 다음과 같이 설정할 수 있습니다.
zone "lg.moth" {
type master;
file "/etc/bind/zones/db.example.com";
};
bind9/zones/db.lg.moth 파일을 생성하고 다음과 같이 설정합니다.
아래는 서버의 내부 아이피가 192.168.1.109인 경우의 예시입니다. 상황에 따라 IP 주소를 변경해 주세요.
;
; BIND data file for lg.moth
;
$TTL 604800
@ IN SOA ns1.lg.moth. admin.lg.moth. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; Name Servers
@ IN NS ns1.lg.moth.
; A Records for Name Servers
ns1 IN A 192.168.1.109
; A Records for the Domain
@ IN A 192.168.1.109
www IN A 192.168.1.109
라우터 기본 DNS 설정
라우터의 기본 DNS IP를 CoBiz 서버의 IP로 설정합니다. 이를 통해 내부망에서 dns를 이용해 CoBiz 서버에 접근할 수 있습니다.
인증서 발급
TeamGRIT에서 설정된 서버를 사용하시는 경우 인증서 발급은 이미 완료되어 있으므로 이 단계를 건너뛰셔도 됩니다.
아래 명령어를 통해 인증서를 발급받습니다. 이 과정은 CoBiz 서버의 lg.moth 도메인에 대한 인증서를 발급받는 과정입니다.
서버 docker-compose.yml 파일이 있는 디렉터리 아래 certs 디렉터리에서 다음 명령어를 실행합니다.
openssl genrsa -aes256 -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr # Common Name(CN) 필드에 `lg.moth` 입력
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 365 -sha256
cp server.crt cert.pem
cp server.key key.pem