Ghost CMS 및 MariaDB Ansible 자동화 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
- DevOps 엔지니어 및 중급 이상의 개발자
- Ansible, Ghost CMS, MariaDB 자동화에 관심 있는 사람들
- 난이도: 중간 (Ansible 기본 지식 필요)
핵심 요약
- Ghost CMS 5.x + MariaDB 10.6 자동화
- Ansible을 사용해 systemd 기반 프로세스, SMTP 설정, 백업 복구 포함
- 핵심 구성 요소
mariadb-server
,ghost
사용자,ghost install
CLI 명령어config.production.json
템플릿 생성 및sudoers
파일 설정- 보안 및 효율성
sudo
없이systemctl
실행 가능,Ansible Vault
로 비밀 정보 보호
섹션별 세부 요약
1. Ansible 역할 생성 및 구조
- ansible-galaxy init
명령어로 roles/ghost
디렉토리 생성
- ghost.yml
, hosts.ini
, vars/
등 구성 파일 포함
- ghost_dir
, db_user
, mail_transport
등 변수 정의
2. MariaDB 10.6 설치 및 DB 설정
- apt
모듈로 mariadb-server
설치
- mysql
셀레를 사용해 DB 및 사용자 생성 (SQL 쿼리 포함)
- CREATE DATABASE
, GRANT PRIVILEGES
명령어 사용
3. Ghost CMS 설치 및 구성
- NodeSource
리포지토리 추가 후 ghost
사용자로 CLI 설치
- ghost install
명령어로 설치 (MySQL, systemd, URL 등 옵션 포함)
- sudoers.d/ghost
파일 생성으로 systemctl
명령어 sudo
없이 실행
4. 백업 복구 및 권한 설정
- unarchive
모듈로 백업 파일 복구 (restore_url
사용)
- file
모듈로 ghost_dir
권한 설정 (사용자: ghost
, 그룹: ghost
)
- config.production.json.j2
템플릿 생성 (SMTP, DB 정보 포함)
5. 실행 및 보안 고려 사항
- ansible-playbook -i hosts.ini ghost.yml
명령어로 실행
- Ansible Vault
로 SMTP 인증 정보 보호
- cron
+ Ansible 스크립트로 정기 백업 자동화
결론
- 실무 팁:
Ansible Vault
로 민감 정보 보호,ghost update
명령어로 업그레이드 자동화,LiveAPI
를 활용한 API 문서 자동 생성 - 핵심 구현 방법: Ansible 역할을 통해 Ghost CMS와 MariaDB의 자동화를 구현해 재사용 가능한 인프라 구성 가능