自分だけのクイズを作成しよう - Quipha
スポンサーリンク

【さくらのレンタルサーバー】Laravelアプリを公開

Laravel

当サイトではアフィリエイト広告を利用しています。

スポンサーリンク

はじめに

今回は、さくらのレンタルサーバーでLaravelの環境を構築し、Webアプリを公開する手順をまとめました。

さくらのレンタルサーバーですが、SSH接続しコマンドの実行もでき、Laravelが稼働する環境を作成することができます。
月額費用も固定で、コスパもよく、Webアプリケーションを公開する環境としてはオススメです。

新規申込方法については以下の記事を参考にしてください。

また、Laravelの環境を構築するにあたって、SSH接続する必要があります。
以下の記事を参考に、設定を行ってください。

他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。

今回申し込むプラン
  • スタンダード

2023/09/23 Laravel10を構築する手順を試しました。

スポンサーリンク

【紹介】個人開発

私の個人開発ですがQuiphaというサービスを開発しました。(Laravel, Vue3など)
良かったら、会員登録して動作を試してみて下さい。

また、Laravel 9 実践入門という書籍を出版しました。
Kindle Unlimitedを契約している方であれば、読み放題で無料でご覧いただくことができます

是非多くの方に読んでいただき、Laravelの開発に少しでもお役に立てたら幸いです。

環境

  • さくらのレンタルサーバー
  • Laravel Framework 9 ~ 10
  • PHP 8.0 ~ 8.1
  • Composer
  • nodebrew
  • node
  • npm

さくらのレンタルサーバーについて

さくらのレンタルサーバーは、個人から企業まで幅広い層の顧客に対応したサーバーを提供しています。
その安定性やサポート体制、セキュリティ面での信頼性が高く評価されており、広く利用されています。

2022年2月16日にリリースされた新サーバーでは、SSD化をはじめとした機材の刷新によって、従来サーバーと比較して5倍の高速化を実現したとのことです。

さくらのレンタルサーバへの申し込みは以下からできます。

さくらのレンタルサーバーへの新規申し込みは、無料期間がありますので満足いくかどうか事前に確認できます。
まずは申し込んで試してみましょう。

一番安いプランで、月額128円から利用できます。

さくらのレンタルサーバ | 高速・安定WordPressなら!無料2週間お試し
高速、安定サーバーならさくらのレンタルサーバ!PHP7モジュールモードでWordPress高速化。無料SSL、Webフォント、バックアップ機能などWebサイト制作に便利な機能が充実。ドメイン取得、WordPressインストールも簡単。無料電...

SSHの接続もでき、無料のSSLや独自ドメインの運用も可能です。
例えば、PHPのLaravelで開発したWebアプリケーションを公開することもできます。

バージョン確認

さくらのレンタルサーバーにSSHで接続します。
まずはデフォルトでインストールされている各種バージョンを確認しましょう。

PHP

PHPが使えるようになっており、バージョンは以下でした。

% php -v
PHP 8.0.29 (cli) (built: Jun 14 2023 09:42:13) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.29, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.29, Copyright (c), by Zend Technologies

さくらのレンタルサーバーでは、現時点で標準でPHP8.0が設定されていました。

今回は、Laravel10を導入しますが、PHP8.1以上である必要があります。

LaravelのバージョンによってPHPの必要バージョンを確認してください。

さくらのレンタルサーバーのコントロールパネルにログインし、スクリプト設定→言語バージョン設定を開きます。

PHP8.1を選択しバージョンを変更します。

PHP8.0は2023/11までサポート予定とのことでした。

モードはモジュールを選択しました。

再度、コマンドからPHPのバージョンを確認します。
8.1に変更されているのが分かります。

% php -v
PHP 8.1.20 (cli) (built: Jun 14 2023 09:43:08) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.20, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.20, Copyright (c), by Zend Technologies

ComposerとNPMはインストールされていませんでした。

Laravel環境構築

それではLaravel環境を構築していきます。

Composerインストール

公式の手順通り、以下のコマンドを実行します。
バージョンによってハッシュ値が変わる場合がありますので、公式サイトのコマンドをご確認ください。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Composer
A Dependency Manager for PHP

binフォルダに移動しました。

% mkdir bin
% mv composer.phar bin/composer

パスが通っているため、以下のコマンドでComposerが使えます。

% composer -V
Composer version 2.6.3 2023-09-15 09:38:21

composerの実行が以下のようにできない場合があります。

% composer -V
composer: Command not found.

以下のコマンドで再構築を行うことにより、composerコマンドが実行できることを確認してください。

% rehash

さくらのレンタルサーバーの場合、binフォルダはデフォルトでPATHに追加されています。

NPMのインストール

さくらのレンタルサーバーにNPMをインストールする手順は、以下の記事を参考にしてください。

必ずしも本番環境のサーバーにNPMのインストールは必要ないと思います。
開発環境でNode.jsのビルドを行い、作成されたJavaScriptファイルをアップロードするのも手です。

