상세 컨텐츠

본문 제목

GCP에 wordpress 설치 및 SSL 및 DNS 설정

Dev Type

by ai developer 2023. 12. 11. 10:38

본문

갑자기 회사에서 워드프레스를 우리 클라우드에서 호스팅하고 이를 마켓팅팀에서 이용하고 싶다 하여 급 워드프레스 구성을 시작하게 됐습니다.
그래서 GCP(구글 클라우드 플랫폼)에 워드프레스를 설치하고 운영하는 방법에 대해 확인해 봤습니다.

GCP에 워드프레스 설치하기

우선 GCP 가입을 합니다.
그런 뒤 상단 검색창에 wordpress를 검색한 뒤 MARKETPLACE 및 API 분류에서 WordPress 를 클릭해 배포를 클릭합니다!

이미 배포를 진행했기 때문에 배포보기로 보이지만 원래는 배포 버튼이 보입니다. 그리고 배포 이후에는 배포보기를 눌러 이미 배포한 내용도 확인할 수 있습니다.
배포를 누르면 여러가지 옵션들이 있는데 원한다면 instance의 위치와 컴퓨터 사양도 조정할 수 있습니다. 나머지는 조정하지 않아도 됩니다.
배포 보기를 누르면 배포된 목록들이 보이는데 처음 배포했으면 1개가 있을 겁니다. 
그걸 클릭하면 Deployment Manager가 나옵니다.

처음 배포를 하면 Site Address, Admin URL에 자동으로 ip 가 할당됩니다.
예를 들어 32.34.108.231 ip가 할당됐다고 하면, Site Address: https://32.34.108.231, Admin URL: https://32.34.108.231/wp-admin 이렇게 싸이트와 싸이트 어드민 주소가 생깁니다.
나중에 설명할 Admin 로그인을 위해 WordPress Admin user, WordPress Admin password를 저장해둡니다.

여기서 wordpress 배포 시 phpadmin enable을 해두었다면 이를 활용해 wordpress 데이터베이스에 wordpress mysql user, password를 이용하면  잘못된 셋팅을 한 경우 wp-admin 페이지에 접속하지 못하게 될 때 데이터베이스로 접속해 셋팅 내용을 변경할 수도 있으니 enable 해 두는 것이 좋습니다.
 
위에서 말했던 것처럼 https://32.34.108.231 로 바로 접속이 가능하지만 https 설정을 위한 ssl 인증서 설정이 되어 있지 않고 도메인도 설정되어 있지 않습니다. 그래서 싸이트에 접속하면 안전하지 않은 페이지로 이동하겠다는 클릭을 하며 접속해야 하는 불편함이 있습니다. 그래서 인증서와 도메인 설정이 필요합니다.
 

SSL 인증서 및 도메인 설정하기

GCP의 WordPress 페이지에서 SSH 버튼을 클릭하면 VM으로 간단히 접속할 수 있습니다.
접속 후 무료 ssl 인증서 설정을 위해 certbot 홈페이지로 이동합니다.

어떤 웹싸이트를 운영중인지에 따라 instruction이 달라지니 이를 체크하기 위해 아래 명령을 입력해 확인합니다.

cat /etc/*release

 
위의 명령을 입력하면 아래와 같이 서버의 정보를 볼 수 있습니다.

 
그런 뒤 소프트웨어를 선택해 주는데 저는 Apache를 선택했습니다.

근데 여기서 문제가 발생하는데 시스템에 debian 11 이 없습니다.

 
그래서 당황했습니다. 물론 운영중인 서버에 따라 지시사항이 달라지지만 이런 경우 방법을 알 수 없어 debian 11일 때 설치 방법에 대해 찾아본 뒤 적용했습니다. 
 
아래와 같이 터미널에서 명령어를 입력합니다.

# 우선 업데이트를 진행해 주고
$ sudo apt update
# snapd를 설치합니다.
$ sudo apt install snapd
# snap을 이용해 core를 설치해 주고
$ sudo snap install core
# snap 동작을 간단히 확인하기 위해 hello-world를 설치합니다.
$ sudo snap install hello-world
# Hellow World!가 출력되면 정상 설치된 것을 확인할 수 있습니다.
$ hello-world
# snapd가 최종버전으로 업데이트 되었는지 다시 체크하고
$ sudo snap install core; sudo snap refresh core
# snapd를 이용해 certbot을 설치합니다.
$ sudo snap install --classic certbot
# certbot 명령을 user 명령어에 링크해 주고
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
# 이제 certbot을 설정해 줍니다!
# 명령어를 입력하면 이메일을 중간에 입력하라 나오고 입력해 준 뒤 이용약관 동의 내용도 나오면 Y 해줍니다.
# ssl 인증서와 연결할 도메인 주소를 입력해 줍니다.(example.com www.example.com 이런 식) 
# 이렇게 이메일을 입력하면 그 다음으로 아래와 같이 나오는데
# Deploying certificate
#
# We were unable to find a vhost with a ServerName or Address of grablo.co.
# Which virtual host would you like to choose?
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 1: 000-default.conf               |                       |       | Enabled
# 2: wordpress-https.conf           |                       | HTTPS | Enabled
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 위에서 HTTPS 인증서만 등록하므로 각각의 도메인마다 HTTPS 2번을 선택해 등록하면 됩니다.
$ sudo certbot --apache
# 인증서 갱신이 가능한지를 테스트 해 갱신이 가능한지 확인합니다.
$ sudo certbot renew --dry-run
# 이 후 인증서 갱신 기한이 되면 아래 명령어를 입력해 진짜 인증서 갱신을 실행하면 됩니다.
$ sudo certbot renew
# 인증서 갱신을 잘 마쳤는지 인증서를 확인하려면 아래 명령어를 입력합니다.
$ sudo certbot certificates

 
이제 certbot을 이용한 ssl 인증서 발급 및 도메인 맵핑 설정이 완료됐으니 진짜 도메인 설정을 위해 터미널을 끄고 검색창에 CloudDNS를 검색합니다.

우선 example.com으로 도메인을 발급 받았다고 가정합니다.
dns 이름이 example.com 도메인 유형 A인 레코드 세트를 추가하고 여기에 32.34.108.231 (서버ip)주소를 입력해 줍니다. 그럼 32.34.108.231 이 ip 주소와 ssl 인증서가 연결되고 또한 도메인도 맵핑된 상태가 됩니다.
그럼 이제 example.com에 접속하면 왼쪽 상단 url 창에 있는 자물쇠 표시를 클릭해 인증서가 정상적인지 체크할 수 있고 안전하지 않음 옵션 없이 바로 인증된 싸이트에 도메인으로 접속할 수 있는 상태가 됩니다!! 

 
이제부터는 나만의 워드프레스 싸이트가 생겼으니 example.com/wp-admin 에 접속해 싸이트 운영을 시작하시면 됩니다 🚀

300x250

관련글 더보기

댓글 영역