Hestia CP – Vultr 워드프레스 블로그 개설하기

서버 컨트롤 패널은 리눅스에 대한 지식이 좀 부족해도 리눅스 서버를 이용해 여러개의 워드프레스 블로그 사이트를 운영할 수 있도록 도와준다. 이번 포스팅에서는 지난 포스팅들에서 살펴봤던 cyberPanel과 Webmin에 이어 Hestia 의 설치와 워드프레스 블로그 개설에 대해 알아보자.


Hestia 로 Vultr에서 워드프레스 블로그 만들기

이전 포스팅들에서 소개했던 cyberPanel이나 Webmin과는 달리 Hestia는 Vultr에서 서버 생성시 자동설치를 지원하지 않는다.

즉 우분투만 선택해 서버를 생성한 뒤 명령을 입력해 따로 설치해야 한다.

다행히 명령어를 한글자 한글자 직접 타이핑할 일은 없다. 그저 정해진 명령어를 복사해서 붙여넣기만 하면 된다.

설치 및 설정 과정을 간략히 살펴보면 다음과 같다.

  • Vultr에서 서버 이미지로 우분투를 선택해 서버생성
  • Hestia installer 다운로드 및 실행
  • Hestia 접속
  • Hestia 상에서 가성서버 생성 및 SSL등 설정
  • 워드프레스 설치

Hestia 설치과정에서 Hestia 패널 접속용으로 사용될 도메인과 워드프레스 블로그 사이트의 주소로 사용된 도메인이 각각 필요하다.


1. Vultr 서버 생성

Hestia는 이전 포스팅에서 소개한 다른 패널들과 달리 Vultr에서 생성 이미지로 제공되지 않는다.

하지만 걱정할 필요는 없다. 우분투 이미지를 선택해 서버를 생성한 후 명령어 몇개를 복사해 붙여넣기만 해주면 된다.

우선 Vultr에서 OS로 우분투 이미지를 선택해 서버를 생성한다. cloud compute – share CPU 타입으로 선택하면 된다.

hestia cp를 설치하는 건 cloud compute - shared cpu 타입으로도 충분하다


생성할 서버에 설치할 이미지로 ubuntu 를 선택한다.

Vultr에서 우분투를 운영체제로 선택해 서버를 생성한다.

Operating System 에서 Ubuntu 22.04 LTS x64 를 선택한다.

최근 우분투 24.04 LTS가 배포되었고, Hestia 역시 공홈에서 요구사항으로 최소 20.04 LTS, 22.04 LTS, 권장은 최신 LTS 버전을 제시하고 있긴 하지만, 실제로 우분투 24.04LTS에서 설치하려면 지원하지 OS라며 진행되지 않는다.

여기서는 그냥 이전 포스팅에서 다뤘던 다른 패널들과 동일하게 Ubuntu 22.04 LTS을 선택했다.


2. Hestia 설치

서버를 생성하면 우분투가 설치되기까지 1~2분정도 시간이 소요된다.

설치 완료 여부는 생성된 서버의 콘솔보기를 통해 확인 할 수 있다. 아래처럼 login 화면이 출력되면 설치가 완료된 것.

vultr에서 우분투를 운영체제로 선택하여 서버 생성이 완료된 모습


2.1. Hestia 설치전 준비

Hestia 설치시에 전체 도메인 주소 형태(FQDN)의 호스트 네임을 입력해주어야 한다.

쉽게 생각하면 Hestia 설치 후 Hestia 의 어드민 접속 주소로 사용할 도메인이다.

임의로 입력해도 설치에는 문제가 없다. 다만 이후 관리를 위해 서브도메인 하나를 연결해주면 편하다.

우분투가 설치되는 동안 생성된 서버IP에 A레코드로 연결된 서브도메인을 하나 만들어 둔다.

hestia 관리 페이지 주소로 사용할 주소를 서버ip에 연결한다.

여기서는 hcp.howso.kr 를 사용했다.


2.2. SSH 접속

Hestia는 커맨드라인에 명령어를 직접 입력해 설치해야 한다. 그리고 설치가 완료되면 관리자 ID와 비밀번호가 터미널 화면에 출력된다.

하지만 Vultr에서 제공되는 콘솔에서는 출력된 내용을 드래그해 복사할 수 없다. 일일히 받아적는 수고로움이 필요하다는 이야기다.

그래서 SSH로 서버에 접속해 진행하는 것이 조금 편하다.

명령어 몇줄을 복사해 붙여넣고 완료 후 출력되는 접속정보만 긁어서 복사만 하면 되니 굳이 별도의 프로그램을 설치할 필요는 없다.

