설치 가이드 · 7 min read · Sep 12, 2025

Debian 12에 OctoberCMS 설치하는 방법

October CMS는 Laravel 웹 프레임워크로 작성된 웹 애플리케이션입니다. MySQL/MariaDB, PostgreSQL 및 SQLite와 같은 다양한 데이터베이스를 지원합니다. Apache, Nginx, Lighthttpd 및 Microsoft IIS에서 실행할 수 있습니다.

이 가이드는 LEMP 스택(Nginx, MySQL/MariaDB 및 PHP-FPM), UFW 및 Certbot을 사용하여 Debian 12에 October CMS 설치 프로세스를 안내합니다.

전제 조건

이 가이드를 진행하기 위해 다음을 준비하십시오:

  • Debian 12 서버.
  • 관리자 권한이 있는 비루트 사용자.
  • 서버 IP 주소를 가리키는 도메인 이름.

종속성 설치

이 예제에서는 LEMP 스택(Nginx, MySQL/MariaDB 및 PHP-FPM)과 함께 Debian 서버에 October CMS를 설치합니다. 따라서 첫 번째 작업은 UFW(간단한 방화벽) 및 Certbot과 같은 추가 종속성과 함께 LAMP 스택을 설치하는 것입니다.

다음 명령을 사용하여 Debian 저장소를 업데이트하여 이 가이드를 시작하십시오.

sudo apt update

그런 다음 다음 명령을 사용하여 LAMP 스택, UFW 및 Certbot 패키지를 설치합니다.

sudo apt install nginx mariadb-server php composer php-cli php-common php-imap php-redis php-snmp php-xml php-zip php-mbstring php-curl php-mysqli php-intl php-bcmath php-gd php-fpm ufw certbot python3-certbot-nginx

Y를 입력하고 ENTER를 눌러 설치를 확인하십시오.

종속성 설치

설치가 완료되면 LEMP 스택 서비스가 실행 중이고 Debian 서버에서 활성화되어 있는지 확인하십시오.

서비스가 실행 중이면 active (running)이라는 출력이 표시됩니다. 서비스가 활성화되면 부팅 시 자동으로 실행된다는 것을 확인합니다.

다음 명령을 사용하여 Nginx 서비스를 확인하십시오.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

nginx 확인

아래 명령을 사용하여 PHP-FPM 서비스를 확인하십시오. 이 경우 Debian 저장소에서 PHP-FPM 8.2를 설치했습니다.

sudo systemctl is-enabled php8.2-fpm  
sudo systemctl status php8.2-fpm

php-fpm 확인

마지막으로 아래 명령을 사용하여 MariaDB 서버를 확인하십시오.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

mariadb 확인

UFW 설정

이 가이드에서는 UFW(간단한 방화벽)를 사용하여 Debian 서버를 보호합니다. 따라서 SSH, HTTP 및 HTTPS 프로토콜에 대한 포트를 열어야 합니다.

아래의 ufw 명령을 실행하여 UFW에서 OpenSSH 및 ‘Nginx Full‘ 프로필을 활성화합니다. OpenSSH 프로필은 기본 SSH 포트 22를 열고, ‘Nginx Full’ 프로필은 HTTP 및 HTTPS 프로토콜을 위해 포트 80 및 443을 엽니다.

sudo ufw allow OpenSSH  
sudo ufw allow 'Nginx Full'

이제 아래 명령을 실행하여 UFW를 시작하고 활성화합니다. y를 입력하고 ENTER를 눌러 진행하십시오.

sudo ufw enable

UFW가 실행 중이면 ‘방화벽이 활성화되었으며 시스템 시작 시 활성화됩니다‘라는 출력을 받아야 합니다.

ufw 설정

이제 아래 명령을 실행하여 UFW에서 활성화된 프로필 목록을 확인하십시오.

sudo ufw status

OpenSSH와 ‘Nginx Full’ 프로필이 모두 활성화되어 있는지 확인하십시오.

ufw 확인

MariaDB 서버 구성

UFW를 구성한 후, mariadb-secure-installation 유틸리티를 통해 MariaDB 서버를 설정한 다음, mariadb 클라이언트를 통해 October CMS용 새 데이터베이스와 사용자를 생성합니다.

다음 명령을 실행하여 MariaDB 서버 설치를 보호하십시오.

sudo mariadb-secure-installation

