설치 가이드

매뉴얼 · 시작하기 · 설치 가이드

설치 순서

서버 프로그램 설치와 소스 업로드(composer install 포함)를 마친 상태를 기준으로 설명합니다. 아래 예시의 /var/www/okcms(설치 경로), example.com(도메인), okcms(DB 이름)는 실제 환경에 맞게 바꿔 입력해 주세요.

  1. 환경 설정 파일(.env) 작성
  2. 데이터베이스 생성
  3. 파일 저장 폴더 연결과 권한 설정
  4. 스케줄러 등록
  5. 관리자 계정 생성
  6. 관리자 페이지 초기 설정

시스템 요구 사항은 시스템 환경을 참고해 주세요.

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 내용 작성
웹사이트 > 사이트맵 사이트맵에 넣을 페이지 주소 등록(페이지·제품·블로그·공지사항은 자동 포함)
사용자 데모 바로가기 CMS 매뉴얼 바로가기