Laravel(ララベル)で掲示板を作成してみました。

LaravelはPHPのフレームワークです。2011年にリリースされた比較的新しいフレームワークですが、PHPにおけるフレームワークの中では世界的に普及しているものです。

フレームワークとは、システムやアプリ開発を行う際に必要となる機能や、基本的な骨組みをまとめたものです。そのためフレームワークを活用することで、必要最低限のプログラムを書くだけでシステムやアプリを作ることができるようになるのです。しかも開発できるシステムやアプリの幅が広いため、開発業務にLaravelが採用されるケースも少なくありません。

ということで今回はLaravel(ララベル)に挑戦することにします。

Laravelを使えるようにする

エックスサーバーではそのままではLaravelが使えません。インストール作業が必要ですが、そのまえにすることがあります。

XSERVERのサーバーにSSH接続
CLI版のPHPバージョンの確認
Composerのインストール
Laravelのインストール

CLI版のPHPバージョンの確認

まずXSERVERのサーバーにSSH接続する方法ですが、SSH設定 | レンタルサーバーならエックスサーバーを参照してください。

CLI版のPHPバージョンですが、

SSH接続した状態で、以下のコマンドを実行するとCLI版のPHPバージョンを確認することができます。

ここからわかることは、XSERVERのコマンドラインから利用できるPHPのバージョンは『5.4』です。古いバージョンではLaravelのインストールができないのでCLI版のPHPのバージョンを変更します。現在一番新しいものは8.0なので8.0にしてしまいましょう。

シンボリックリンクを作成する

以下のコマンドを1行ずつ入力して実行します。実際に入力するのは先頭の「$ 」より右側の部分です。

パスを通すために.bash_profileを編集する

これで $HOME/bin/php を参照した場合に /usr/bin/php8.0 が実行されます。ただ単に phpと入力したときに/usr/bin/php8.0 が実行されるようにしたいので、パスを通します。

そのためには.bash_profileを編集します。

最後のほうに

と書かれているはずですが、この部分を以下に変更します。

.bash_profileの編集が終わったらこれを反映させるために以下のコマンドを実行します。

そしてもう一度phpのバージョンを確認すると今度は8.0になっているはずです。

Composerのインストール

次にComposerをインストールします。

Composer公式サイトには以下のコマンドでインストールできると書いてあります。

上記のコマンドを実行するとインストールが完了します。ホームディレクトリに compoer.phar と .configディレクトリが作成されているはずです。

次にcomposer.pharを適切なディレクトリに移動させます。

そしてパスをとおします。.bash_profileを編集します。

PATH=$HOME/bin:$PATHとなっている部分を PATH=$HOME/.config/composer/vendor/bin:$HOME/bin:$PATH に書き換えます。
そして最後に以下のコマンドを実行します。

これでComposerのインストールは完了ですが、以下のコマンドでComposerのバージョンの確認ができます。バージョンが表示されたらインストール作業はうまくできていることになります。

Laravelのインストーラーを取得する

エックスサーバーにLaravelをインストールするために、Laravelのインストーラーを取得します。そのためには以下のコマンドを実行します。

ここまできたら準備はすべて完了しました。あとはLaravelのプロジェクトを作成してコーディングしていきます。

Laravelのプロジェクトを作成する

Laravelのプロジェクトを作成するには適当なディレクトリを作成してそこに移動したあと以下を実行します。

鳩でもわかるC#管理人の場合はlets-csharp.comディレクトリ内にlaravel-testディレクトリを作成し、そこにfirstという名前でLaravelのプロジェクトを作成しました。

プロジェクトを作成してもこれを見ることができないと意味がありません。そこでドメインのドキュメントルートとLaravelの公開ディレクトリのひもつけの作業をします。

具体的にはドメインのドキュメントルートまたは公開したいディレクトリからLaravelの公開ディレクトリに対してシンボリックリンクを作成します。

もしもドメイン全体をLaravelにしてしまうのであれば以下のようになります。lets-csharp.comとかlets-csharp.com/laravel-test/firstは各自で読み替えてください。

ただこれではこれまでに作成したブログが表示されなくなってしまいます。これでは困るのでディレクトリを作成して https://lets-csharp.com/samples/2204/laravel-first/ で公開できるようにしました。

ここで気をつけないといけないのは実際に/lets-csharp.com/samples/2204/のなかにlaravel-firstというディレクトリが存在してはいけないということです。FFFTPからだとディレクトリが存在することはわからないので気をつける必要があります。

サーバーを起動する

サーバーを起動するには以下のコマンドを実行すればOKです。

ブラウザでアクセスしてみましょう。するとこのようなページが表示されるはずです。

今後の準備

これから掲示板を作成していきますが、そのときに必要なライブラリがあるので最初にインストールしておきます。

Laravelでカラムを変更するには、doctrine/dbalというライブラリが必要です。
Laravelでフォームを使用するには、laravelcollective/htmlというライブラリが必要です。
ユーザー管理機能を追加するにはlaravel/uilというライブラリが必要です。
またlaravel/uilを使うときはnpmが必要です(後述)。

npmを使えるようにするにはNode.jsをインストールします。

そのあと.bashrcを編集します。以下を追加してください。

編集が終わったら以下のコマンドを実行します。

これだけではNode.jsそのものがインストールされたわけではないのでNode.jsをインストールします。

使用できるバージョンの一覧が表示されるので使いたいバージョンのものを選択する

これでnpmも使えるようになります。