설치 가이드
설치 순서
서버 프로그램 설치와 소스 업로드(composer install 포함)를 마친 상태를 기준으로 설명합니다. 아래 예시의 /var/www/okcms(설치 경로), example.com(도메인), okcms(DB 이름)는 실제 환경에 맞게 바꿔 입력해 주세요.
- 환경 설정 파일(.env) 작성
- 데이터베이스 생성
- 파일 저장 폴더 연결과 권한 설정
- 스케줄러 등록
- 관리자 계정 생성
- 관리자 페이지 초기 설정
시스템 요구 사항은 시스템 환경을 참고해 주세요.
1. 환경 설정 파일(.env) 작성
예시 파일을 복사해 .env를 만들고 애플리케이션 키를 생성합니다.
cp .env.example .env
php artisan key:generate
.env 파일에서 아래 항목을 운영 환경에 맞게 수정합니다.
| 항목 | 입력 예시 | 설명 |
|---|---|---|
| APP_NAME | OKCMS |
서비스 이름 (사이트 설정의 상점명이 비어 있을 때 사용) |
| APP_ENV | production |
운영 서버는 반드시 production |
| APP_DEBUG | false |
운영 서버는 반드시 false (오류 상세 내용 노출 방지) |
| APP_URL | https://example.com |
사이트 주소. 메일 링크, 사이트맵 주소에 사용됩니다. |
| APP_DEMO | false |
데모 사이트로 운영할 때만 true. 저장·수정·삭제 요청이 처리되지 않습니다. |
| DB_DATABASE DB_USERNAME DB_PASSWORD |
okcms |
2단계에서 만든 데이터베이스 이름과 접속 계정 |
| MAIL_* | smtp |
Q&A 알림 메일을 보낼 메일 서버(SMTP) 정보 |
OpenAI API 키와 Google Analytics 정보는 .env가 아니라 설치 후 관리자 > 웹사이트 > 사이트 설정에서 입력합니다.
2. 데이터베이스 생성
MySQL에 데이터베이스와 접속 계정을 만듭니다.
sudo mysql
CREATE DATABASE okcms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'okcms'@'localhost' IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON okcms.* TO 'okcms'@'localhost';
FLUSH PRIVILEGES;
EXIT;
테이블을 만듭니다.
php artisan migrate --force
3. 파일 저장 폴더 연결과 권한 설정
관리자 화면에서 올린 이미지·첨부파일이 사이트에 보이도록 저장 폴더를 연결하고, 웹 서버가 쓸 수 있도록 권한을 줍니다.
php artisan storage:link
sudo chown -R www-data:www-data storage bootstrap/cache public/assets/media
sudo chmod -R 775 storage bootstrap/cache public/assets/media
설정을 바꾼 뒤에는 설정·화면 캐시를 새로 만들어 성능을 높입니다.
php artisan config:cache
php artisan view:cache
php artisan route:cache와php artisan optimize는 사용하지 않습니다. 페이지 주소(/{slug})를 찾는 기능이 동작하지 않게 됩니다..env를 수정한 뒤에는php artisan config:cache를 다시 실행해야 변경 내용이 반영됩니다.
4. 스케줄러 등록
AI 작업 실행, 블로그 예약 공개, 방문자 통계 동기화 같은 예약 작업은 Laravel 스케줄러에 이미 등록되어 있습니다. 서버 관리자가 cron에 아래 한 줄을 직접 등록하면 1분마다 스케줄러가 실행되어 각 작업이 정해진 시간에 처리됩니다.
sudo crontab -u www-data -e
# 맨 아래에 한 줄 추가
* * * * * cd /var/www/okcms && php artisan schedule:run >> /dev/null 2>&1
cron을 등록하지 않으면 AI 작업이 대기 상태에서 넘어가지 않고, 예약한 블로그 글이 공개되지 않으며, 대시보드 방문자 통계도 갱신되지 않습니다.
5. 관리자 계정 생성
첫 관리자 계정은 서버에서 명령어로 만듭니다.
php artisan admin:create admin@example.com 관리자
명령어로 만든 계정의 비밀번호는 1234입니다. 처음 로그인한 뒤 오른쪽 위 이름을 눌러 프로필에서 비밀번호를 바로 변경해 주세요.
두 번째 관리자부터는 관리자 > 시스템 관리 > 관리자 화면에서 추가할 수 있습니다.
6. 관리자 페이지 초기 설정
브라우저에서 https://example.com/admin으로 접속해 로그인한 뒤, 아래 항목을 차례로 설정합니다.
| 메뉴 | 설정 내용 |
|---|---|
| 웹사이트 > 사이트 설정 | 상점·회사 정보, 공통 SEO, 약관, 이메일 알림, 구글 방문자 통계, OpenAI API 키, 로고·파비콘 |
| CMS > 블록 | 사이트 하단에 보이는 푸터 블록 내용 작성 |
| CMS > 페이지 | 사이트 메뉴와 페이지 구성, 페이지별 블록 배치 |
| 웹사이트 > 검색엔진 수집 | 검색엔진이 사이트를 수집하도록 robots.txt 내용 작성 |
| 웹사이트 > 사이트맵 | 사이트맵에 넣을 페이지 주소 등록(페이지·제품·블로그·공지사항은 자동 포함) |