IT 관련/클라우드

[AWS, 프로젝트] 워드 프레스 설치를 위한 설계 및 설정(1)

insu90 2024. 11. 5. 14:18

 

오늘은 과제겸 워드프레스 설치를 위한 설계 및 설정을 해보겠습니다.

 

간단한 순서는 아래와 같습니다.

  1. VPC 및 서브넷 설정
  2. EC2 인스턴스 생성
  3. RDS 인스턴스 생성
  4. ALB 설정
  5. 오토스케일링 그룹 설정
  6. AWS 쉴드 및 클라우드 와치 설정
  7. S3 설정

그럼 지금부터 하나하나 진행해보겠습니다.

 

VPC 및 서브넷 설정

이전에는 없었던 것으로 기억합니다만, 최근 AWS 에서는 VPC 생성시 VPC 등 생성 이라는 항목이 생겼습니다.

해당 항목을 사용하면 VPC와 함께 서브넷, 라우팅 테이블, 네트워크를 한번에 생성할 수 있습니다.

다만 프라이빗 라우팅 테이블이 무조건 두개씩 생성되므로 만약 프라이빗 라우팅 테이블을 하나만 원하신다면 추가적인 조치가 필요합니다.

저는 가능한 추천하는 요소를 사용하도록 하겠습니다.

가장 기본적인 구성입니다.

 

위와같이 이름 태그 자동생성을 할 경우 미리보기의 모든 이름들이 동시에 변경되는것을 볼 수 있습니다.

 

CIDR블록은 기본으로 하겠습니다.

 

가용 영역과 서브넷 설정입니다. 이 역시 기본값으로 하겠습니다.

 

현재로썬 NAT 게이트웨이가 필요 없어보입니다. VPC 엔드포인트는 S3를 추후 백업용이나 그 이상으로 사용할 생각으모로 S3 게이트웨이를 활성화 시켜놓겠습니다.

그 후 완성을 누르면 위와 같이 완성되게 됩니다.

이전에는 하나하나 누르면서 했던 부분이 매우 쉽게 변했습니다.

 

이제 EC2 인스턴스를 생성하러 가겠습니다.

템플릿을 만들어서 복제할 예정이므로 (추후 오토스케일링을 위한 사전 작업) 하나만 만들겠습니다.

인스턴스 시작을 누르면 기본적으로 나오는 화면에 이름만 기입한 상태입니다. 여기서도 최대한 기본값을 사용하겠습니다.

 

인스턴스 유형은 프리티어로 사용이 가능한 t2.micro입니다.

현재 키페어가 없으니 생성을 하도록 하겠습니다. 키페어는 매우 중요하므로 반드시 잘 보관할 수 있도록 합니다.

 

기본 설정에 원하는 이름만으로 생성하여 다운로드 받아 잘 보관합니다.

 

네트워크 설정은 고급설정으로 넘어가서 설정합니다.

 

 

보안그룹을 생성해주는데, 이름은 webserver-sg로 SSH와 http만 열어두도록 하겠습니다. 이는 추후 만들어나가면서 정정하겠습니다.

 

웹서버에 워드 프레스를 설치해보겠습니다.

 

dnf install wget php-mysqlnd httpd php-fpm php-mysqli mariadb105-server php-json php php-devel -y

 

아마존의 리눅스에서 설치하는 방법입니다. RDS에 연결할 예정이지만, 작동여부를 확인하기 위하여 마리아DB를 먼저 같이 설치했습니다.


systemctl start httpd
systemctl enable httpd

위 명령어로 서버를 실행시켜줍니다.

systemctl start mariadb
systemctl enable mariadb

위 명령어로 테스트를 위한 마리아DB를 작동시켜줍니다.

 

mysql_secure_installation

위를 통해 기본적인 보안을 설정합니다.

루트 비밀번호와 나머지 샘플들을 초기화해주는 내용입니다. 전부 Y로 진행하시면 됩니다.

 

mysql -u root -p

위를 통해 마리아DB 내부로 진입합니다.

 

create database wordpress character set utf8mb4 collate utf8mb4_general_ci;

데이터베이스를 설정해줍니다.

 

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

grant all on wordpress.* to 'wordpressuser'@'localhost' identified by'password';

유저를 형성하고 유저에게 권한을 부여합니다. 이 유저는 잘 기억해야합니다.

 

wget https://wordpress.org/latest.tar.gz

tar -xzf latest.tar.gz

워드프레스를 다운받고 압축을 해제합니다.

여기서 위치가 중요한데 /var/www/html/ 에 압축을 해제할 수 있도록 합니다.

만약 위치가 다르다면 mv 명령어를 통해 움직여줘야합니다.

 

chown -R apache: /var/www/html/wordpress

아파치가 접근하고 수정할 수 있도록 합니다.

 

vi /etc/httpd/conf/httpd.conf

위의 안쪽으로 들어가 최하단에 아래 내용을 추가합니다.

 

<VirtualHost *:80>
ServerAdmin testserver@example.com
DocumentRoot /var/www/html/wordpress
ServerName testserver.com
ServerAlias http://www.testserver.com
ErrorLog /var/log/httpd/test-wp-error-log
CustomLog /var/log/httpd/test-wp-access-log common
</VirtualHost>

 

위 내용을 추가함으로써 아파치 서버가 여러 웹사이트를 호스팅할수 있도록 해 줍니다.

systemctl restart httpd

이제 리스타트하여 설정을 적용시킵니다.

 

이제 인스턴스에 적용되어있는 퍼블릭 IP를 사용하여 접속을 하면

 

위와 같은 화면을 볼 수 있습니다. 한국어로 설정하고

 

 

페이지를 설정하면

로그인 할 수 있습니다.

 

이제 워드프레스를 이용할 수 있습니다.

 

RDS, ALB 등의 설정은 다음에 이어서 하겠습니다.