AWS Lightsail로 Ghost 블로그 운영하기 - 3
1. ghost-storage-adapter-s3 설치
Ghost 블로그는 기본적으로 이미지나 첨부 파일을 업로드 하면 인스턴스의 볼륨에 그것들을 저장한다. 우리가 생성한 Lightsail 인스턴스의 볼륨은 20G로 아주 작은 건 아니지만 첨부 파일의 용량에 따라서는 금방 차버릴 수도 있다. 따라서 네이티브 볼륨을 이용하는 것 보다는 AWS s3에 이미지와 첨부 파일을 업로드해서 관리하는 것이 훨씬 효율적이다. 이후에 블로그를 다른 서버로 옮기더라도 이 설정 방법을 이용해 같은 s3 버킷에 붙이기만 하면 별도의 백업과 복원 과정없이 이미지와 첨부 파일들을 옮길 수 있다.
우선 npm으로 ghost-storage-adapter-s3를 설치하자.
$ sudo npm i -g ghost-storage-adapter-s3
$ sudo mkdir -p /var/www/ghost/content/adapters/storage
# 전역 설치된 패키지를 ghost 디렉토리로 복사
$ sudo cp -r /usr/lib/node_modules/ghost-storage-adapter-s3 /var/www/ghost/content/adapters/storage/s3
$ sudo chown -R ghost:ghost /var/www/ghost/content/adapters
설치가 끝나면 config.production.json
를 수정해서 ghost가 이미지와 첨부 파일을 s3 버킷에 올리도록 설정하자.
$ sudo vim /var/www/ghost/config.production.json
{
"url": "https://blog.koriel.kr",
"server": {
"port": 2368,
"host": "127.0.0.1"
},
"database": {
"client": "mysql",
"connection": {
"host": "localhost",
"user": "ghost-178",
"password": "********",
"database": "ghost_prod"
}
},
"mail": {
"transport": "Direct"
},
"logging": {
"transports": [
"file",
"stdout"
]
},
"process": "systemd",
"paths": {
"contentPath": "/var/www/ghost/content"
},
# 이 밑부분을 추가
"storage": {
"active": "s3",
"s3": {
"bucket": "blog.koriel.kr-*******",
"region": "ap-northeast-2",
"accessKeyId": "A*******************",
"secretAccessKey": "J***************************************",
"endpoint": "https://s3.ap-northeast-2.amazonaws.com/"
}
}
}
s3 버킷 생성은 https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/user-guide/create-bucket.html 을 참조.
Access key id와 secret access key 발급은 https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_credentials_access-keys.html 을 참조.
Ghost를 재시작하여 설정을 적용하자.
$ cd /var/www/ghost
$ ghost restart
2. 테마 설정
Casper라는 기본 테마도 굉장히 잘 만들어진 테마이다. 많은 개발자들이 기본 테마를 그냥 사용하고 있지만 그것이 싫다면 https://marketplace.ghost.org 에서 마음에 드는 것을 골라 사용할 수도 있다. 유료도 있으니 주의.
내가 사용하고 있는 테마는 Ghostium인데 GitHub에서 찾을 수 있다. 마지막 커밋 날짜가 꽤 되어서 ghost 1.24.x 버전과 호환성 문제가 생겼다. 호환성 문제를 해결하고 가독성을 개선해서 개인 repo에 올려두었다. https://github.com/devkoriel/ghostium.
오른쪽 위 Clone or downlad > Download ZIP를 눌러 다운로드 받거나 https://github.com/devkoriel/ghostium/archive/master.zip 이 링크를 눌러 직접 다운로드 받을 수 있다. 다운로드 받은 .zip 압축 파일을 관리자 페이지 > Design > Upload a theme으로 업로드하면 바로 적용할 수 있다.
소셜 계정과 메타 태그, 왼쪽 네비게이션 바를 커스터마이징하려면 아래 4개의 파일들을 본인의 정보에 맞게 수정해야 한다.
partials/custom/config.hbs
partials/custom/featured.hbs
partials/custom/meta.hbs
partials/custom/navigation.hbs
수정한 후 다시 최상위 폴더를 압축하여 업로드하면 적용할 수 있다.
AWS Lightsail로 Ghost 블로그 운영하기 - 1
AWS Lightsail로 Ghost 블로그 운영하기 - 2
AWS Lightsail로 Ghost 블로그 운영하기 - 3