Table of Contents
저번 인스턴트 생성까지 마치고 이제 이 부분까지만 지나면 여러분은 본인의 Ghost 블로그를 보실 수 있을겁니다. 조금만 더 힘내보도록 하죠.
인스턴드에 IP+도메인 연결하기
인스턴트에는 기본적으로 IP 주소가 제공되지만(당연히 인터넷으로 연결하려면 IP 주소가 있어야겠죠?) Ghost 블로그를 제대로 사용하려면 고정 IP 주소를 사용해야합니다. 그리고 이러한 설치형 블로그를 만드는 목적인 개인 도메인도 같이 연결해주어야죠. 바로 시작해보도록 합시다.
도메인 주소 관리를 Lightsail로 이관
인스턴스를 설정하기 이전에 구매한 도메인을 Lightsail에서 사용할 수 있도록 설정을 해주어야 합니다. Route53에서 관리하는 도메인을 Lightsail로 넘겨주는 것이죠. Lightsail 화면에서 왼쪽 SNBSide Navigation Bar에서 Domians & DNS 메뉴를 클릭한 뒤 Create DNS zone 버튼을 선택합니다.
DNS zone을 설정하는 화면입니다. 우리는 Route53에서 구매하였으니 바로 표시되지만 다른 서비스에서 구매했을 경우 조금 더 복잡한 등록과정을 거치겠죠? 우리는 드롭다운 메뉴에서 이전에 구매한 도메인을 선택한 뒤 등록해줍니다.
인스턴스에 고정 IP 주소 할당하기
Lightsail로 도메인 관리를 이전했으면 인스턴트로 다시 넘어가서, 본인의 인스턴트를 선택해줍니다. 들어가면 여러가지 메뉴가 보일거에요. 상단 우측에는 서버를 재시작하거나 멈출 수 있는 버튼이 있고 서버의 여러가지 정보도 보일겁니다. 우리는 우선 고정 IP를 생성해주어야 합니다. Networking 메뉴를 선택해줍니다.
Networking 화면에서 바로 PUBLIC IPV4 값이 보일겁니다. 하단의 Attach static IP를 선택하여 고정 IP주소를 생성해줍니다. 혹시나, 만에하나, Lightsail 어딘가에서 IPv4 주소를 생성했었다면, IPv4 주소가 보일것이지만, 그렇지 않을 경우에는 생성화면이 뜰 겁니다. IPv4에 사용할 고유 이름을 입력해주고 생성하도록 합시다.
참고로 IPv4 주소를 유지하는데 돈이 들어갑니다. 왜냐하면 IPv4 주소는 고갈되었거든요. 2020년 8월 21일에 LACNICLatin America and Caribbean Network Information Centre, 라틴아메리카 및 카리브해 네트워크 관리 센터에서 마지막 IPv4 주소를 할당한 이후 더 이상 신규로 생성할 수 있는 주소가 남아있지 않은 상황이죠. 이를 대비하기 위해 IPv6라는 주소를 신규로 발급하고 있지만, 기존의 IPv4를 유지, 관리하는데 AWS에서도 이제는 돈을 받게 되었습니다. 사용여부와 무관하고 보유하고 있는 IPv4 주소 하나마다 시간 당 0.005$의 요금을 부과합니다. 대충 한 달에 3.75$, 5000원 정도 하는 금액입니다. 그러니 안쓰는 IPv4 주소가 있는 경우에는 삭제하도록 합시다.
고정IP주소 생성이 완료되었으면, 하단으로 내려가서 IPv6 주소 사용을 중지해줍니다. Ghost가 아직 IPv6 주소를 지원하지 않고, 인스턴스에서 IPv6 주소를 가지고 있을 때 오류가 나거든요.
인스턴스에 도메인 주소 연결하기
IP 설정이 완료되었으니, 도메인도 설정해줘야겠죠. Networking 옆의 Domains 메뉴를 선택해줍니다. 들어가면 Assign domain 버튼을 선택해줍니다. 바로 밑에 도메인 선택 메뉴가 뜨면 이전에 Lightsail에 연결한 도메인을 선택해줍니다.
살짝 복잡하니 자세히 설명하겠습니다. 여기서 두 개의 도메인을 입력할 겁니다. 하나는 www가 없는 도메인을 입력할겁니다. Select a domian name에서 도메인 이름을 선택한 뒤 IP 주소는 고정 IP 주소를 선택한 뒤 Assign을 선택, 기본 도메인을 입력해줍니다. 그리고 다시 Assign domain을 선택한 뒤 본인의 도메인을 선택, 아까와는 다르게 A subdomain of 본인 도메인을 선택하면 바로 어떤 subdomain을 넣을 것인지를 입력하는 창이 뜹니다. 여기에 www를 입력해준 뒤 동일하게 고정 IP 주소를 선택해주고 Assign을 선택해줍니다. 이렇게 도메인 주소를 두 개 입력해주면 됩니다.
CLI 화면에 쫄지 마세요
이제 마지막입니다. 이 부분만 마치면 여러분은 Ghost를 이용하여 블로깅을 하실 수 있습니다. 이제 시작하도록 하죠. Ghost 설정을 마무리하기 위해서는 서버 화면에서 이런저런 설정을 해줘야합니다. 우리... 아니 이 블로그를 보고 계신 윈도우95부터 컴퓨터를 사용하신 분들에게는 낮선 화면에서 작업을 해야할 겁니다. CLICommand-Line Interface, 명령줄 인터페이스 입니다.
지금 우리가 쓰고 있는 Windows OS나 Mac OS, 또는 iOS나 Android OS 모두 GUIGraphical User Interface, 그래픽 유저 인터페이스 라고 부릅니다. 우리가 프로그램을 실행시키기 위해서 그림으로 되어있는 아이콘을 클릭하거나 손가락으로 눌러 실행할 수 있는 게 바로 저 GUI이기 때문에 가능한 것입니다. 이러한 OS가 나오기 이전에, MS-DOS가 컴퓨터의 주요 OS일 때는, 사람이 직접 폴더까지 이동하는 것을 명령어로 치면서 접근하고 해당 폴더에서 프로그램명을 입력해야 실행할 수 있었죠.
지금도 서버를 다룰 때는 GUI보다는 CLI를 더 많이 사용합니다. 지금부터 설정할 인스턴스도 마찬가지구요. Ghost 인스턴트를 구성하고 있는 OS인 Ubunto에 GUI가 있음에도 불구하고 더러운 고인물들은 불편하다고 CLI로 쓰는 사람 천지인데요.
어려울 거 같지만 딱 필요한 것만 할 것이고 자세하게 설명할테 너무 걱정하지 말고 따라와주시면 됩니다.
고정 IP 주소 설정하기
이전 포스트에서 고정 IP 주소를 설정했는데 왜 또 하냐구요? 그건 인스턴스 설정이였고, 이번에는 Ghost가 인식하도록 하는거에요. Ghost의 환경이 저걸 아직 모르니깐 그걸 인식시켜주는겁니다. 예로 우리가 이사했다고 끝이 아니라 주민센터에 가서 전입신고도 해야하잖아요? 그런 겁니다. 뭐가
우선 인스턴스를 선택한 뒤에 Connect 메뉴에서 Connect using SSH를 선택합니다.
선택하시면 다음 화면이 뜰 겁니다. 블라블라, 영어가 참 많죠? 참고로 저 칸에는 영타만 칠 수 있으니까 만약 내가 키보드를 눌렀을 때 글자가 안쳐지면 다음과 같이 해보세요.
- 해당 브라우저를 클릭해서 활성화한다
(이거 은근히 안해서 실수하드라) - 활성화 상태에서 키가 안먹을 경우 한/영키를 눌러본다
저 블라블라 글자 맨 아래부분만 봅시다. 깜빡깜빡 거리는 부분이 있죠? 저걸 커서cursor라고 부릅니다. 마우스 모양을 커서라고 하는 거 아니냐구요? GUI가 나오기 이전, CLI일 때는 저 걸 커서라고 불렀답니다. 지금 GUI에서는 마우스 모양을 마우스 커서, CLI의 커서는 문자 커서라고 따로 지칭해요.
자세한 설명은 다음에 하고 바로 다음 명령어를 입력해주세요. 한 글자도 빠짐없이 치면 됩니다.
sudo /opt/bitnami/configure_app_domain --domain [고정 IP 주소]
#example
sudo /opt/bitnami/configure_app_domain --domain 192.168.0.1
이 명령어는 여러분이 받은 고정 IP 주소를 Ghost가 저장하게 하는 명령어입니다. 이제 앞으로 여러분은 저 고정 IP 주소만 입력해도 여러분이 만들, 만들어갈 Ghost 블로그로 이동할 수 있죠. 하지만 아직 끝이 아닙니다.
Ghost 블로그가 도메인을 인식하고 HTTPS 설정하기
이번에는 도메인을 인식시키고 HTTPS도 설정을 하죠. HTTPS가 뭐냐구요? 지금 브라우저 상단의 주소창을 보면 그 옆에 자물쇠 모양이 있죠? 한번 클릭해보세요. 그러면 이런 게 뜰 겁니다.
이 연결은 안전하고 뭐 어쩌구 저쩌구. 이게 바로 HTTP에서 발전한 HTTPS인데요. HTTP부터 설명을 하면 너무 길어지니 생략하고 이러한 보안 방식을 SSL/TLSSecure Sockets Layer/Transport Layer Security 라고 한다. 저건 인증서를 받아야한다. 라고만 지금은 이해해주세요!
바로바로 다음 명령어를 입력합시다.
sudo /opt/bitnami/bncert-tool
그러면 기존에 있던 블라블라 ~$로 끝나는 거 대신 이런 게 생길거에요. 여기에 이전에 등록한 도메인 2개를 다 입력해줍니다.
이렇게 입력하면 뭔가 되는 거 같으면서 갑자기 또 뭔가 뜰겁니다. 먼가 좔라좔라 하고 끝에 [Y/n] 이라고 뜰 거에요. 다음과 같이 뜨면 다음과 같이 입력해주세요.
Domain list []: [도메인] [도메인]
#example
Domain list []: jinbap.im www.jinbap.im
잘 보면 본인들이 추천하는 선택은 대문자고 추천하지 않는 선택은 소문자이니 그렇게 선택해주면 됩니다. 다음 단계에서는 이메일 주소를 입력하라고 하는데 해당 이메일 주소를 입력해주면 되고, Let's Encrypt 인증서 정책에 동의하는 것에도 Y를 해주면 자기가 알아서 설정을 마무리 지을겁니다. Success가 나오면 끝이고 마지막에 엔터를 쳐주면 초기 설정은 마무리입니다만, 프로그램 설치하면 컴퓨터를 껐다 키든 Ghost 인스턴스도 한번 껐다 켜주죠. 다음과 같이 입력해줍니다.
sudo /opt/bitnami/ctlscript.sh restart
재시작까지 완료된 후, 이제 본인이 준비한 도메인 주소로 들어가게 되면 다음과 같은 화면을 볼 수 있을거에요.
근데 글은 어떻게 써요?
글을 쓰려면 관리자 페이지로 들어가야겠죠? 본인의 도메인 뒤쪽에 /ghost를 붙여줍니다. 예를 들어 제 도메인이 jinbap.im이니깐 jinbap.im/ghost를 입력하면 제 블로그의 관리자 페이지를 들어올 수 있겠죠. 들어오면 다음과 같은 화면을 볼 수 있어요.
근데 우리가 이메일을 등록했나요? 패스워드는? 등록 안했죠? bitnami에서는 기본 [email protected]으로 등록해놓고, 비밀번호도 초기 비밀번호가 있어요. 이걸 찾아야합니다.
다시 인스턴스를 조작하는 창으로 들어가서 다음과 같이 입력해줍시다.
cat $HOME/bitnami_application_password
그러면 블라블라 이상한 문자 조합이 뜰 거에요. 그게 저 관리자의 초기 비밀번호입니다. 아까 알려드린 [email protected] 과 조금 전 획득한 초기 비밀번호를 입력한 뒤 들어가면 다음 화면으로 들어갈 수 있을겁니다. 그러면 끝!
자, 여기까지 따라오시느라 정말 고생하셨습니다. 이제까지 정말 시작의 끝이었네요(응?) 다음부터는 관리자 페이지를 어떻게 설정하는지, 테마를 어떻게 바꾸는지, 왜 이 블로그에서는 이미지가 안뜨는지를 알아보고 해결하는 방법을 하나씩 알려드릴게요(?????)