본문 바로가기
  • 클라우드야 나랑 친해지자!
클라우드/AWS

AWS EC2 기반 커뮤니티 사이트(그누보드) 만들기

by 정민규 2021. 2. 18.
반응형

수업을 듣고 배운 내용과 연습한 내용을 정리하였습니다

개인 공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.

 

잘못된 부분이 있거나 질문사항은 댓글로 남겨주시면 성심성의껏 답변해드리겠습니다. 감사합니다!


 

교재 <당신이 지금 알아야 할 AWS - 이영호, 한동수 지음>를 토대로 실습을 진행하였습니다.

 

 

 

* 실습 요약

1. 서버를 구동할 EC2 인스턴스를 생성합니다.

2. 인스턴스 원격 접속 환경 설정

3. 그누보드 설치 과정을 웹 브라우저에서 설정합니다.

 

 

 

 

 

1) AWS 콘솔 EC2

콘솔에서 EC2 검색 > 인스턴스 시작 > AWS Marketplace에서 'Bitnami LAMP'를 검색 > Continue 클릭 > 

 

웹서버 구축을 위해 미리 패키지들이 설치되어 있는 비트나미 이미지를 이용하겠습니다.

AWS Marketplace에서 검색창에 'Bitnami LAMP'를 검색합니다.

 

 

 

 

* EC2 인스턴스 유형 선택

EC2 하드웨어의 사양을 선택해야 합니다. 프리티어 범위 내에서 사용할 수 있는 "t2.micro"를 선택합니다.

선택 후 "다음: 인스턴스 세부 정보 구성" 을 클릭합니다.

 

 

 

* EC2 인스턴스 세부 정보 구성

인스턴스 구성에서 이미 네트워크와 서브넷 등이 자동으로 설정되어 있습니다.

설정을 그대로 두고 "다음 : 스토리지 추가" 를 클릭하여 다음 단계로 넘어갑니다.

 

 

 

 

 

* EC2 스토리지 추가

스토리지는 일반적인 SSD 혹은 HDD처럼 보조 저장 장치를 설정하는 옵션입니다.

스토리지도 기본 설정으로 두고 "다음: 태그 추가" 를 클릭하여 다음 단계로 넘어갑니다.

 

 

 

 

* EC2 태그 추가

태그 또한 별도 설정을 하지 않고 "보안 그룹 구성" 탭을 클릭하여 다음 단계로 넘어갑니다.

 

 

 

 

 

* EC2 보안 그룹 구성

EC2 Marketplace에서 Bitnami를 선택하여 미리 설정되어 있는 값을 불러온 것이기 때문에 보안 그룹 유형 또한 이미 3개의 그룹이 있습니다. 설정값을 확인하고 "검토 및 시작" 버튼을 클릭하여 다음 단계로 넘어갑니다.

 

 

 

 

* EC2 인스턴스 시작 검토

1~6단계의 설정 내용을 간단하게 검토하고 이상이 없으면 "시작하기" 버튼을 클릭합니다.

다음으로 키 페어 생성이 필요한데, 키 페어란 EC2에 원격으로 접속하기 위한 열쇠와 같은 파일입니다.

키 페어 이름은 자신이 원하는 영문자의 고유한 이름을 넣어줍니다. 저는 "testkeypair" 라고 하였습니다.

앞으로 계속해서 사용하므로 "키 페어 다운로드" 를 클릭하여 잘 보관하고 "인스턴스 시작" 버튼을 클릭합니다.

 

 

 

 

 

 

인스턴스가 생겼습니다. 처음 인스턴스 상태 '시작 중'에서 약 3분의 시간이 지나면 인스턴스 상태 '실행 중'으로 변경됩니다.

 

 

 

 

 

 

 

2) 인스턴스 원격 접속 환경 설정

EC2 인스턴스가 가동되었기 때문에 인스턴스에 원격으로 접속해보겠습니다. EC2 인스턴스를 원격으로 조정하기 위해서는 개인 PC에 터미널 에뮬레이터(클라이언트 프로그램)을 설치해야 합니다.

 

www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

 

Download PuTTY: latest release (0.74)

This page contains download links for the latest released version of PuTTY. Currently this is 0.74, released on 2020-06-27. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

 

 

 

위의 링크에 접속하여 putty.exe 와 puttygen.exe를 다운로드 받습니다.

 

 

 

 

 

 

 

