AWS などのクラウドサービスが普及し、誰でも簡単に Web アプリケーションを公開できる時代になりました。
しかしクラウドサービスを新たに契約すると、開発に必要なライブラリを揃えたり、セキュリティを自分で管理したりするのがとても大変です。
そこで注目されるのが共用型レンタルサーバー。
皆さまが普段 Web サイトの公開に利用している共用レンタルサーバーでも、Web アプリケーションを作成・公開できるのはご存知でしょうか?
今回は、CPI の共用型レンタルサーバー『 SV-Basic 』に、PHP フレームワークの『 Laravel 』をインストールする方法を紹介します。
Laravel 公式サイト : http://laravel.jp/
目次
- 『 Laravel(ララベル)』を始めるなら今!
- Web アプリケーション開発に Laravel を導入するメリット
- Laravel の構造に関する特徴
- Laravel のインストール手順~初期設定まで
- 最後に
「Webサイトからお問い合わせが来ない…」とお悩みの方必見!
当サイトのノウハウを詰め込んだ『Web集客の無料ガイド』をご提供
『 Laravel (ララベル) 』とは?『 Laravel 』を始めるなら今!
まずフレームワークとは何か、導入することでどのようなメリットがあるのか、一緒に学んでいきましょう。
フレームワークとは本来、「枠組み」「骨組み」という意味の言葉です。
簡単に言えば 、Web アプリケーションを作るのに便利な機能が揃った状態で開発をスタートすることができる土台のようなものをフレームワークと呼びます。
フレームワークを使いこなせば、開発効率を何倍も向上させることができます。
今回紹介する『 Laravel (ララベル) 』とは、PHP フレームワークの1つです。2011年にリリースされた比較的新しいフレームワークですが、高い知名度を誇ります。
『 Laravel 』は、ソースコードの分かりやすさや、学習コストの低さ、将来性の高さから非常に人気のフレームワークです。
日本での PHP フレームワークのトレンド遷移
PHP に多少詳しい人なら、フレームワークといえば「 CakePHP (ケイク PHP) 」が真っ先に思い浮かぶかもしれません。
CakePHP は2005年にリリースされた PHP フレームワークで、2010年代前半まで圧倒的なシェアを占めていました。
しかし、後発のフレームワークである『 Laravel 』が2011年にリリースされると、多機能かつ柔軟性の高い点が Web 開発者の支持を集め、英語圏を中心に徐々にシェアを伸ばしていきました。
日本でも2016年を境に CakePHP との知名度は逆転し、Laravel が名実ともに PHP フレームワークの代表となりました。
Webアプリケーションの需要増加
2019年からモバイル通信の分野でも 5G のサービスが続々開始されました。
5G が普及して高速・大容量・低遅延のデータ転送が可能になると、これまでスマートフォン等の端末で動作していたネイティブアプリケーションは、Web アプリケーションにシフトすると予想されています。
【追記】『 Laravel 』は、2019年2月に Laravel バージョン5.8バージョン、同年9月にバージョン6、2020年9月にバージョン8のように、1年に1回くらいのペースでアップデートを繰り返しています。
今後は、2022年2月8日に『 Laravel 9』が、2023年2月7日に『 Laravel 10』がリリースされる予定です。
以下のページで、リリース日を確認できます。
Laravel Versions
Web アプリケーション開発に Laravel を導入するメリット
PHP は学習コストが低く、直感でコーディングをしても「動く」ものができるので、初心者が Web アプリケーション開発を始めるのに最適なプログラミング言語です。
その反面、開発者にも「動けばいい」という意識が強く、人によって書き方がまちまちで統一されていなかったり、全体の設計(デザインパターン)を無視して皆がその場その場でベストだと思うソースコードを実装したりする傾向があります。
「後からソースコードを追うと、ため息が出るような、メンテナンスが困難な Web アプリケーションができあがってしまった…」 そんな経験をしたことがある方もいるのではないでしょうか?
フレームワークはそういった PHP の悪い部分を補うことができます。
PHP でも設計(デザインパターン)に則った、誰が見てもわかりやすいソースコードを実装するための機能が備わっています。
Laravel の構造に関する特徴
以下は Laravel の構造に関する代表的な特徴です。
- 豊富なクラステンプレートの作成機能
- MVC パターン(モデル、コントローラー、ビュー)に則ったディレクトリ構造
- Web アプリケーションによくある機能が最初からサービスとして用意されている
- データベースが直感的に操作でき、かつデータベース関連の便利な機能が揃っている
- 簡潔なソースコード
それぞれについて、解説します。
豊富なクラステンプレートの作成機能
Laravel には、画面やデータベースアクセスなど、さまざまな用途に応じてそれぞれ雛形となるクラスが用意されています。
artisan コマンドを実行すると、雛形となるクラスをコピーしたファイルが作成されるので、そのファイルに処理を足していくかたちでコーディングしていきます。1からファイルを新規作成する時間と労力を省略でき、統一的な実装が可能です。
MVC パターン(モデル、コントローラー、ビュー)に則ったディレクトリ構造
MVC パターンとは、一連の機能をモデル(データベース)、コントローラー(サーバー)、ビュー(画面)に分けて実装するデザインパターンです。
CakePHP や Laravel などの主要な PHP フレームワークには MVC パターンが採用されており、一連の機能をモデル・コントローラー・ビューに分割することで、可読性・保守性が高くなります。
これらの機能を使い、決まりごとを守ってコーディングするだけで、あなたの作った Web アプリケーションは飛躍的にメンテナンスしやすくなります。また、処理がどこのファイルに書かれているか探すタイムロスもなくなります。
チームで開発する場合は、より効果を発揮するでしょう。
Web アプリケーションによくある機能が最初からサービスとして用意されている
認証認可機能、ログイン機能、定期実行(バッチ)スケジュール機能、メール送信機能、入力チェック(バリデーション)機能、日付のユーティリティ機能などがあらかじめ用意されており、自分で作る必要がありません。
フレームワークに用意された機能を利用すれば、バグの混入率も低下します。
データベースが直感的に操作でき、かつデータベース関連の便利な機能が揃っている
Eloquent を使えば、オブジェクトにアクセスしているような感覚でデータベースのデータを登録、参照、更新、削除できます。
その他にも、エンティティの情報をもとにテーブルを自動生成する機能、自動生成したテーブルやビューの変更や追加を世代(バージョン)ごとに管理するマイグレーション機能、テストのダミーデータを自動生成する機能などがあります。
簡潔なソースコード
フレームワークを導入すると、便利になる反面ソースコードの分量が増えることがあります。
便利な機能を使うためにコーディングの量が増えるのは本末転倒なため、避けたいところです。
Laravel の場合は、サービスプロバイダ (DI) 機能やファサード機能を使って、どこからでも簡単にオブジェクトが利用できたり、共通機能が呼び出せたりします。
Laravel のインストール手順~初期設定まで
前章までに、Web アプリケーションの開発でフレームワークを用いるべき理由と、Laravel のメリットについて説明しました。
ここからは、CPI サーバーに Laravel をインストールし、ウェルカムページを表示させるまでの手順を紹介します。
1. サーバーに SSH 接続する
Laravel をインストールするために、まずサーバーに SSH 接続します。
Windows をお使いの方は、TeraTerm などのターミナルソフトを事前にダウンロードしてください。
SSH 接続するためには、鍵ペア(秘密鍵と公開鍵)を生成して、サーバーに公開鍵を登録する必要があります。以下のヘルプの手順に沿って設定を行ってください。
https://www.cpi.ad.jp/support/startup/shared/publish/index.html#use_ssh
鍵の登録が終わりましたら、ターミナルからログインを行います。
アドレス、ユーザー名、ポート番号などは以下のヘルプを参考にしてください。
http://acesr.document.secure.ne.jp/tools/sshkeys/
Mac の場合:
ssh SSH_ACOUNT@接続先ホスト名 -p ポート番号
2. 「 .htaccess 」の設置
今回は「 /html/laravel 」に Laravel を設置します。「 /html/laravel /」に .htaccess ファイルを設置してください。
SSH コマンドライン
cd ~/html
#Laravelをインストールするディレクトリを作成
mkdir laravel
cd laravel
#htaccessファイルを新規作成
vi .htaccess
3. 「 .htaccess 」の修正
設置した .htaccess を下記の通り修正します。
AddHandler x-httpd-php71 .php
# ACE01 現行プラン
Options +SymLinksIfOwnerMatch
# Follow symbolic links in this directory.
# ZZ、Zなどの古いプランは下記のコード
# Options +FollowSymLinks
4. Composer のインストール
Laravel は Composer を使ってインストールします。Composer をサーバーにインストールしていない場合は、「 ~/html/laravel 」で以下のコマンドを実行してください。
コマンドラインから下記を実行
curl -sS https://getcomposer.org/installer | php-7.1
インストールに成功すると、composer.phar という実行ファイルが作成されます。
5. Laravel のインストール
「 ~/html/laravel 」で以下のコマンドを実行してください。
php-7.1 composer.phar create-project laravel/laravel PROJECT_NAME --prefer-dist
PROJECT_NAME は、お好きなプロジェクト名を設定してください。
コマンドを実行すると、以下のようなパッケージのインストールが開始されます。
インストールが開始されると完了まで5分ほどかかりますので、処理を途中で中断しないでください。
処理が終わりましたら、以下の完了メッセージが表示されます。
「 ~/home/laravel 」直下に PROJECT_NAME のディレクトリが作られていることを確認してください。以降の作業は「 ~/home/laravel/PROJECT_NAME 」のディレクトリで行います。
6. パーミッションの変更
「 ~/home/laravel/PROJECT_NAME 」 に移動し、ディレクトリの権限を変更してください。
コマンドライン
chmod -R 777 storage
chmod -R 777 bootstrap/cache
これで Laravel を動かすためのファイルのインストールが完了しました。
以下の URL に Web ブラウザでアクセスすると、Laravel のウェルカムページが表示されます。
http://<サーバーのアドレス>/laravel/PROJECT_NAME/public
最後に
今回は Laravel のインストールから初期設定までの手順を説明しました。インストールの手順は少し難しかったかもしれませんが、慣れれば30分程度で設定することができます。
本記事を参考に、ぜひ試してみてください。
次回の記事は Laravel の DataBase の設定をご紹介いたします。
PHP フレームワーク『 Laravel 』入門 #2 データベース設定手順