워드프레스 멀티사이트 만들기 (부제: 웹 서버 가상 호스트 설정, AWS Lightsail, React 프로젝트 서브도메인 배포)

AWS Lightsail 인스턴스와 멀티사이트 설정의 필요성

AWS Lightsail에서 WordPress 블로그만 운영하다가,
React로 만든 프로젝트를 서브도메인 설정하고 싶어서 방법을 찾아보게 되었습니다.

AWS에 문의한 결과, 기존 블루프린트를 변경할 수 없으며, 웹 서버의 가상 호스트 설정을 통해 멀티사이트를 구현할 수 있다는 답변을 받았습니다.

이를 통해 멀티사이트 구축의 필요성과 해결 방법을 이해하게 되었습니다.

워드프레스 멀티사이트 설정

Bitnami 스택 설치 유형 확인

서브도메인 설정을 시작하기 전, Bitnami 스택의 설치 유형을 확인해야 합니다. SSH를 통해 서버에 접속하여 아래 명령어를 실행합니다.

test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."

저는 이 명령어로 Approach A: Using system packages라는 결과를 확인했습니다.

이 결과에 따라 다음 단계를 진행했습니다.

React 애플리케이션을 위한 폴더 생성 및 권한 설정

React 웹사이트를 서브도메인에 호스팅하기 위해, SSH를 통해 서버에 접속하여 아래 명령어로 폴더를 생성하고 권한을 설정했습니다.
(폴더명 sub는 예시입니다.)

sudo mkdir -p /opt/bitnami/wordpress/sub
sudo chown -R /opt/bitnami/wordpress/sub

React 프로젝트 빌드 파일 업로드

배포하려는 React 프로젝트에서 빌드 명령어를 실행합니다.

npm run build

빌드 된 결과물을 서버의 해당 폴더로(/opt/bitnami/wordpress/sub) 업로드합니다.
아래 명령어를 사용했습니다.

scp -i key.pem -r ~/Desktop/my-app/build/* bitnami@12.34.567:/opt/bitnami/wordpress/sub

위 명령어에서 굵게 표기된 부분은 설정에 맞게 수정해서 사용하시면 됩니다.

  • key.pem: 개인 SSH 키 경로
  • ~/Desktop/my-app/build/*: React 프로젝트 빌드 결과물
  • 12.34.567: IP

Apache 가상 호스트 파일 설정

Apache 웹 서버에서 서브도메인을 설정하기 위해, 새로운 가상 호스트 파일을 생성했습니다.
SSH를 통해 서버에 접속 후 아래 명령어로 파일을 엽니다.
(서브도메인 주소는 sub.example.com 예시로 들었습니다.)

sudo nano /opt/bitnami/apache2/conf/vhosts/sub.example.com-vhost.conf
그 후 아래 내용을 추가했습니다.
<VirtualHost *:80>
ServerName sub.example.com
DocumentRoot "/opt/bitnami/wordpress/sub/build"
<Directory "/opt/bitnami/wordpress/sub/build">
Options Indexes FollowSymLinks AllowOverride All
Require all granted
</Directory>
</VirtualHost>

여기서 중요한 점은 sub/build 폴더에 빌드된 React 파일이 위치해 있어야 한다는 것입니다.

Apache 설정 테스트 및 재시작

가상 호스트 설정이 완료된 후, Apache 설정에 문제가 없는지 테스트를 하는게 좋습니다.

sudo apachectl configtest

문제가 없다면 Apache를 재시작합니다.

sudo /opt/bitnami/ctlscript.sh restart apache

AWS Lightsail에서 서브도메인 설정

워드프레스 멀티사이트 도메인 설정

마지막으로, AWS Lightsail의 “도메인 및 DNS” 메뉴에서 서브도메인을 설정했습니다.
A레코드를 선택하고, 서브도메인 이름과 고정 IP를 입력하여 설정을 완료했습니다.

이후, 설정한 서브도메인 주소를 통해 사이트에 접속할 수 있음을 확인했습니다.

이번 글에서는 AWS Lightsail에서 워드프레스 멀티사이트를 설정하고 서브도메인을 활용하여 여러 사이트를 운영하는 방법을 정리해봤습니다.

다음 글에서는 SSL 인증서를 설치하는 방법에 대해 다룰 예정입니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top