インストールガイド · 3 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(Uncomplicated Firewall)や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(Uncomplicated Firewall)を使用して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が実行中になると、出力にFirewall is active and enabled on system startupが表示されます。

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のrootパスワードを設定します。その後、MariaDBの新しいパスワードを入力し、パスワードを繰り返します。
  • MariaDBインストールから匿名ユーザーを削除するにはYを入力します。
  • MariaDBのrootユーザーのリモートログインを無効にするように求められたら再度Yを入力します。
  • MariaDBからデフォルトのデータベースtestを削除するにはYを入力します。
  • 最後に、テーブルの権限を再読み込みして新しい変更を適用するにはYを入力します。

MariaDBサーバーの設定が完了したら、以下のコマンドを入力してMariaDBサーバーにログインし、October CMS用の新しいデータベースとユーザーを作成します。求められたらMariaDBのrootパスワードを入力します。

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またはEnglishとして選択します。
  • 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

構文が正しければ、‘syntax is ok - test is successful’のような出力が表示されます。

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のデフォルトのホームページが表示されます。

Backend AreaボタンをクリックしてOctober CMSの管理ページにアクセスします。

October CMSのホームページ

新しい管理ユーザーの詳細、名前、メールアドレス、およびパスワードを入力します。Create Accountをクリックして確認します。

管理者の設定

完了すると、以下のようなOctober CMS管理ダッシュボードが表示されます。

octobercmsダッシュボード

結論

おめでとうございます!Debian 12サーバーにOctober CMSのインストールが完了しました。LEMPスタック(Nginx、MariaDB、PHP-FPM)を使用してOctober CMSをインストールしました。また、UFW(Uncomplicated Firewall)とLetsencryptを介してSSL/TLSでインストールを保護しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。