이 과정에서 MariaDB 서버에 대한 몇 가지 보안 권장 사항이 표시됩니다. 권장 사항을 적용하려면 Y를 입력하고, 거부하려면 n을 입력하십시오.

  • 기본 MariaDB 설치는 비밀번호 없이 제공되므로 비밀번호를 요청할 때 ENTER를 누르십시오.
  • 이제 Y를 입력하여 MariaDB 루트 비밀번호를 설정합니다. 그런 다음 MariaDB의 새 비밀번호를 입력하고 비밀번호를 반복합니다.
  • MariaDB 설치에서 익명 사용자를 제거하려면 Y를 입력하십시오.
  • MariaDB 루트 사용자에 대한 원격 로그인을 비활성화하라는 메시지가 표시되면 Y를 입력하십시오.
  • MariaDB의 기본 데이터베이스 테스트를 제거하려면 Y를 입력하십시오.
  • 마지막으로 Y를 입력하여 테이블 권한을 다시 로드하고 새 변경 사항을 적용합니다.

이제 MariaDB 서버를 구성했으므로 아래 명령을 입력하여 MariaDB 서버에 로그인하고 October CMS용 새 데이터베이스와 사용자를 생성하십시오. 요청 시 MariaDB 루트 비밀번호를 입력하십시오.

sudo mariadb -u root -p

다음 쿼리를 실행하여 사용자 octobercms와 비밀번호 ‘password‘로 새 데이터베이스를 생성하십시오. 비밀번호는 강력한 새 비밀번호로 변경하십시오.

CREATE USER 'octobercms'@'localhost' IDENTIFIED BY 'password';  
CREATE DATABASE octobercms;  
GRANT ALL PRIVILEGES ON octobercms.* TO 'octobercms'@'localhost';  
FLUSH PRIVILEGES;

데이터베이스 사용자 생성

다음으로, 아래 쿼리를 실행하여 사용자 octobercms의 권한을 확인하십시오.

SHOW GRANTS FOR 'octobercms'@'localhost';

사용자 octobercms가 데이터베이스 octobercms에 접근할 수 있는지 확인하십시오.

사용자 확인

이제 quit를 입력하여 MariaDB 서버에서 로그아웃하십시오.

OctoberCMS 소스 코드 설치

October CMS는 zip 또는 Composer를 통해 여러 방법으로 설치할 수 있습니다. 이 예제에서는 Composer를 통해 October CMS를 설치합니다.

/var/www/ 디렉토리로 이동하여 아래 wget 명령을 사용하여 October CMS 소스 코드를 다운로드합니다. 다운로드가 완료되면 v3.5.0.zip 파일이 표시됩니다.

cd /var/www/  
wget https://github.com/octobercms/october/archive/refs/tags/v3.5.0.zip

v3.5.0.zip 파일을 unzip을 사용하여 octobercms 디렉토리에 추출합니다. 즉, October CMS 웹 루트 디렉토리는 /var/www/octobercms가 됩니다.

unzip v3.5.0.zip  
sudo mv october-* octobercms

다음으로, 아래 명령을 실행하여 /var/www/octobercms의 소유권을 사용자 www-data 및 그룹 www-data로 변경합니다. 또한 디렉토리의 권한을 0755로, 파일의 권한을 0644로 설정합니다.

sudo chown -R www-data:www-data octobercms  
find /var/www/octobercms -type d -exec chmod 755 {} \;  
find /var/www/octobercms -type f -exec chmod 644 {} \;

이제 아래 composer 명령을 실행하여 October CMS의 PHP 종속성을 설치합니다.

sudo -u www-data composer install

PHP 종속성 설치

다음 명령을 사용하여 October CMS 설치를 시작합니다.

sudo -u www-data php artisan october:install

이 과정에서 다음과 같은 질문이 표시됩니다:

  • 기본 언어를 en 또는 영어로 선택하십시오.
  • October CMS 설치의 도메인 이름을 입력하십시오. 예: http://howtoforge.local/
  • October CMS의 백엔드 URL 또는 관리자 경로를 입력하십시오. 이 경우 octoberadmin을 사용합니다.
  • 데이터베이스 엔진을 MySQL로 선택하려면 숫자 1을 입력하십시오.
  • 데이터베이스 세부정보를 입력하십시오.
  • 데모 데이터 및 테마를 설치하려면 yes를 입력하십시오.
  • 계속하려면 October CMS 무료 라이센스를 입력하십시오.

아래는 October CMS 설치의 스크린샷입니다.

October CMS 설치

October CMS의 사이트 구성입니다.

사이트 설치

October CMS 설치 중 출력입니다.

라이센스 키 및 사이트 설치

October CMS 설치가 완료되면 다음 출력을 보게 됩니다.

설치 완료

마지막으로 아래 명령을 실행하여 데이터베이스를 마이그레이션합니다.

sudo -u www-data php artisan october:migrate

데이터베이스 마이그레이션

Nginx 서버 블록 구성

October CMS를 다운로드하고 웹 루트 디렉토리를 구성한 후, October CMS를 실행하는 데 사용할 새로운 Nginx 서버 블록 구성을 생성합니다. 도메인 이름이 준비되어 있는지 확인하십시오.

아래 nano 편집기 명령을 실행하여 새 파일 /etc/nginx/sites-available/octobercms.conf를 생성합니다.