맥이든 윈도우든 터미널에서 ssh로 서버에 접속할 수 있다. 여기서는 맥의 터미널을 이용해 SSH로 서버에 접속했다.

hestia 설치를 위해 터미널에서 ssh로 서버에 접속하는 모습

윈도우 CMD나 맥북에서 터미널 창을 띄운 뒤 ssh root@서버IP를 입력한 후 엔터를 누르면 서버에 접속할 수 있다.

접속을 계속할지 묻는 것엔 yes를 입력한 후 엔터, 나머지 서버 비밀번호를 복사해 붙여넣은 후 엔터를 누르면 로그인된다. 비밀번호를 입력할 땐 화면에 변화가 없다.

hestia 설치를 위해 터미널에서 ssh로 서버에 접속한 모습


2.3. Hestia 다운로드

아래 명령어를 붙여넣은 후 엔터를 누르면 최신 릴리즈의 Hestia 설치 스크립트가 서버로 다운로드 된다.

wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh


Hestia 설치 스크립트 다운로드 받는 모습


2.4. Hestia 설치스크립트 실행

아래 명령어를 붙여넣은 후 엔터를 누르면 다운받은 Hestia 설치 스크립트가 실행된다.

bash hst-install.sh


다운받은 Hestia 설치 스크립트 실행


설치 과정 중 몇가지 확인하고 입력할 사항이 있다.

Hestia 설치 시작

첫번째는 설치전 이미 설치되어 있는 패키지 중 설치할 패키지와 충돌하는 패키지를 제거할 것인지 묻는다. y 를 입력하고 엔터를 누르면 된다.


다음은 Hestia 컨트롤 패널의 인스톨이 시작되고, 설치를 계속 진행할 것인지 묻는다. 당연히 y 를 누르고 진행하면 된다.

Hestia 설치 시작


이메일을 입력한다. 임의의 메일주소를 입력해도 진행은 된다. 하지만 서버관련 알림이 수신될 수 도 있으니 가급적 실제 사용하는 이메일을 입력하는 것이 좋을 듯 하다.

Hestia 설치시 이메일 입력이 필요하다


Hestia 관리 페이지 접속에 사용할 전체 도메인(ex. hcp.howso.kr) 을 입력한다.

Hestia 접속시 필요한 FQDN 입력

설치 중 입력한 도메인에 SSL 인증서가 자동으로 설치되며, 해당 주소를 사용해 어드민 페이지에 접속할 수 있다.


설치과정에서 입력해야 할 건 다 끝났다. 설치가 완료될 때까지 몇분간 시간이 소요된다.

설치가 완료될때까지는 시간이 필요하다.


2.5. Hestia 관리자 페이지 접속

설치가 완료되면 아래와 같은 화면이 출력된다.

설치가 완료되면 Hestia 접속 정보가 화면에 출력된다.

터미널에서 하는 작업은 이게 마지막이다. 화면에 표시된 주소를 복사해 브라우저로 접속하면 된다.


표시된 주소로 접속하면 아래와 같이 Hestia 관리자 페이지에 접속할 수 있다. 주소표시줄의 표시로 SSL 인증서가 적용된 걸 확인할 수 있다.

Hestia 관리자 페이지에 접속한 화면


화면에 표시되었던 Username과 Password를 입력해 로그인하면 아래와 같이 Hestia 컨트롤 패널의 홈화면을 볼수 있다.

Hestia의 홈화면


3. Hestia 가상서버 생성

이제 Hestia에서 몇가지 설정을 한 뒤 워드프레스를 설치해 블로그 사이트를 운영할 가상 서버를 생성하면 된다.


3.1. 언어설정 – 한국어 가능

일단 세세한 부분까지는 아니더라도 한국어 지원이 되긴 된다.

한국어를 지원하지만, 세세하지는 않다.

홈화면에서 오른쪽 위 프로필 아이콘을 눌러 사용자 정보 페이지를 열면 어드민 환경에서의 언어를 변경할 수 있다. 하지만 아주 세세한 부분까지 한글화가 되어 있진 않다.


3.2. 사용자 추가

admin에 추가할 수 있는 도메인(가상서버)는 1개이다. 그리고 그 1개는 Hestia CP와 이미 연결되어 있다. 즉 admin 계정으로는 도메인 추가(가상서버 생성)가 되질 않는다.

도메인을 추가하려면 사용자를 추가해야 한다.


사용자를 하나 추가하면 된다. 사용자 탭을 클릭한 후 아래 사용자 추가 버튼을 누른다.

사용자 추가하기


사용자 추가시 입력 또는 선택할 항목은 아래와 같다.

