nugawiki

./os

AWS-EC2 + 그누보드5 세팅

5분 소요 /OS/BACK-END #LINUX#PHP


1. AWS 인스턴스 생성

Note

프리 티어 AWS 가입 첫 해에는 월별 프리 티어 AMI에 대한 t2.micro(또는 t2.micro를 사용할 수 없는 리전의 t3.micro) 인스턴스 사용량 750시간, EBS 스토리지 30GiB, IO 2백만 개, 스냅샷 1GB, 인터넷 대역폭 100GB가 포함됩니다.

Tip 프리 티어 사양의 인스턴스 생성 시 750시간 (대략 24시간 X 31일) 동안 무료로 사용 가능한 인스턴스가 생성되므로, 프리 티어를 최대한 사용하여 구축 후 사용량에 맞게 인스턴스 유형 및 스토리지 구성을 변경하면 될 것 같습니다.

  1. 콘솔 홈 > EC2EC2 대시보드에서 인스턴트 시작
  2. 인스턴트 생성 정보 입력
    1. OS 이미지 선택

    2. 인스턴스 유형 : 추후 변경 가능

      • 최소 : t2.micro (vCPU 1개 / RAM 1GB) 프리 티어
      • 권장 : t2.large (vCPU 2개 / RAM 8GB)

      image

    3. 키 페어 생성

      • 새 키 페어 생성 (.pem)
      • 키 페어 다운로드 (한 번 다운로드 받으면 다시 받을 수 없음)
    4. 네트워크 설정

      • 네트워크 / 서브넷 / 퍼블릭 IP 자동 할당 : 기본
      • SSH 트래픽 허용 : IP 제한 관련 (없는 경우 위치 무관)
    5. 스토리지 구성

      • 최소 : 30GB / 범용SSD(gp2) 프리 티어
  3. 요약 확인 후 시작 하면 인스턴트 생성됨

2. AWS 인스턴스 접속

  1. 대시보드 인스턴스 > 인스턴스에서 생성된 인스턴스 확인
  2. 퍼블릭 IPv4 주소 확인
  3. 다운로드 받은 키 페어 파일(.pem) 준비
  4. SSH 프로그램에 키 페어 파일 등록하여 접속
    1. Putty
      1. Putty 다운로드 및 설치
      2. PuttyGen.exe 실행
      3. Load > 다운로드 받은 .pem 파일 선택
      4. Save private key > Yes > File Name 입력 → .ppk 파일 생성 확인
      5. Putty.exe 실행
      6. Putty Configuration 창의 Connection > SSH > Auth > 맨 아래 Browse → .ppk 파일 선택
      7. Putty Configuration 창의 Session으로 돌아와서 Host Name에 IP 주소 입력하고 Save
    2. 접속 ID : ec2-user
    3. 접속 성공 시 화면 image

3. XAMPP 설치

  1. 대시보드 인스턴스 > 인스턴스에서 해당 인스턴스 클릭

  2. 보안 탭의 해당 보안그룹 클릭

  3. 인바운드 규칙 탭의 인바운드 규칙 편집 클릭

  4. 인바운드 규칙 추가

    1. 유형 : 사용자 지정 TCP
    2. 포트 범위 : 80, 443
    3. 소스 : IP 사용자 지정하거나 Anywhere-IPv4 (= 위치 무관)
  5. XAMPP 다운로드

    Note

    그누보드5의 권장 설치 환경이 PHP 7.2 이상, MySQL 5.0 이상의 MariaDB 이므로 XAMPP 7 버전 대의 최신 버전으로 설치하겠습니다.

  6. 서버에 XAMPP 설치 파일 업로드

  7. XAMPP 설치

실행 권한 부여 후 관리자 권한으로 실행

chmod +x xampp-linux-x64-7.4.33-0-installer.run sudo ./xampp-linux-x64-7.4.33-0-installer.run

XAMPP Developer Files [Y/n] :n

Is the selection above correct? [Y/n]: y


Installation Directory

XAMPP will be installed to /opt/lampp Press [Enter] to continue:


Setup is now ready to begin installing XAMPP on your computer.

Do you want to continue? [Y/n]: y

Please wait while Setup installs XAMPP on your computer.

Installing 0% ______________ 50% ______________ 100% #########################################


Setup has finished installing XAMPP on your computer.

성공 시 설치 디렉토리 : /opt/lampp

1. XAMPP 기동
```bash
cd /opt/lampp
sudo ./xampp start

Starting XAMPP for Linux 7.4.33-0...
XAMPP: Starting Apache...already running.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.
  1. 프로세스 포트 확인

netstat -anp | grep "LISTEN " tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 :::443 :::* LISTEN -
tcp6 0 0 :::3306 :::* LISTEN -

1. 80 포트 접속 확인
- 웹 브라우저에서 해당 IP:80 으로 접속 확인
  ![image](/notion-assets/a04a336d-b99c-45b9-9bf5-7d8a38c7371a/3.png)
1. 환경변수 Path 설정
   ```bash
vim ~/.bash_profile

# xampp path 추가 후 저장
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/opt/lampp/bin

source ~/.bash_profile
   ```
1. MariaDB 설정
   ```bash
# MariaDB 접속
mysql -uroot mysql

# 빈 계정 삭제
MariaDB [mysql]> select user, host from user;
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1       |
|      | localhost |
| pma  | localhost |
| root | localhost |
+------+-----------+

MariaDB [mysql]> delete from user where user='';
MariaDB [mysql]> flush privileges;
   ```

## 4. 그누보드5 설치

### DB 설정

1. MariaDB 접속
```bash
mysql -uroot mysql
  1. DB 생성 (캐릭터셋 : utf8mb4)

create database g5db character set utf8mb4 collate utf8mb4_general_ci;

1. 사용자 생성 및 권한 부여
```sql
create user 'g5user'@'localhost' identified by 'g5p@ssw0rd';
grant all privileges on g5db.* to 'g5user'@'localhost';
flush privileges;
  1. 사용자 접속 및 DB 생성 확인

mysql -ug5user -p Enter password:

MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | g5db | | information_schema | | test | +--------------------+


### 그누보드5 설치

1. 그누보드5 다운로드 (최신 버전 다운로드)
- 최신 버전 다운로드(tar) : [https://github.com/gnuboard/gnuboard5/tarball/master](https://github.com/gnuboard/gnuboard5/tarball/master)
- 버전 내역 페이지 : [https://sir.kr/g5\_pds](https://sir.kr/g5_pds)
1. 설치 파일 업로드
1. XAMPP 기존 파일 백업 및 디렉토리 생성
```bash
cd /opt/lampp
sudo mv htdocs htdocs_org
sudo mkdir htdocs
sudo chown ec2-user.ec2-user htdocs
  1. 설치 파일 압축 해제

tar zxvf gnuboard5.5.8.2.7.tar.gz -C /opt/lampp/htdocs

1. 설치 전 캐릭터셋 기본값 설정 (utf8 → utf8mb4)
```bash
cd /opt/lampp/htdocs
vim config.php

## 42 line
define('G5_DB_CHARSET', 'utf8mb4');
  1. 설치 화면 접속
    1. 웹 브라우저에서 해당 IP:80 으로 접속 확인 image
    2. data 디렉토리 생성

cd /opt/lampp/htdocs mkdir data chmod 707 data ```

  1. 새로고침 후 라이센스 동의
  2. MySQL 정보, 최고관리자 정보 입력 image
  3. 설치 완료 후 새로운 그누보드5로 이동 클릭
  4. 로그인 및 관리자 페이지 테스트