sudo nano /etc/nginx/sites-available/octobercms.conf

다음 구성을 삽입하고 도메인 이름 howtoforge.local을 귀하의 도메인으로 변경하십시오.

server {  
    listen 80;  
  
    server_name howtoforge.local;  
  
    index index.php index.html;  
    root /var/www/octobercms;  
  
    location / {  
        # October CMS가 기본적으로 모든 것을 처리하도록 합니다.  
        # October CMS 라우터에 의해 해결되지 않는 경로는 October CMS의 404 페이지를 반환합니다.  
        # 아래의 허용 목록과 일치하지 않는 모든 것은 여기에 포함됩니다.  
        rewrite ^/.*$ /index.php last;  
    }  
  
    location ~ \.php$ {  
        include snippets/fastcgi-php.conf;  
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;  
        fastcgi_read_timeout 120s;  
    }  
  
  
    # 허용 목록  
    location ~ ^/favicon\.ico { try_files $uri /index.php; }  
    location ~ ^/sitemap\.xml { try_files $uri /index.php; }  
    location ~ ^/robots\.txt { try_files $uri /index.php; }  
    location ~ ^/humans\.txt { try_files $uri /index.php; }  
  
    # 잘 알려진 것을 제외한 모든 .dotfiles 차단  
    location ~ /\.(?!well-known).* { deny all; }  
  
    ## 정적 파일이 존재하지 않을 경우 nginx가 404를 반환하도록 허용  
    location ~ ^/storage/app/uploads/public { try_files $uri 404; }  
    location ~ ^/storage/app/media { try_files $uri 404; }  
    location ~ ^/storage/app/resources { try_files $uri 404; }  
    location ~ ^/storage/temp/public { try_files $uri 404; }  
  
    location ~ ^/modules/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/behaviors/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/behaviors/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/widgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/widgets/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/formwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/formwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/modules/.*/reportwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/modules/.*/reportwidgets/.*/resources { try_files $uri 404; }  
  
    location ~ ^/plugins/.*/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/behaviors/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/behaviors/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/reportwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/reportwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/formwidgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/formwidgets/.*/resources { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/widgets/.*/assets { try_files $uri 404; }  
    location ~ ^/plugins/.*/.*/widgets/.*/resources { try_files $uri 404; }  
  
    location ~ ^/themes/.*/assets { try_files $uri 404; }  
    location ~ ^/themes/.*/resources { try_files $uri 404; }  
  
}

작업이 완료되면 파일을 저장하고 닫습니다.

다음으로 아래 명령을 실행하여 서버 블록 파일 octobercms.conf를 활성화하고 Nginx 구문을 확인합니다.

sudo ln -s /etc/nginx/sites-available/octobercms.conf /etc/nginx/sites-enabled/  
sudo nginx -t

구문이 올바르면 ‘구문이 올바르며 - 테스트가 성공적입니다’와 같은 출력이 표시됩니다.

nginx 설정

마지막으로 아래 명령을 사용하여 Nginx 서비스를 재시작하여 변경 사항을 적용합니다.

sudo systemctl restart nginx

SSL/TLS 인증서로 OctoberCMS 보호

이 시점에서 October CMS가 실행 중이며 접근 가능합니다. 그러나 설치를 안전하게 유지하기 위해 letsencrypt에서 SSL/TLS 인증서를 생성하여 HTTPS를 구현합니다.

아래 명령을 실행하여 October CMS 설치를 위한 SSL/TLS 인증서를 생성하십시오. 이메일 주소와 도메인 이름을 귀하의 정보로 변경하십시오.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d howtoforge.local

프로세스가 완료되면 도메인 이름이 자동으로 HTTPS로 구성됩니다. SSL/TLS 인증서는 /etc/letsencrypt/live/yourdomain.com 디렉토리에서 사용할 수 있습니다.

OctoberCMS 접근

좋아하는 웹 브라우저를 사용하여 October CMS 설치의 도메인 이름, 예: https://howtoforge.local/를 방문하십시오.

설치가 성공하면 다음과 같은 OctoberCMS의 기본 홈페이지가 표시됩니다.

백엔드 영역‘ 버튼을 클릭하여 October CMS 관리자 페이지에 접근하십시오.

October CMS 홈페이지

새 관리자 사용자, 이름, 이메일 주소 및 비밀번호의 세부정보를 입력하십시오. 계정 생성을 클릭하여 확인하십시오.

관리자 설정

완료되면 다음과 같은 October CMS 관리자 대시보드를 보게 됩니다.

octobercms 대시보드

결론

축하합니다! 이제 Debian 12 서버에 October CMS 설치를 완료했습니다. LEMP 스택(Nginx, MariaDB 및 PHP-FPM)으로 October CMS를 설치했습니다. 또한 UFW(간단한 방화벽) 및 Letsencrypt를 통해 설치를 보호했습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.