Ghost CMS & MariaDB Ansible 자동화 가이드 (DevOps)
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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의 자동화를 구현해 재사용 가능한 인프라 구성 가능