Posts [오픈소스] AWS와 Docker를 활용하여 온라인 저지 사이트 만들기 [2/3]
Post
Cancel

[오픈소스] AWS와 Docker를 활용하여 온라인 저지 사이트 만들기 [2/3]


이전 포스트 > AWS와 Docker를 활용하여 온라인 저지 사이트 제작하기 [1/3]

이전에서는 AWS EC2를 생성하고, putty를 다운받았으며, 공인 IP를 부여받는 과정에 대해 살펴보았습니다.

지금부터는 서버에 실제로 접속한 뒤, 필요한 프로그램들을 설치하는 과정을 알아보겠습니다.


[제작 과정]

(1) AWS EC2 인스턴스에 접속하기

만들어 둔 EC2에 접속해 보겠습니다. AWS에서 해당 인스턴스를 클릭하면, 아래에 상세 정보가 나옵니다.

그 중 탄력적 IP 에 적혀 있는 IP 주소를 putty에 입력해야 합니다.

먼저 putty를 실행합니다.

만든 Ubuntu Server의 초기 유저 이름은 ubuntu 입니다. 위 칸에 ubuntu@IP주소 를 입력해 둡니다.

왼쪽 메뉴에서 Connection - SSH - Auth 에 들어와서, Browe 버튼을 누르고 1편에서 만들어 두었던 .ppk 파일을 불러옵니다.

그 다음 Open을 누릅니다.

오픈 시 경고창은 무시하고 스킵하면, 위와 같이 정상적으로 EC2에 접속하게 됩니다.


(2) 서버에 필요한 프로그램 설치하기

  • (1) Docker 설치

앞으로 사용할 온라인 저지 시스템의 오픈소스가 Docker 기반으로 작동하므로, 서버에 Docker를 설치해야 합니다.

아래 명령어를 터미널에 차례대로 입력합니다. 설치 중간에 y/n을 묻기도 하는데 그 때 y를 입력하면 됩니다.

1
2
3
4
5
6
7
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce

  • (2) docker-compose 설치

아래 명령어를 터미널에 차례대로 입력하여 docker-compose를 설치합니다. 이는 이후에 프로젝트를 docker로 실행할 때 필요합니다.

1
2
3
4
sudo curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose
sudo usermod -aG docker ubuntu

설치가 끝나면 docker-compose -v 로 버전을 확인합니다.


  • (3) git 설치하기

오픈소스 프로젝트를 git clone 해야 하므로, 서버에 git을 설치합니다.

1
sudo apt install git

  • (4) git clone으로 프로젝트 가져오기

Qingdao University 에서 제공하는 저지 시스템 오픈 소스 : https://github.com/qingdaou/onlinejudgedeploy

위 링크에 들어갑니다.

Clone or download 버튼을 누른 뒤, 아래 주소를 복사합니다.

그 다음 다시 putty 터미널로 돌아와서, 아래 명령어를 입력합니다.

1
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git

다음 포스트에서는 공인 IP로 접속하여 실제로 프로젝트 사이트를 실행해 보는 것으로 마무리하겠습니다.

다음 > [오픈소스] AWS와 Docker를 활용하여 온라인 저지 사이트 제작하기 [3/3]

[오픈소스] AWS와 Docker를 활용하여 온라인 저지 사이트 만들기 [1/3]

[오픈소스] AWS와 Docker를 활용하여 온라인 저지 사이트 만들기 [3/3]