내가 한 노력들

[ AWS ] EC2를 이용한, 그누보드(Gnuboard) 커뮤니티 홈페이지 플랫폼 구현 본문

IT 공부/AWS

[ AWS ] EC2를 이용한, 그누보드(Gnuboard) 커뮤니티 홈페이지 플랫폼 구현

JONGI-N CHOI 2021. 8. 22. 18:03

EC2 인스턴스 생성

인스턴스 생성을 누르면 AMI 선택하는 곳이 나온다. 

 

AMI란, AWS 마켓플레이스에서 제공하는 것으로 이것을 다운 받는 것만으로도 주요 환경을 간편히 구축할 수 있다. 

 

Docker에서 이미지를 가지고 컨테이너를 제작하는 것과 동일한 것 같다. 

 

Bitnami의 LAMP를 선택 -> 프리티어도 무료로 사용 가능 

 

인스턴스 유형 선택에서는 t2.micro를 사용 -> 프리티어 무료 

 

인스턴스 세부 정보 구성에서는 

 

인스턴스의 개수를 정할 수 있고 

 

네트워크나 서브넷도 설정가능하고, 특정 AWS 정책을 사용하고 싶은 경우에는 IAM 역할을 설정할 수도 있음

스토리지는 기본 설정 

 

 

보안 그룹 구성에서는 

 

SSH는 관리자만이 원격으로 접속하게 할 수 있도록 자신의 IP로 설정을하고 

 

나머지 HTTP나 HTTPS는 퍼블릭으로 하기 위해서 0.0.0.0/0 으로 설정 

 

 

이제 SSH로 원격으로 접속하기위해서, 비밀번호로 사용되는 key pair가 필요하다. 

 

키의 이름을 적고 다운로드 하면 된다. 

 

그리고 마찬가지로 Window OS에서 원격으로 접속하기위해서 필요한 것은  Putty가 있다. 

 

 

key pair를 pem에서 ppk로 변경

 

puttygen 실행

 

Conversions -> import key

 

생성했던 key pair를 로드하고  하단의 type은 RSA하고 Save pricate key 선택

 

 

Putty 설정

 

connection -> SSH -> Auth 

 

Browse를 눌러서 방금 생성한 ppk형식의 keypair 선택

 

session에서는 Host Name은 생성한 EC2 인스턴스를 확인해보면

 

IPv4 DNS 주소가 있다 그것을 입력한다.

 

포트는 SSH니까 22로 

 

그다음 Open 

 

login as : bitnami

 

를 입력하면 정상적으로 로그인이 성공한 것을 확인 가능 

 

 

cli명령으로 "cat bitnami_ccredentials"를 입력하면, 비밀번호를 알 수 있다. 

 

 

그누보드 설치 

 

cd htdocs

"cd htdocs" 명령어로 디렉토리 이동후 

 

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

"git clone https://github.com/gnuboard/gnuboard5" 명령어 입력 

 

htdocs디렉토리는 비트나미에서 웹서버를 담당하는 디렉토리

 

 

MySQL 데이터베스 생성

mysql -u root -p 명령어를 통해 DB에 접근한다.

 

password를 입력해야하는데, 아까 cat bitnami_credentials로 알아낸 비밀번호를 입력

 

응?? 근데 LAMP(Linux Aphach MySQL PHP)를 설치했는데,  왜 MariaDB이지? ...

 

MySQL에서 파생된거니 상관없겠지?ㅎㅎ..

 

 

create database gnuboardDB

를 통해서 DB생성

 

show databases 명령어를 사용해보면, 제대로 생성된 것을 확인 가능 

 

 

 

 

EC2 퍼블릭 IP 주소 / gnuboard5 의 URL로 접속 

 

그러면 그누보드5를 설치하라는 화면이 나온다.

 

설치하기 위해서는 아까 htdocs에 설치한 gnuboard5 디렉토리안에 data라는 이름의 디렉토리가 필요하다. 

 

여기에 이미지나 다른 다양한 데이터가 저장되는 공간

 

cd htdocs/gnuboard5

디렉토리 위치 변경 후

 

mkdir data

make directory의 약자로써 data라는 디렉토리를 생성한다는 명령어

 

chmod 707 data

chmod uo+rwx data

chmod는 쉽게 data라는 디렉토리의 권한을 변경하는 것

 

r이 의미하는 것은  read로 읽기 권한 ,w는 쓰기 x는 실행이다.

 

권한을 줄 수 있는 대상은 총 3그룹으로 나뉜다.  파일의 소유자, 그룹, 모든 사용자 

 

707의 의미는  rwx를 8진수로 계산해서 표현한 것이다.  rwx를 모두 허용 하면 8진수로 111은 값이 7이다. 

 

순서대로 707은 그룹의 파일소유자는 rwx 모두 허용 그룹은 모두 허용하지 않음, 모든 사용자는 모두 허용

 

그 아래 uo+rwx도 707와 마찬가지로 같은 동작  

 

그럼 아까 URL로 돌아가서 그누보드 설치 클릭 

 

MySQL 설정이 나옴 

 

user 은 root

 

passworod는 아까 비트나미 비밀번호

 

DB는 생성한 DB명

 

최고 관리자 설정에서는 

 

원하는 비밀벊노와 id email 입력후 다음

 

그리고 다시 확인해보면, 정상적으로 설치된 것을 확인 가능 

 

아까 생성한 최고관리자 id와 password를 입력하면, 로그인이 된다.

 

 

물론 게시글을 작성하는 것도 가능하다!!!!

 

 

 

 

 

여기까지,  Bitnami LAMP AMI를 이용해 EC2 인스턴스를 생성,  putty를 이용해 windows OS에서 EC2인스턴스로 SSH

 

원격 접속,  gnuboard5 다운까지 해봤습니다.

 

저는 Putty 설정에서 계속 오류떠서 이것저것 검색해보다 겨우했네요

 

IT는 아직 신기하고 어렵네요..