Laravel(ララベル)で掲示板を作成してみました。
LaravelはPHPのフレームワークです。2011年にリリースされた比較的新しいフレームワークですが、PHPにおけるフレームワークの中では世界的に普及しているものです。
フレームワークとは、システムやアプリ開発を行う際に必要となる機能や、基本的な骨組みをまとめたものです。そのためフレームワークを活用することで、必要最低限のプログラムを書くだけでシステムやアプリを作ることができるようになるのです。しかも開発できるシステムやアプリの幅が広いため、開発業務にLaravelが採用されるケースも少なくありません。
ということで今回はLaravel(ララベル)に挑戦することにします。
Contents
Laravelを使えるようにする
エックスサーバーではそのままではLaravelが使えません。インストール作業が必要ですが、そのまえにすることがあります。
XSERVERのサーバーにSSH接続
CLI版のPHPバージョンの確認
Composerのインストール
Laravelのインストール
CLI版のPHPバージョンの確認
まずXSERVERのサーバーにSSH接続する方法ですが、SSH設定 | レンタルサーバーならエックスサーバーを参照してください。
CLI版のPHPバージョンですが、
SSH接続した状態で、以下のコマンドを実行するとCLI版のPHPバージョンを確認することができます。
1 |
php -v |
ここからわかることは、XSERVERのコマンドラインから利用できるPHPのバージョンは『5.4』です。古いバージョンではLaravelのインストールができないのでCLI版のPHPのバージョンを変更します。現在一番新しいものは8.0なので8.0にしてしまいましょう。
シンボリックリンクを作成する
以下のコマンドを1行ずつ入力して実行します。実際に入力するのは先頭の「$ 」より右側の部分です。
1 2 3 4 |
$ cd ~ $ mkdir bin $ ln -s /usr/bin/php8.0 $HOME/bin/php $ ls -la $HOME/bin/ |
パスを通すために.bash_profileを編集する
これで $HOME/bin/php を参照した場合に /usr/bin/php8.0 が実行されます。ただ単に phpと入力したときに/usr/bin/php8.0 が実行されるようにしたいので、パスを通します。
そのためには.bash_profileを編集します。
最後のほうに
1 2 |
PATH=$PATH:$HOME/bin export PATH |
と書かれているはずですが、この部分を以下に変更します。
1 2 |
PATH=$HOME/bin:$PATH export PATH |
.bash_profileの編集が終わったらこれを反映させるために以下のコマンドを実行します。
1 |
$ source .bash_profile |
そしてもう一度phpのバージョンを確認すると今度は8.0になっているはずです。
1 |
$ php -v |
Composerのインストール
次にComposerをインストールします。
Composer公式サイトには以下のコマンドでインストールできると書いてあります。
1 2 3 4 5 |
$ cd ~ $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" $ php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" $ php composer-setup.php $ php -r "unlink('composer-setup.php');" |
上記のコマンドを実行するとインストールが完了します。ホームディレクトリに compoer.phar と .configディレクトリが作成されているはずです。
次にcomposer.pharを適切なディレクトリに移動させます。
1 2 3 |
$ cd ~ mkdir -p .config/composer/vendor/bin/ mv composer.phar .config/composer/vendor/bin/composer |
そしてパスをとおします。.bash_profileを編集します。
PATH=$HOME/bin:$PATHとなっている部分を PATH=$HOME/.config/composer/vendor/bin:$HOME/bin:$PATH に書き換えます。
そして最後に以下のコマンドを実行します。
1 |
$ source .bash_profile |
これでComposerのインストールは完了ですが、以下のコマンドでComposerのバージョンの確認ができます。バージョンが表示されたらインストール作業はうまくできていることになります。
1 |
$ composer --version |
Laravelのインストーラーを取得する
エックスサーバーにLaravelをインストールするために、Laravelのインストーラーを取得します。そのためには以下のコマンドを実行します。
1 |
$ composer global require laravel/installer |
ここまできたら準備はすべて完了しました。あとはLaravelのプロジェクトを作成してコーディングしていきます。
Laravelのプロジェクトを作成する
Laravelのプロジェクトを作成するには適当なディレクトリを作成してそこに移動したあと以下を実行します。
鳩でもわかるC#管理人の場合はlets-csharp.comディレクトリ内にlaravel-testディレクトリを作成し、そこにfirstという名前でLaravelのプロジェクトを作成しました。
1 2 |
$ cd ~/lets-csharp.com/laravel-test laravel new first |
プロジェクトを作成してもこれを見ることができないと意味がありません。そこでドメインのドキュメントルートとLaravelの公開ディレクトリのひもつけの作業をします。
具体的にはドメインのドキュメントルートまたは公開したいディレクトリからLaravelの公開ディレクトリに対してシンボリックリンクを作成します。
もしもドメイン全体をLaravelにしてしまうのであれば以下のようになります。lets-csharp.comとかlets-csharp.com/laravel-test/firstは各自で読み替えてください。
1 2 3 4 5 |
# 既存のpublic_htmlディレクトリがあっては困るのでリネーム(#ではじまる行はコマンドの説明なので入力不要) $ mv ~/lets-csharp.com/public_html ~/lets-csharp.com/_public_html # シンボリックリンクを作成する $ ln -s ~/lets-csharp.com/laravel-test/first/public ~/lets-csharp.com/public_html |
ただこれではこれまでに作成したブログが表示されなくなってしまいます。これでは困るのでディレクトリを作成して https://lets-csharp.com/samples/2204/laravel-first/ で公開できるようにしました。
1 2 |
# シンボリックリンクを作成する $ ln -s ~/lets-csharp.com/laravel-test/first/public ~/lets-csharp.com/public_html/samples/2204/laravel-first |
ここで気をつけないといけないのは実際に/lets-csharp.com/samples/2204/のなかにlaravel-firstというディレクトリが存在してはいけないということです。FFFTPからだとディレクトリが存在することはわからないので気をつける必要があります。
サーバーを起動する
サーバーを起動するには以下のコマンドを実行すればOKです。
1 2 3 |
# プロジェクトがあるディレクトリに移動する $ cd ~/lets-csharp.com/laravel-test/first $ php artisan serve |
ブラウザでアクセスしてみましょう。するとこのようなページが表示されるはずです。
今後の準備
これから掲示板を作成していきますが、そのときに必要なライブラリがあるので最初にインストールしておきます。
Laravelでカラムを変更するには、doctrine/dbalというライブラリが必要です。
Laravelでフォームを使用するには、laravelcollective/htmlというライブラリが必要です。
ユーザー管理機能を追加するにはlaravel/uilというライブラリが必要です。
またlaravel/uilを使うときはnpmが必要です(後述)。
1 2 3 4 5 6 7 |
$ cd プロジェクトを作成したディレクトリに移動 $ composer require doctrine/dbal $ composer require laravelcollective/html $ composer require laravel/ui $ php artisan ui vue --auth $ npm install $ npm run dev |
npmを使えるようにするにはNode.jsをインストールします。
1 2 |
$ wget git.io/nodebrew $ perl nodebrew setup |
そのあと.bashrcを編集します。以下を追加してください。
1 |
export PATH=$HOME/.nodebrew/current/bin:$PATH |
編集が終わったら以下のコマンドを実行します。
1 |
$ source ~/.bashrc |
これだけではNode.jsそのものがインストールされたわけではないのでNode.jsをインストールします。
1 2 3 4 5 |
# 安定版をインストールする $ nodebrew install stable # 使用できるバージョンの一覧が表示させる $ nodebrew list |
使用できるバージョンの一覧が表示されるので使いたいバージョンのものを選択する
1 2 |
# 一例として $ nodebrew use v14.2.0 |
これでnpmも使えるようになります。