Create TOC

2020년 7월 30일

Oracle Cloud VM 설정

VM instance 만들기

오라클 클라우드에서 평생 무료로 VPS 사용하기를 따라서 만들면 된다.

도메인 설정

컴퓨트 - 인스턴스에서 만든 인스턴스를 선택하고 공용 IP 주소를 확인해서 도메인 설정에 이용한다.

쉘 변경

$ sudo apt install zsh
$ sudo chsh -s /bin/zsh ubuntu

docker 환경 구성

$ sudo apt install docker-compose
$ sudo usermod -aG docker $USER

Let's Enctrypt 인증서 발급

방화벽 설정

컴퓨트 - 인스턴스에서 만든 인스턴스를 선택하고 기본 VNIC - 서브넷 - 보안 목록에서 사용 중인 보안 목록을 선택한 후, 수신 규칙 추가를 통해서 80 포트에 대한 수신 규칙을 추가한다.

인증서 발급

$ docker run -it --rm --name certbot -v '/etc/letsencrypt:/etc/letsencrypt' -p 80:80 certbot/certbot certonly --agree-tos --no-eff-email --standalone --preferred-challenges http -d 도메인

인증서 갱신

매번 컨테이너를 생성/삭제하기 귀찮아서 docker-compose를 사용했다.

아래와 같이 docker-compose.yml파일을 만든다.

version: "3"

services:
    certbot:
        container_name: certbot
        image: certbot/certbot
        ports:
            - "80:80/tcp"
        entrypoint: certbot renew
        volumes:
            - '/etc/letsencrypt:/etc/letsencrypt'

아래 명령으로 컨테이너를 실행한다.

$ docker-compose up

문제가 없다면 crontab에 등록해서 적당히 실행시켜 둔다

0 0 */2 * * docker-compose -f /home/ubuntu/docker/certbot/docker-compose.yml up