AWS에서 사용하는 키 페어 파일 형식은 PEM 파일이지만, PuTTY에서는 RSA 포맷을 사용하기 때문에 PuTTYGen을 사용하여 AWS에서 내려받은 PEM 파일을 RSA 포맷으로 변경해야 합니다.

 

"PuTTYGen"을 실행하고 "Conversions -> import key"를 클릭하고 AWS에서 받은 pem 파일을 선택합니다.

하단 기본 값인 RSA가 선택된 상태에서 "Save private key"를 클릭하고 로컬에 똑같은 이름 혹은 원하는 이름으로 저장합니다. 저는 이름을 똑같이 testkeypair 로 하였습니다.

 

 

 

 

pem 형식의 파일이 ppk 형식의 파일로 변경되었습니다.

 

 

 

 

 

 

 

다음은 Putty.exe를 실행합니다.

Connection -> SSH -> Auth 를 클릭하고 "Browse" 를 클릭하여 ppk형식의 파일을 불러옵니다.

 

 

 

 

다음 "Session" 탭을 클릭하고 Port : 22, HostName은 EC2 인스턴스의 퍼블릭 IPv4 DNS를 넣어줍니다. 

 

 

 

 

 

 

EC2 인스턴스에 원격 접속하는 CLI 창이 뜨게됩니다.

login as : bitnami 를 입력하면 정상적으로 원격 접속이 됩니다.

 

 

 

 

 

 

* bitnami에서 생성한 비밀번호 확인하기

$cat bitnami_credentials

 

앞으로 계속해서 사용되기 때문에 출력되는 비밀번호를 캡처 혹은 메모장에 잘 보관합니다.

 

 

 

 

 

 

 

 

3) 그누보드 설치

그누보드는 SIR소프트에서 무료로 배포하는 커뮤니티 홈페이지 제작 플랫폼으로, 회원 관리, 게시판, 설문조사, 접속자 현황 등 커뮤니티에 필요한 기본적인 기능을 제공하며 누구나 자유롭게 수정 및 변형할 수 있고 상업적 용도로 사용할 수 있습니다.

 

 

cd htdocs 명령어를 통해 htdocs 폴더로 이동합니다.

htdocs 폴더는 비트나미 배포판에서 웹서버의 최상위 디렉토리로, 웹서버를 처리하는 폴더입니다.

다음으로 Git 저장소로부터 소스코드를 다운로드하는 명령어를 입력합니다.

$git clone https://github.com/gnuboard/gnuboard5

 

 

 

 

 

 

* 데이터베이스 생성

Mysql로 접속합니다. 이 때, 비밀번호는 cat bitnami_credentials 로 나왔던 비밀번호를 입력합니다.

$mysql -uroot -p

 

 

 

 

그누보드에서 나오는 데이터를 저장할 데이터베이스 영역을 만들어줍니다.

$create database gnuboard5;

MYSQL에 gnuboard5 라는 이름의 데이터베이스 저장소를 생성하였습니다.

 

 

 

 

 

 

 

* 그누보드 설정

 

EC2 인스턴스의 퍼블릭 IP에 /gnuboard5 를 덧붙여 웹 브라우저에 입력하면 그누보드 사이트로 접속이 됩니다.

 

 

 

 

그누보드를 설치하기 위해서는 data 폴더가 필요합니다. data 폴더는 그누보드를 통해 업로드한 이미지나 자료들의 데이터를 보관하는 폴더입니다. 설명에 맞게 폴더를 만들어보겠습니다.

$cd gnuboard5
$chmod 707 data
$ls

 

 

 

 

 

 

다시 그누보드 홈페이지로 돌아가 설치를 진행합니다.

MySQL 정보입력에 아래와 같이 입력하고, 패스워드는 비트나미의 비밀번호를 입력합니다.

최고관리자 정보에는 사용자의 회원 ID, 비밀번호, 이메일 등을 입력합니다.

Host : localhost
User : root
DB : gnuboard5

 

 

 

 

 

 

그누보드 설치가 완료되었습니다.

 

 

 

 

 

 

 

최고관리자 정보로 로그인하게 되면 아래와 같이 그누보드 사이트를 운영할 수 있게 됩니다!!

 

 

 

 

 

 

게시판에 글을 써봤습니다.

이처럼 게시판 관리나 회원 관리 등을 통해 사용자를 생성하거나 게시판을 만들 수 있습니다.

 

 

 

 

 

 

고생하셨습니다!!!

 

 

 

반응형

댓글