テクノロジー

MixhostでLaravelを簡単にデプロイする方法

MixhostでLaravelを簡単にデプロイしてみた

Laravelで作ったWebサイトを公開してみたので備忘録として手順をまとめてみました。

これからMixhostでLaravelを導入してみたい人に参考になれば幸いです。

全体の手順をまとめると・・・

「PHPをアップグレード」→「ドメイン設定」→「SSH接続でLaravelプロジェクトを配置」→「データベースをインポート」→「.envファイルを編集」→「ドキュメントルートを設定」

こんな感じになるかと思います。

PHPをアップグレードする

WebサーバーのPHPを最新のLaravelのバージョンに合わせてバージョンアップします。

今回はLaravel11に合わせてPHPのバージョンを8.2にしました。

詳しい方法はMixhostが公式で紹介してくれていますで参考にしてみてください。

PHPのバージョン変更(MixHost公式サイト)

 Composerを使うならPHP(CLI)のアップグレードが必要

もしComposerで依存関係をインストールしたり、マイグレートする場合はサーバーのPHPのバージョンがLaravelが求めるバージョンと合わなくてエラーが出てしまいます。

これはMixhostで使用できるPHP(CLI)のデフォルトのバージョンが7.4のため最新のLaravelが要求するPHPのバージョンと合わないためです。(2025年1月現在)

・PHP-CLI
Webサーバーを介さずに、ターミナルやコマンドプロンプトで実行するPHPでComposerを使う時に必要です。

PHP(CLI)のバージョン変更に関しては当方が記事でまとめていますので参考になればと思います。

【Laravel】MixhostでPHP-CLIのバージョンを変更してみた
【Laravel】MixhostでPHP-CLIのバージョンを変更してみた先日、MixhostでLaravelを導入する際にComposerでエラーが出たのでいろいろ調べてみたところ、Composerが求めるPHPのバージョンとMixhostのPHPのバージョンが違うことが判明したので、解決方法の手順を備忘録としてまとめたいと思います。...

PHP(CLI)のバージョンの変更するのが面倒でもサーバーにインストールされているPHPのバージョンを指定すればComposerを実行する事ができます。

ea-php82 /opt/cpanel/composer/bin/composer install

PHPの場所を指定して依存関係をインストール。

/opt/cpanel/ea-php82/root/usr/bin/php artisan migrate

PHPの場所をフルパスで指定してマイグレーション。

実際にLaravelをデプロイしてみる

PHPのバージョンアップが無事終わったところで実際にデプロイしてみます。

 ドメイン設定

まず取得したドメインをネームサーバーやMixhostで設定、URLの正規化を行います。

詳しい手順についてはこちらの記事にまとめましたので参考にしてみてください。

Mixhostで独自ドメイン設定してURLを正規化してみた
Mixhostで独自ドメイン設定してURLを正規化してみた以前にWordPress導入やLaravelで作ったサイトをデプロイするにあたってお名前.comで取得した独自ドメインをMixhostで設定したので、備忘録としてメモしておきたいと思います。全体の流れとしては「ネームサーバーの設定」→ 「レンタルサーバーでドメイン設定 (自動SSL化)」→ 「URLの正規化 (リダイレクト設定)」になります。...

 SFTPサーバーに接続してLaravelプロジェクトを配置

FTPソフトからMixhostのファイルシステムにアクセスします。

今回はCyberduckを使ってSSHで接続してみます。

SSHによる接続方法はこの記事にまとめていますので宜しかったら参考にしてください。

MixhostにCyberduckからSSHで接続してみる
MixhostにCyberduckからSSHで接続してみた先日MixhostにSSH接続する機会があったので備忘録として残しておきたいと思います。ちなみに使用するFTPソフトは「Cyberduck」です。 Cyberduckのダウンロードページはこちら。https://cyberduck.io/download/ 全体の流れとしては「SSHキーを作成」→「FTPソフトからSSH接続」という感じです。...

SFTPサーバーに接続してデプロイ1
FTPソフトでサーバーに接続後、ドメイン直下にローカルで開発していたLaravelプロジェクトをドラッグ&ドロップでまるごとコピーします。

これで.envファイルやマイグレーション履歴のファイルも全てコピー出来るようになります。

ローカルで開発していたファイルを全てコピーするので転送サイズは少々大きくなりますが、余計な作業が不要で効率的なのでこの方法にしました。

 データベースをインポート


次にローカルの開発で使用していたphpMyAdminからデータベースのエクスポートを行います。

まずローカルのphpMyAdminのトップページにアクセス。(cPanelのphpMyAdminではありません)

対象のDBをクリックして「エクスポート」ボタンをクリックします。

データベースをインポート2
特に設定の必要なくそのまま「エクスポート」ボタンをクリックして.sqlファイルをダウンロード。

データベースをインポート3
次にデータベースを作成します。

cPanelの「MySQLデータベースウィザード」にアクセスします。

データベース名を入力して「次のステップ」をクリック。

データベースをインポート4
ステップ2。

「ユーザーネーム」「パスワード」を入力して「ユーザー作成」ボタンをクリック。

データベースをインポート5
ステップ3。

全ての権限にチェックを入れて「次のステップ」ボタンをクリックして完了です。

データベースが作成されたか確認します。

データベースをインポート6
次にエクスポートしたSQLファイルをインポートするのでcPanelの「phpMyAdmin」にアクセス。

インポートするSQLファイルを選択して「インポート」ボタンをクリック。

データベースにローカル開発時のデータが反映されたか確認します。

 .envファイルを編集

envファイルを編集
cPanelの「ファイルマネージャー」にアクセス。

.envファイルの設定を編集します。

APP_KEY、APP_NAMEなどはそのままにして、APP_URLを取得したドメインに合わせて変更。

DB関連も先ほど設定したデータベース名、ユーザー名、パスワードに変更します。

 ドキュメントルートを設定

ドキュメントルートを設定cPanelの「ドメイン」にアクセス。

対象ドメインの「管理ボタン」をクリックして画像のようにドキュメントルートを設定できるページに移動します。

新しいドキュメントルートの入力欄を「laravel-site.com/my-laravel/public」にして「更新」ボタンをクリックして完了。

ドキュメントルートを設定2
実際にブラウザで「https://laravel-site.com」にアクセスしてWebページが動作することを確認できました。

VPSを使うというのも一つの選択ではありますが、新たにサーバーをレンタルするのはコストがかかりますし、現在WordPressを運用しているMixhostでLaravelを導入したかったので良かったと思います。