시스템 환경
서버 구성
서비스는 아래 환경을 기준으로 개발·운영됩니다. 같은 버전 또는 호환되는 상위 버전을 사용해 주세요.
| 구분 | 권장 환경 | 비고 |
|---|---|---|
| 운영체제 | Ubuntu 22.04 LTS 이상 | Linux 계열이면 사용 가능 |
| 웹 서버 | Nginx 1.18 이상 | PHP-FPM 연동, HTTPS(SSL) 적용 권장 |
| PHP | PHP 8.4 이상 (PHP-FPM) | 필수 확장 모듈은 아래 표 참고. Docker 컨테이너로 운영할 수도 있습니다. |
| 데이터베이스 | MySQL 8.0 | 문자셋 utf8mb4 |
| 프레임워크 | Laravel 13 | Composer 2로 패키지 설치 |
| 프론트엔드 | Blade 템플릿 + jQuery 3.7 | Node.js 빌드 과정 없음 |
PHP 확장 모듈
아래 확장 모듈이 설치되어 있어야 합니다. 설치 여부는 서버에서 php -m 명령으로 확인할 수 있습니다.
| 확장 모듈 | 용도 |
|---|---|
| pdo_mysql | MySQL 데이터베이스 연결 |
| mbstring, intl | 한글 등 다국어 문자열 처리 |
| openssl, curl | HTTPS 통신, OpenAI·Google Analytics API 호출 |
| gd | 이미지 처리(썸네일 변환 등) |
| bcmath, ctype, fileinfo, tokenizer, xml, dom | Laravel 기본 기능(숫자 계산, 파일 형식 확인 등) |
외부 서비스
아래 서비스는 각 서비스에서 키나 계정 정보를 발급받은 뒤 관리자 > 웹사이트 > 사이트 설정에 입력해야 동작합니다.
| 서비스 | 용도 | 설정 위치 |
|---|---|---|
| OpenAI | AI 블로그 자동생성, 블로그·페이지 AI SEO 자동생성 | 사이트 설정 > AI |
| Google Analytics 4 | 방문자 수집 스크립트, 대시보드 방문자 통계 | 사이트 설정 > 구글 방문자 통계 |
| 메일 서버(SMTP) | Q&A 접수 알림 메일, Q&A 답변 메일 발송 | .env의 MAIL_* 항목 |
예약 작업(스케줄러)
아래 작업은 Laravel 스케줄러에 등록되어 있어, 서버 cron에 스케줄러 한 줄만 등록하면 정해진 시간에 자동으로 실행됩니다. 등록 방법은 설치 가이드를 참고해 주세요.
| 실행 시각 | 명령어 | 내용 |
|---|---|---|
| 1분마다 | ai:run-tasks |
대기 중인 AI 작업을 한 번에 최대 10건씩 차례로 실행 |
| 1시간마다 | blog:publish-reserved |
예약일이 된 비활성 블로그 글을 활성(공개)으로 변경 |
| 1시간마다 | google-analytics:sync |
Google Analytics 4 방문자 통계를 가져와 대시보드에 반영 (데모 사이트는 실행하지 않음) |