사용자 추가시 입력할 항목들
  • username : 사용자 이름은 추가한 사용자가 Hestia CP와 생성할 가상서버의 FTP등에 접속할 때 입력할 계정ID다.
  • Contact name : 계정 사용자의 별칭. 임의로 입력하면 된다.
  • Email : 계정관련 알림을 받을 수 있는 메일 계정 주소
  • Password : 추가한 사용자가 Hestia CP와 생성할 가상서버의 FTP등에 접속할 때 사용할 비밀번호. 8글자이상 & 소문자 1개 이상 & 대문자 1개이상 & 숫자 1개이상 조합
  • 컨트롤 패널 접속 제한 여부와 사용자 추가 알림 메일 발송여부 : 체크 안함
  • Language : 언어 설정. 적용되는 부분이 적어 굳이 한국어를 선택할 필요는 없을 듯
  • Role : 사용자의 권한 설정. user(사용자)를 선택하면 된다.
  • Packages : 서버의 자원할당에 대한 사전 설정. default는 저장공간과 대역폭 제한이 설정되어 있지 않음.

username , Contact name , Email , Password 4가지만 입력하고 나머지는 기본 설정되어 있는대로 두면 된다. 모두 입력한 후 오른쪽 위에 있는 저장 버튼을 누르면 사용자가 추가된다.

추가된 사용자 이름을 클릭하면 해당 사용자 계정으로 로그인 된다.

사용자가 추가된 모습. 추가된 사용자를 클릭하면 편집할 수 있다.


3.3. 사이트 생성 (Add Web Domain)

새로 추가한 사용자 계정에서 워드프레스가 설치될 사이트를 생성하려면 Add Web Domain (웹 도에인 추가) 버튼 클릭하면 된다.

추가한 사용자의 권한으로 사이트를 생성한다.


워드프레스 블로그 사이트에 연결할 도메인을 입력한 후 오른쪽 위에 있는 저장(save) 버튼을 클릭한다. 나머지는 아래 그림과 같이 그대로 두면 된다.

연결할 도메인만 추가해주면 일단 가상 서버가 생성된다.


도메인이 추가되면 아래와 같은 문구를 볼 수 있다. 다시 웹 탭 을 클릭하여 도메인 리스트 화면으로 이동한다.

도메인 추가시 알림


3.4. 사이트 설정

웹 도메인 리스트에서 방금 추가한 도메인을 클릭한다.

추가한 도메인을 편집하려면 리스트에서 도메인을 클릭하면 된다.


추가한 도메인에 대한 SSL 인증과 리디렉션등을 설정할 수 있다.

도메인에 대한 리디렉션, SSL 인증에 대해 선택하면 실제 접속 가능한 사이트가 생성된다.

별칭(영문일 경우 Aliases) 은 생성한 사이트로 연결할 또 다른 주소들을 기입한다.

2차 도메인(howso1.kr 형태의 주소)으로 도메인을 추가한 경우 위 그림과 같이 www 가 호스트인 www.howso1.kr이 자동으로 입력된다. 그외 생성한 사이트에 연결될 주소들을 줄바꿈해서 하나하나 입력해주면 된다.

웹통계 (영문은 Web Statistics) 는 웹로그 분석툴인 awstats 를 사용할지 여부를 선택하는 항목이다. Hestia의 리스트상에서 사이트의 로그를 분석할 수 있는 툴인데, 필요에 따라 선택하면 된다.


아래 두가지 항목 , 은 각각 도메인 리디렉션과 SSL인증서 관련 항목으로 체크박스에 체크를 하면 아래 그림처럼 각각에 대한 하위 항목들을 확인 할 수 있다.

리디렉션과 SSL인증에 대한 항목

Enable Domain redirection 은 어느 주소로 방문자들을 리디렉션 할지 정하는 항목이다. 일반적으로는 호스트를 제외한 루트 도메인 으로 리디렉션을 한다.

아예 다른 주소로 리디렉션 하려한다면 Redirect visitors to a custom domain or web address 을 선택한 후 박스에 해당 주소를 입력해주면 된다.

Enable SSL for this domain 은 SSL 인증서에 관한 부분이다. 무료인 Let’s Encrypt SSL 인증을 설치할 예정이니 Use Let’s Encrypt to obtain SSL certificate 을 선택한다.

인증서 설치후 http를 https로 리디렉션 해주어야 하니 Enable automatic HTTPS redirection 도 선택하면 된다.

HSTS는 웹사이트에 접속할 때 https 프로토콜로 접속하도록 강제하는 기능이라고 한다. 해될 건 없을 것 같으니 Enable HTTP strict Transport Security(HSTS) 도 선택한다.


마지막으로 오른쪽 상단의 저장 버튼을 눌러주면 사이트 생성은 완료된다.

