Ghost blog를 Apache와 함께 구동하기

개요

LAMP스택으로 돌아가는 Cloud Instance 가 하나 있어서, "리소스도 얼마 안먹는데 블로그나 한번 더 운용해볼까" 해서 만들게 된 계기로, Ubuntu 20.04 LTS + Apache2 + PHP 7.3 + Mysql으로 돌리고 있는 서버를, 재활용 하자라는 생각이 나서 만들어 봤습니다.

Apache와 같이 동작이 가능한가?

네. 가능합니다. 충분히요
Apache + php + mysql조합으로만 웹을 굴리다보니까, apache2를 안거지고 어떻게 운용을 하지?
라는 생각을 갖고 하다가, 깨달았습니다. Ghost는 알고보니 Service 단에서 돌아가는 녀석이라, Apache2를 사용해서 Reverse Proxy를 사용하면 가능하겟구나! 생각해서 만들어 봤습니다.

설치

먼저 Ghost와 Apache2 가 설치 되어 있어야한다. Ghost Install Manual

Apache에서 해당 도메인에 대해서 VirtualHost를 작성하여, 다음과 같이 넣어준다

<VirtualHost *:80>
ServerName example.com
ProxyPreserveHost on
ProxyRequests off
ProxyPass / http://localhost:2368/
ProxyPassReverse / http://127.0.0.1:2368/
</ VirtualHost>

sudo a2ensite example.com.conf

로 Sites를 enable 해두고,

sudo systemctl reload apache2

를 이용하여, 해당부분에 대해서 재 시작을 날려준다.

이러면 http를 이용한 접속은 가능하나, https접속은 불가능 하므로, Https를 적용시키기 위해서, Certbot 을 사용한다.

sudo certbot --apache

를 이용하여, 해당사이트의 번호 입력후 verification 과정이 끝나면, Redirect로 Https로 접속 가능하게 Redirect를 설정해주면, 간단히 끝난다.


2022-06-21 추가

Ghost Blog에서 이미지가 나오지 않는것을 확인하여, 해결했다.

원인은 ghost blog install directory 에서

config.production.json

에 있는 URL부분에, https가 아닌 http로 되어있어, https로 바꾸니 잘 나온다.

이 외에도 안나오는 부분이 있으면, 권한 문제일 가능성이 크다고 생각된다.

Show Comments