スポンサーリンク

Laravelプロジェクトの作成

プロジェクト作成

さくらのレンタルサーバー上で新規のLaravelプロジェクトを作成してみます。
ホームの直下に適当なディレクトリを作成し、新規でLaravelのサンプルプロジェクトを作成します。

$ mkdir laravel-project
$ cd laravel-project/
$ composer create-project laravel/laravel sample-project --prefer-dist

「sample-project」部分はプロジェクト名ですので、任意で指定してください。

Composerで管理しているパッケージもインストールされますので、composer installは不要です。

Laravelのバージョンを確認しましょう。

$ cd sample-project/
$ php artisan -V
Laravel Framework 10.24.0

Laravel 10がインストールされました。

設定ファイルの変更

プロジェクト直下の.envファイルを適宜修正します。(一部抜粋)

..
APP_ENV=production
APP_DEBUG=false
APP_URL=https://初期ドメイン

本番の公開の場合、Laravelの設定ファイルを必ず本番向けへ変更します。
(デバッグ画面など出さないように注意)

公開ディレクトリの設定

Laravelプロジェクト直下のpublicフォルダを、公開フォルダに配置します。
シンボリックリンクを貼りますが、以下は例です。

ln -s $HOME/laravel-project/sample-project/public $HOME/www/laravel

各自の環境に合わせて変更してください。

ブラウザから以下のURLにアクセスしてみましょう。

https://初期ドメイン/laravel/

Laravelの起動画面が表示されました。

Nodeパッケージのインストールとビルド

プロジェクト直下で以下のコマンドを実行し、NPMパッケージをインストールします。

$ npm install

以下のコマンドでトランスパイルを行います。(JS/CSSをビルド)
最新のLaravelはViteに置き換わっておりますので、本番環境とし以下を指定しました。

$ npm run build

以下のようにkilledされ、実行されませんでした。

$ npm run build

> build
> vite build

Killed

優先度を下げて実行してみました。

$ nice -n 20 npm run build


> build
> vite build

vite v4.4.9 building for production...
✓ 46 modules transformed.
public/build/manifest.json            0.25 kB │ gzip:  0.13 kB
public/build/assets/app-4ed993c7.js   0.00 kB │ gzip:  0.02 kB
public/build/assets/app-dbe23e4c.js  29.10 kB │ gzip: 11.64 kB
✓ built in 304ms

プロジェクト直下のpublicフォルダにjs/cssが出力されます。

./public/build/assets/app.xxx.css
./public/build/assets/app.xxx.js
./public/build/manifest.json

Viteについては以下の記事にもまとめました。

NPMのビルドについては、サーバーに環境を構築せずとも開発環境でビルドを行い、生成されたファイルをアップロードする手順でもよいと思います。

データベースの設定

データベースへ接続してみましょう。
さくらのサーバーコントロールパネルから、データベースを選択します。

新規追加をクリックします。

データベース名を指定して、作成します。

Laravelのプロジェクトの直下にある、.envファイルを以下のように編集します。

DB_CONNECTION=mysql
DB_HOST=xxx.db.sakura.ne.jp
DB_PORT=3306
DB_DATABASE=作成したデータベース名
DB_USERNAME=設定したユーザ名
DB_PASSWORD=設定したパスワード

ホストはデータベースサーバーを指定します。

以下のコマンドを実行します。
.envのAPP_ENVを「production」にしていたため、以下の確認メッセージが表示されますが、「yes」を入力します。

$ php artisan migrate
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > 

開発環境とは違い、本番環境では誤操作防止のために確認メッセージが表示されます。

以下のようなメッセージが表示されれば、正常に実行完了です。


   INFO  Preparing database.

  Creating migration table ......................................... 15ms DONE

   INFO  Running migrations.

  2014_10_12_000000_create_users_table ............................. 47ms DONE
  2014_10_12_100000_create_password_resets_table ................... 20ms DONE
  2019_08_19_000000_create_failed_jobs_table ....................... 18ms DONE
  2019_12_14_000001_create_personal_access_tokens_table ............ 31ms DONE

phpMyAdminを開き、テーブルが作成されていることを確認しましょう。

参考

ConoHa WINGの例も参考にしてください。

エックスサーバーの例も参考にしてください。

さいごに

Laravelで作成したWebアプリケーションを、さくらのレンタルサーバーで構築し公開する手順をまとめました。
最初の構築は少し手間ですが、レンタルサーバーでも構築することができ、運用も楽です。

また、GitHubからデプロイすることも可能です。

是非試してみてください。

さくらのレンタルサーバへの申し込みは以下からできます。

さくらのレンタルサーバーへの新規申し込みは、無料期間がありますので満足いくかどうか事前に確認できます。
まずは申し込んで試してみましょう。

他にも私のブログで、Laravelについて解説している記事がありますのでご覧ください。

コメント