마지막으로 저장을 선택하면 완료
변경사항이 저장되었다는 알림이 보인다.


웹브라우저로 생성한 사이트의 도메인을 입력해 접속하면 아래와 같이 생성된 사이트를 확인할 수 있다.

생성된 사이트에 임시페이지가 보인다. SSL 인증이 정상적으로 적용된 걸 확인할 수 있다.


4. 워드프레스 설치 및 설정

마지막으로 워드프레스만 설치하면 바로 워드프레스 블로그를 시작할 수 있다.


4.1. 워드프레스 설치

웹 도메인 리스트에서 방금 생성한 사이트를 선택한다.

워드프레스 설치은 도메인 편집 페이지에서 할 수 있다.


오른쪽 상단의 Quick install App 버튼을 클릭한다.

오른쪽 상단에 Quick Install App 버튼을 누르면 앱리스트를 확인할 수 있다.


서버에 설치할 수 있는 앱들이 표시된다. 화면을 아래로 스크롤 한다.

설치할 수 있는 앱 목록


화면 맨 아래 익숙한 아이콘이 보인다. Setup 버튼을 누르면 워드프레스 설치시 필요한 항목들을 선택하거나 입력하는 화면으로 넘어간다.

아래로 스크롤 하면 워드프레스를 찾을 수 있다.


워드프레스 설치시 입력하는 항목은 당연한 얘기지만 어디서 하든 같다.

워드프레스 설치시 입력하는 항목. 많아보이지만 생각보다 별거없다.
  • Site Name ❶ : 개설될 워드프레스 사이트의 제목. 탭이나 브라우저 제목표시줄에 표시될 이름이다.
  • WordPress Account Username ❷ : 워드프레스 관리자 계정 ID. 원하는 대로 입력한다.
  • WordPress Account Eail ❸ : 워드프레스 관리자 계정에 대한 이메일
  • WordPress Account Password ❹ : 워드프레스 관리자 계정 비밀번호
  • Install Directory ❺ : public_html 폴더 아래 별도의 폴더를 사용하려는 경우 경로를 입력하면 된다. 선택하지 않는 경우 public_html 폴더 루트에 워드프레스 파일이 설치됨
  • Language ❻ : 여긴 한글이 없다. 설치 후 워드프레스 어드민에서 변경하면 된다.
  • Php Version ❼ : 특별한 이유가 없다면 기본 선택되어 있는 8.2를 그대로 두면 된다. 서버를 이전하는 경우 이전에 사용하던 서버의 php 버전을 확인한 후 선택하면 된다.
  • Database Create ❽ : 이 글의 설치과정을 따라왔다면 따로 생성한 DB는 없을 것이기 때문에 체크 표시를 한다. Database Name, User, Password 는 auto 두고 설치하면 된다.

모두 입력한 후 오른쪽 상단의 저장 버튼을 누르면 워드프레스가 설치된다.


4.2. 접속확인

브라우저에 도메인을 입력해 접속하면 워드프레스가 설치된 사이트를 확인할 수 있다.

설치가 완료된 워드프레스 화면. 익숙한 샘플페이지가 확인된다.

SSL 인증도 정상적으로 설치된 걸 확인할 수 있다.


도메인 뒤에 /wp-admin 붙여서 접속하면 워드프레스 어드민 로그인 페이지가 열린다.

주소뒤에 /wp-admin을 붙여서 접속하면 어드민 페이지로 접속할 수 있다.


워드프레스를 설치하며 입력한 접속정보로 로그인하면 이제 글을 발행할 수 있다.

이제 글을 발행하면 된다.


마치며

이상으로 우분투 서버에 Hestia 컨트롤 패널을 설치해 워드프레스 블로그를 개설하는 과정에 대해 알아보았다. 내용은 Hestia에서 제공하는 문서를 참고하였다.



이전 포스팅들에서 알아본 cyberPanel, Webmin에서부터 이번 포스팅의 Hestia까지 총 3가지의 리눅스 서버 컨트롤 패널에 대해 알아보았다.

cyberPanel 로 Vultr에서 워드프레스 블로그 만들기

Webmin 으로 Vultr에서 워드프레스 블로그 만들기

물론 이외에도 컨트롤 패널은 여러가지가 있다. 하지만, 워드프레스 블로그를 운영하는 입장에서는 이 이상 더 많은 종류의 컨트롤 패널을 알아볼 필요는 없을 것 같다.

워드프레스로 블로그를 운영하는 입장에서 3가지 컨트롤 패널을 비교한 이야기는 아래 링크에서 볼 수 있다.

컨트롤 패널 비교 cyberpanel vs Webmin vs Hestia in Vultr