본문 바로가기

클라우드

AWS 아키텍처 구축 프로젝트 (5) - EC2에 Wordpress 구축

https://kjk1128.tistory.com/17

 

AWS 아키텍처 설계 프로젝트 (4) - EC2 LAMP 스택 구축

생성한 EC2에 Amazon Linux 환경에서 LAMP 스택을 설치 진행Apache 웹서버, MairaDB 10.2 데이터베이스, PHP 7.2를 설치하고 자동으로 다운로드하기 위한 명령어 실행LAMP 스택이란? L(Linux), A(Apache), M(MySQL/MariaDB

kjk1128.tistory.com

 

이전 글에서 구축한 EC2에 Wordpress를 구축할 것이다. 

 

일단은 설치한 HTTP 아파치의 소스코드가 위치한 디렉토리에 권한을 부여해 준다.

명령어 : chown -R ec2-user:ec2-user /var/www/html

 

아파티 소스코드 디렉토리 권한 부여

 

mkdir 로 wordpress 폴더를 생성

wordpress 폴더 생성

 

파일 시스템 마운트 하기 위한 명령어 

echo "$(curl -s -H "X-aws-ec2-metadata-token: $TOKEN" "http://169.254.169.254/latest/meta-data/placement/availability-zone").[나의 EFS ID].efs.ap-northeast-2.amazonaws.com:/   /usr/share/nginx/html/myapp nfs4    defaults" >> /etc/fstab

 

강의 내용대로 명령어를 실행했을 때 오류가 발생한다. 

 

 

EC2 인스턴스 접속 오류 발생!

더보기

다음 날 EC2 인스턴스 접속 시 에러 메시지가 발생했다.

에러 메시지 
Failed to connect to your instanceEC2 Instance Connect is unable to connect to your instance. Ensure your instance network settings are configured correctly for EC2 Instance Connect. For more information, see EC2 Instance Connect Prerequisites at https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html.

EC2 인스턴스 에러 메시지 화면

에러 메시지는 인스턴스에 연결할 수 없다는 내용이다. 

해결 방법은 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-prerequisites.html

사이트에 접속해서 요구사항을 확인해보자 

 

요구 사항 모두 충족되었고, 보안그룹 및 네트워크 설정도 이상이 없는 것으로 보아 마운트 오류때문에 서버 설정 파일을 잘못 건드려서 원격 접속 문제가 발생한 것으로 보임 -> 빠르게 새 인스턴스 생성하여 재진행


EC2 인시던트 새로 만들어 다른 방법으로 워드프레스 설치 

새롭게 만든 인시던트는 LAMP 스택을 지원하는  Amazon Linux2로 생성했다. 

 

LAMP 스택 설치 

sudo yum update -y
sudo yum install -y httpd mariadb-server php php-mysqlnd

 

Apache 및 MariaDB 서비스 시작

sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadb

 

MariaDB 초기 설정

sudo mysql_secure_installation

 

Apache 테스트 페이지

 

LAMP가 정상적으로 설치된 것을 확인해서 WordPress 설치를 진행

wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress/* /var/www/html/

 

Wordpress 설치

 

 

디렉토리 권한과 소유자:그룹을 변경해주었다. 

sudo 명령어를 계속 사용하고 싶지 않아 sudo su로 root로 계정을 전환했다. 

 

MariaDB에 WordPress 데이터베이스 생성 

sudo mysql -u root - p

 

 

 

wordpress 유저 생성

 

nano 편집기로 wp-config.php 파일에 DB_NAME, DB_USER, DB_PASSWORD를 앞에서 설정한 값으로 수정

sudo mv /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
sudo vi /var/www/html/wp-config.php

 

EFS 파일 시스템 마운트 진행 

 

이전에 생성한 EFS 파일 시스템과 마운트를 진행한다.

 

우선  Amazon Linux2 에 EFS 유틸리티를 설치

sudo yum install -y amazon-efs-utils

 

EFS 마운트 

/var/www/html/wp-content 디렉토리를 EFS에 마운트

 

sudo mkdir -p /mnt/efs
sudo mount -t efs -o tls <EFS ID>:/ efs

 

파일 시스템 > EFS 세부 보기로 들어가면 [연결] 버튼이 보인다.

연결 버튼을 클릭하면 마운트 명령어를 확인할 수 있다. 

 

마운트 확인하기 위해서는 df-h 명령어로 마운트 성공 여부를 확인할 수 있다.

df-h로 마운트 확인

 

 

wp-content 디렉토리 연결

sudo mv /var/www/html/wp-content /mnt/efs/wp-content
sudo ln -s /mnt/efs/wp-content /var/www/html/wp-content

 

 

웹 페이지 접속 시 버전 이슈 발생

 

기존 PHP 제거 후 새로운 버전 PHP 설치 

sudo yum remove php*
sudo amazon-linux-extras enable php7.4
sudo yum clean metadata
sudo yum install php php-cli php-common php-fpm php-mysqlnd

 

HTTPD 재시작 후 다시 접속하면 wordpress 설정 페이지 나타남

 

 

 

 

워드프레스 사이트 생성 완료