2. AWS EC2 서버 PHP8.2 & Mariadb 설치 방법

AWS EC2 서버 PHP 워드프레스 설치하고 운영해보려고 합니다. 또한 워드프레스 뿐아니라 나만의 다양한 서비스를 직접 개발하고 운영하고 싶은 욕심이 생겼습니다.

우선 워드프레스를 사용하기 위해서 PHP8.2와 DB 서버인 mariadb를 AWS EC2에서 설치해보겠습니다.
AWS 서버 가입 후 EC2 서버에 Nginx 설치하는 방법을 알고 싶다면 아래 링크를 클릭해주세요.

1.AWS 가입 후 EC2, Nginx 웹 서버 설치하기

PHP란?

PHP는 Hypertext Preprocessor의 약자로, 서버 측에서 실행되는 스크립트 언어입니다. 주로 동적 웹 페이지를 만들 때 사용되며, HTML 코드 내에 PHP 코드를 삽입하여 사용합니다. PHP는 다양한 운영 체제와 웹 서버에서 실행될 수 있으며, Apache, Nginx, IIS 등 다양한 웹 서버에서 사용됩니다.

PHP는 무료이며, 오픈 소스이기 때문에 많은 개발자들이 이를 사용하여 다양한 웹 애플리케이션을 만들고 있습니다. 대표적인 예로는 WordPress가 있습니다.

PHP는 비교적 쉽게 학습할 수 있으며, 많은 개발자들이 사용하기 때문에 다양한 온라인 커뮤니티 및 자료가 많이 있습니다. 또한, MySQL, Mariadb, PostgreSQL 등 대부분의 인기 있는 데이터베이스 시스템을 지원하며, 데이터베이스와 상호작용하는 데 필요한 기능들을 제공합니다.

PHP 프레임워크로는 Laravel, CodeIgniter, Symfony, CakePHP, Yii 등이 있습니다.

Laravel은 PHP 개발자들 사이에서 가장 인기 있는 프레임워크 중 하나이며, MVC 아키텍처를 기반으로 한다는 특징이 있습니다. 최근 몇 년전부터 저도 Laravel 프레임워크로 모든 개발을 진행하고 있습니다.

CodeIgniter는 작은 규모의 프로젝트나 빠른 개발이 필요한 경우에 많이 사용됩니다.

PHP 공식문서

PHP8.2 설치

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install php8.2-{cli,fpm,mysql,curl,mbstring,xml,zip,gd,common}

설치가 완료되면 php -v 명령어를 이용해 버전을 확인합니다. 정상적으로 PHP 8.2.9 설치가 되었습니다.

Mariadb란?

MariaDB는 MySQL의 대안으로 개발된 오픈 소스 관계형 데이터베이스 관리 시스템(DBMS)입니다. MariaDB는 MySQL과 완벽하게 호환되며, MySQL의 기능을 모두 지원합니다.

MariaDB는 MySQL의 창시자 중 한 명인 Michael Widenius가 MySQL의 소스 코드를 포크하여 개발하였습니다. MariaDB는 MySQL보다 더 많은 기능과 향상된 성능을 제공합니다.

예를 들어, MariaDB는 인덱스 조작, 복제 및 분산 트랜잭션과 같은 기능을 향상시켰습니다. 또한 MariaDB는 기본 스토리지 엔진으로 InnoDB를 사용합니다. 이를 통해 데이터 일관성, 내구성 및 동시성을 크게 향상시켰습니다.

전반적으로, MariaDB는 웹 애플리케이션 개발에 적합한 견고하고 신뢰성 있는 데이터베이스 관리 시스템입니다. 작은 프로젝트에서 대규모 기업 애플리케이션까지 모두 필요한 기능과 도구를 갖추고 있습니다.

또한 다중 서버에서 데이터베이스의 백업 복사본을 생성하고 동기화하는 것이 쉬운 강력한 복제 기능을 제공합니다.

Mariadb 버전 지원 종료 정보

버전최초 배포일최신 버전최신 버전 배포일지원 종료상태
10.32017.04.1610.3.392023.05.102023년 5월지원 종료
10.42018.11.0910.4.302023.06.072024년 6월지원되는 구 장기지원 버전
10.52019.12.0310.5.212023.06.072025년 6월지원되는 구 장기지원 버전
10.62021.04.2610.6.142023.06.072026년 7월지원되는 구 장기지원 버전
10.72021.09.1710.7.82023.02.062023년 2월지원 종료
10.82021.12.2210.8.82023.05.102023년 5월지원 종료
10.92022.03.2310.9.72023.06.072023년 8월지원되는 구 개발 버전
10.102022.06.2310.10.52023.06.072023년 11월지원되는 구 개발 버전
10.112022.09.2610.11.*현재2028년 2월최신 장기지원 버전
11.02022.12.2711.0.*현재2024년 6월최신 개발 버전
11.12023.03.2711.1.*현재미정최신 개발 버전
mariadb 버전지원

Mariadb 설치

sudo apt-get install mariadb-server

mariadb가 정상적으로 설치 되었는지 mysql –version 명령어를 사용하여 확인 가능합니다.

설치 후 외부에서 접근 가능하도록 하려면 2가지 작업을 더 진행해야합니다.

1. AWS 보안 그룹 포트 설정

AWS 보안 그룹 인바운드 규칙 편집에서 mysql 3306 포트에 내 IP 정보를 등록해야합니다.

AWS보안그룹설정
AWS보안그룹mysql설정

포트 등록이 되었다면 mariadb 외부에서 접근 가능하도록 설정 파일을 수정해야 합니다.

2. 외부에서 접근 가능하도록 설정

sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf

설치 후 위 경로에 접속하여 bind-address = 127.0.0.1을 0.0.0.0으로 변경해주세요.

설정 변경 후 저장하고 재시작 명령어를 실행해주세요.

sudo service mysql stop
sudo service mysql start

3. 외부에서 접속 확인하기.

제가 사용하는 PHPStorm 툴을 이용하여 DB 서버에 접근해보겠습니다. 서버 정보를 입력하고 연결 테스트를 확인하니 정상적으로 성공 되었습니다.
외부 연결이 되려면 꼭 보안 그룹과 설정 파일을 확인해주세요.

워드프레스에 사용할 DB를 생성

#외부 접속 계정 생성 & 권한 부여하기
create user test@’%’ identified by password;
grant all privileges on *.* to ‘계정이름’@’%’ with grant option;

mariadb-user생성하기

PHP와 DB 기본적인 설정이 모두 완료되었습니다. 다음 포스팅에서는 Nginx와 PHP 연결과 워드프레서 설치를 진행하겠습니다. 또한 AWS EC2 환경에서 2대의 서버를 구축하여 DB Replication 하는 방법도 포스팅하겠습니다.

Leave a Comment