워드프레스 Plesk 유료화 대응
Plesk는 웹 호스팅 컨트롤 패널(CP)입니다. CP는 서버와 웹사이트 관리를 쉽게 할 수 있도록 도와주는 소프트웨어입니다. Plesk에는 무료 버전이 있어서 많은 분들이 워드프레스 관리 도구로 사용하고 있었지만 2024년 9월 1일부터는 Plesk 서비스가 유료로 전환됨에 따라 더 많은 비용을 지불할 것인지 다른 대안을 찾을 것인지 선택해야 합니다.
저는 이번 Plesk 유료화에 대응하기 위해 HestiaCP라는 대안을 선택하게 되었습니다. 하지만 저는 프로그래밍 지식이 하나도 없고, 이 과정에서 수많은 오류를 겪게 되었습니다. 이번 포스팅에서는 벌처(Vultr)의 Plesk로 워드프레스를 운영하다 HestiaCP로 워드프레스 데이터를 옮기는 방법에 대해 자세하게 알려드리려고 합니다.
기본 개념 짚고 넘어가기
서버 호스팅
서버 호스팅이란 워드프레스와 같은 웹사이트를 인터넷에 공개하기 위해 서버를 대여하는 것을 의미합니다. 서버는 데이터를 저장하고, 처리하며, 방문자들이 요청할 때 이를 제공하는 컴퓨터입니다. 호스팅 서비스 제공 업체는 소비자에게 약간의 비용을 대가로 받고 이러한 서버를 빌려줍니다. 개인이 직접 서버를 운영하며 웹사이트를 운영할 수도 있지만 서버를 직접 운영하려면 초기 설치 비용이 많이 필요하며, 프로그래밍과 관련된 전문 지식이 필요합니다. 그래서 많은 분들이 서버 호스팅 업체의 서비스를 이용하고 있습니다.
운영체제(OS, Operating System)
운영체제는 컴퓨터의 하드웨어와 소프트웨어를 관리하고, 사용자와 컴퓨터 간의 인터페이스 역할을 하는 기본 소프트웨어입니다. 운영체제는 프로그램을 실행하고, 파일을 관리하며, 네트워크 연결을 처리하고, 보안을 유지하는 등의 기능을 합니다. 리눅스(Linux)는 다양한 운영체제의 기반이 되는 커널입니다. 커널은 운영체제의 핵심 부분으로 리눅스를 기반으로 한 운영체제로는 Debian과 Ubuntu 등이 있습니다.
웹 호스팅 컨트롤 패널
Plesk와 Hestia는 웹 호스팅 컨트롤 패널입니다. 이들은 운영체제 위에서 동작하는 소프트웨어로, 서버와 웹사이트 관리를 쉽게 할 수 있도록 도와줍니다. HestiaCP는 무료로 제공되는 소프트웨어이면서 SSL 인증서와 같은 보안 기능도 갖추고 있으며, 워드프레스 등의 웹 응용 프로그램을 설치할 수 있는 기능도 제공합니다.
도메인과 DNS
도메인은 인터넷 상에서 식별할 수 있는 고유한 주소입니다. DNS는 도메인을 IP 주소로 변환하는 시스템입니다. 도메인 업체에서 등록한 도메인을 DNS 서버에 추가한다는 것은 해당 도메인을 특정한 IP 주소에 매핑(Mapping)하는 작업을 의미합니다. 예를 들면, 사용자가 “www.example.com”이라는 도메인을 입력하면, DNS는 이 도메인을 해당 웹사이트의 실제 서버 IP 주소로 변환하여 사용자의 브라우저가 해당 서버에 접속할 수 있도록 연결해줍니다. DNS 서비스는 가비아 같은 도메인 등록 업체뿐만 아니라 서버 호스팅 업체에서도 제공하는 서비스입니다.
Plesk에서 Hestia로 전환하면서 겪은 문제들
Error: Web domain mydomain exists
처음에는 Vultr에서 Debian 운영체제를 선택해서 서버를 만들었습니다. HestiaCP에서 도메인을 추가하려고 할 때 ‘Error: Web domain mydomain extists’라는 오류 메시지가 뜨면서 진행을 할 수가 없었습니다. 제가 선택한 Debian 12 버전은 HestiaCP 홈페이지에서 지원하는 버전이라고 되어있었지만 계속 오류가 발생하는 바람에 Ubuntu 22.04로 바꾸고 나서는 문제가 해결됐습니다.
HestiaCP Quick Install App Error(Internal Server Error 500)
Debian 운영체제에서 HestiaCP를 설치하고 도메인 추가도 어떻게 다음 단계로 넘어간 이후 워드프레스 설치를 위해 HestiaCP에서 Quick Install App 버튼을 누르면 Internal Server Error 500 페이지가 뜨면서 설치가 불가능했습니다. Ubuntu로 변경하고 나서는 문제가 해결됐습니다.
Let’s Encrypt SSL 403, 429 Error
- 403: SSL 인증 요청을 하기 전에 쿠키 및 사이트 데이터를 삭제해야 정상적으로 진행이 됩니다.
- 429: SSL 인증 요청을 너무 자주 하면 일주일 동안 해당 도메인은 SSL 인증을 신청할 수 없게 됩니다.
WP Migration Critical Error
Ubuntu로 바꾼 후에는 워드프레스 설치까지 정상적으로 진행이 되었습니다. 그런데 WP migration 플러그인으로 백업을 진행하는 과정에서 진행이 되지 않고 워드프레스가 먹통이 되었습니다. 디버그 기능으로 확인해보니 php, redis, mu-plugins 이런 문구들과 관련된 문제들이 발생했다는 내용이 있었습니다. 처음에는 php 버전 문제인가 싶어서 php를 건드려보고 챗지피티가 알려준 대로 콘솔에서 명령어도 입력해봤지만 해결이 되지 않았습니다. Plesk에 들어가서 Files > wp-content 폴더 > mu-plugins 폴더의 이름을 변경하고(mu-plugins-delete 이런 식으로) 그 상태에서 백업 파일을 생성한 뒤 HestiaCP 워드프레스로 옮겨주면 됩니다. 그러면 백업이 멈춤 없이 정상적으로 진행되고 HestiaCP에서 파일을 확인해보면 mu-plugins 폴더는 정상적으로 생성되어 있습니다. 이름을 변경했던 폴더는 따로 삭제하면 됩니다.
워드프레스 새로 만들기 A to Z
그러면 오류 없이 진행했던 과정들만 따로 살펴보도록 하겠습니다.
Plesk 워드프레스 백업 파일 만들기
Plesk에서 File > wp-content 폴더 안에 있는 mu-plugins 폴더의 이름을 변경(백업이 실패할 수 있으니 삭제하지는 마세요.)
WP migration 플러그인(100GB) 파일 다운로드
Vultr에서 Ubuntu 운영체제로 서버 만들기
Cloud Compute – Shared CPU를 선택합니다.
운영체제는 Debian 말고 Ubuntu를 선택합니다. 2024년 6월 29일 기준 Ubuntu 22.04로 정상 설치 가능합니다.
High Frequency에서 가장 저렴한 요금제를 선택합니다. 필요에 따라서 더 비싼 요금제를 사용해도 괜찮습니다.
자동 백업 기능은 유료이기 때문에 비활성화합니다.
도메인 업체 홈페이지에서 네임서버 변경
저는 도메인 업체로 가비아를 사용하고 있습니다. Vultr에서 제공하는 DNS 서비스를 이용하기 위해서 네임서버를 가비아에서 벌처로 변경해줍니다.
Vultr에서 도메인을 DNS에 연결
Products > Network > DNS > Add Domain to DNS에서 본인이 사용하는 도메인을 입력하고 새로 만든 서버와 연결하면 됩니다. 가비아를 네임서버로 사용하고 있었다면 가비아 DNS에 입력한 구글과 관련된 TXT 레코드 등은 복사해서 붙여넣기 하면 됩니다.
새로 만든 서버의 콘솔에 들어가서 HestiaCP 설치
먼저 아이디와 패스워드를 입력해서 로그인을 합니다.
Hestiacp.com > 상단 Install > 명령어 복사해서 콘솔에 붙여넣기
- HestiaCP 다운로드: wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
- HestiaCP 설치: bash hst-install.sh
설치가 진행 중에 [y/n]을 물어보면 y를 입력해서 진행하면 됩니다. FQDN hostname은 CP에 들어갈 주소를 입력하는 과정입니다. 본인 도메인 앞에 cp를 붙여서 입력하면 됩니다.
과정이 완료되면 credentials 정보를 확인할 수 있습니다. 반드시 캡처를 하시기 바랍니다. 여기에 나오는 비밀번호는 HestiaCP에 로그인할 때 필요한 정보입니다.
HestiaCP로 들어가서 유저 추가 및 도메인 추가
FQDN hostname에 입력했던 주소에 :8083을 붙여 입력하면 HestiaCP 로그인 창이 나옵니다.(cp.example.co.kr:8083)
보안 관련 문제로 Admin 계정으로 도메인 추가를 하지 않고 따로 유저를 만드는 것이 좋습니다.
유저를 추가하고 그 유저로 웹 도메인까지 추가해줍니다. DNS support 옵션은 체크하고 저장해주세요.
추가된 도메인을 수정해서 도메인 redirection 방식을 원래 사용하던 것처럼 바꾸어줍니다. Enable SSL for this domain을 클릭하고 세 박스를 모두 체크한 뒤 저장합니다. SSL 요청하기 전에 홈페이지 캐시 및 사이트 데이터는 삭제를 하셔야 합니다.
Quick Install App에서 워드프레스 선택
Edit Web Domain 상단에 있던 Quick Install App을 눌러줍니다.
하단에 보이는 워드프레스 Setup을 누르고 몇 가지 정보를 입력하면 설치가 완료됩니다.
WP migration 설치 후 백업 파일 업로드
example.co.kr/wp-admin으로 들어가서 로그인을 하고 WP migration을 설치합니다.
mu-plugins 폴더 이름을 변경한 백업 파일을 업로드하면 오류 없이 백업이 완료됩니다. 워드프레스 비밀번호는 백업 파일을 만들었던 Plesk 워드프레스 비밀번호로 변경됩니다.
워드프레스 정상 작동 확인
이전 글을 확인해보고 방문자 유입 등에 문제가 없는 것을 확인한 뒤에 기존 서버는 삭제합니다.
서버 백업 후기
저는 워드프레스를 거의 취미로 운영하는 중이라 수익이 거의 없는 상태입니다. 매달 $6으로 워드프레스를 운영하다가 Plesk 유료화 이후에는 $20 이상의 요금을 내야 하는 것이 너무 부담스러웠습니다. 그러던 중 HestiaCP로 Plesk를 대체할 수 있어서 원래의 저렴한 요금제로 워드프레스를 유지할 수 있게 되었습니다. 요즘 워드프레스 관련 유튜브 채널을 보면 클라우드웨이즈처럼 비싼 요금제로 서버를 호스팅하는 업체를 홍보하는 분들이 많습니다. 심지어 클라우드웨이즈에서 벌처를 선택해서 서버 호스팅을 하는 과정을 설명하는 분들도 있습니다. 처음부터 벌처에서 서버 호스팅을 하면 되는 일인데 말입니다. 물론 클라우드웨이즈에서 제공하는 별도의 서비스들도 있겠지만 워드프레스 초기 단계라 유입이 적고 수입이 없는 분들이라면 제일 저렴한 요금제를 선택하는 것이 맞습니다. 그렇게 서버를 운영해보다가 필요한 것들이 생길 때 추가하는 것이 낫지 않을까요? 아무튼 이번 포스팅에서는 제가 겪었던 오류들을 어떻게 해결했는지 소개했습니다. 다들 이 포스팅 참고하셔서 저렴한 요금제를 유지하는데 도움이 되었으면 합니다.