AWSなどのクラウドサービスが普及し、誰でも簡単にWebアプリケーションを公開できる時代になりました。
しかしクラウドサービスを新たに契約すると、開発に必要なライブラリを揃えたり、セキュリティを自分で管理したりするのがとても大変です。
そこで注目されるのが共用型レンタルサーバーです。
皆さまが普段Webサイトの公開に利用している共用型レンタルサーバーでも、Webアプリケーションを作成・公開できるのはご存知でしたでしょうか?
今回は、CPIの共用型レンタルサーバー『ACE01』に、PHPフレームワークの『Laravel』をインストールする方法をご紹介いたします。
Laravel公式サイト : http://laravel.jp/
まずはフレームワークとは何か、導入することでどのようなメリットがあるのか、一緒に学んでいきましょう。
目次
- 2019年のトレンドPHPフレームワーク『Laravel(ララベル)』を始めるなら今!
- Webアプリケーション開発にLaravelを導入するメリット
- Laravelの構造に関する特徴
- Laravelのインストール手順~初期設定まで
- さいごに
『Laravel(ララベル)』を始めるなら今!
フレームワークとは「枠組み」「骨組み」の意味です。
簡単に言えばWebアプリケーションを作るのに便利な機能が揃った状態で開発をスタートすることができる、土台のようなものです。
フレームワークを使いこなせば開発効率を何倍も向上させることができます。
今回は、PHPで今一番ホットなフレームワーク『Laravel(ララベル)』についてご紹介いたします。
日本でのPHPフレームワークのトレンド遷移
PHPに多少詳しい人なら、フレームワークといえば「CakePHP(ケイクPHP)」が真っ先に思い浮かぶかもしれません。
CakePHPは2005年にリリースされたPHPフレームワークで、2010年代前半まで圧倒的なシェアを占めていました。
しかし、後発のフレームワークである『Laravel』が2011年にリリースされると、多機能かつ柔軟性の高い点がWeb開発者の支持を集め、英語圏を中心に徐々にシェアを伸ばしていきました。
日本でも2016年を境にCakePHPとの知名度は逆転し、Laravelが名実ともにPHPフレームワークの代表となりました。
日本でのPHPフレームワークのトレンド(https://trends.google.co.jp )
そして2019年2月に、決定版とも言える Laravel 5.8バージョンがリリースされました。
Webアプリケーションの需要増加![]()
2019年はモバイル通信の分野でも5Gのサービスが続々開始されます。
5Gが普及して高速・大容量・低遅延のデータ転送が可能になると、これまでスマートフォン等の端末で動作していたネイティブアプリケーションは、Webアプリケーションにシフトすると予想されています。
Webアプリケーション開発にLaravelを導入するメリット
PHPは学習コストが低く、直感でコーディングをしても「動く」ものができるので、初心者がWebアプリケーション開発を始めるのに最適な言語です。
その反面、開発者にも「動けばいい」という意識が強く、人によって書き方がまちまちで統一されていなかったり、全体の設計(デザインパターン)を無視して皆がその場その場でベストだと思うソースコードを実装したりする傾向があります。
「後からソースコードを追うと、ため息が出るような、メンテナンスが困難なWebアプリケーションができあがってしまった…」 そんな経験をしたことがある方が多いのではないでしょうか?
フレームワークはそういったPHPの悪い部分を補うことができます。
PHPでも設計(デザインパターン)に則った、誰が見てもわかりやすいソースコードを実装するための機能が備わっています。
Laravelの構造に関する特徴
以下はLaravelの構造に関する代表的な特徴です。
豊富なクラステンプレートの作成機能
Laravelには、画面やデータベースアクセスなど、さまざまな用途に応じてそれぞれ雛形となるクラスが用意されています。
artisanコマンドを実行すると、雛形となるクラスをコピーしたファイルが作成されるので、そのファイルに処理を足していくかたちでコーディングしていきます。いちからファイルを新規作成する時間と労力を省略でき、統一的な実装が可能になります。
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の設定をご紹介いたします。