はじめてのVPS初期セットアップ⑫ ~ Composer & Laravel6 のインストール ~

2021/02/23

「はじめての VPS シリーズ」の第12回目です。

前回は CentOS7 に phpMyAdmin をインストールしました。

今回は Composer をインストールして、いよいよ Laravel をインストールしてみます。

 

今回のゴール

Laravel6 をインストールして、ブラウザで Laravel のスタート画面を表示させます。

.env ファイルの設定やDBの接続は次回やります。

 

備考

ここでは以下のように作成します。

・Laravelを設置するディレクトリ名 ⇒ laravel.tokyo
・プロジェクト名 ⇒ laraveltokyo

適宜、ご自身の名前に変更して作成してください。

 

事前知識

Apache の設定ファイルの中心は /etc/httpd/conf/httpd.conf です。

Apacheはほとんどの動作についてこの httpd.conf の内容を参照します。

また Apache の補助プログラムの多くは、モジュールとして最初から Apacheに組み込まれる形になっています。

そのモジュールの設定ファイルのいくつかは /etc/httpd/conf.d/ 以下にまとめて収められています。

このディレクトリに httpd.conf の書式に基づいて部分的に記述を行ったテキストファイルを、 *.conf というファイル名で保存すると、その内容は httpd.conf とみなされて動作します。

httpd.conf の記述が煩雑になってきたときは、設定のひとまとまりを独立させると、整理がしやすくなります。

ここでは80ポートのバーチャルホストの設定を /etc/httpd/conf.d/laravel.tokyo.conf として保存。

443ポート(SSL)のバーチャルホストの設定を /etc/httpd/conf.d/laravel-le-ssl.conf として保存します。

(※laravel.tokyo.conf の箇所は適宜ご自身のファイル名にあわせてください)

 

新しいLinuxの教科書

ただ、読むだけではなく実践しながら進める形式になっています。(※コマンド一覧とか早引きの本ではありません)初心者がつまずくであろう箇所は補足説明がしっかり入っています。基本を大事にしている本なので、書いてあることはとてもわかりやすいです。それゆえ、中級者以上の方には物足りないかもしれませんが、初学者にはススメします!

公式サイトで詳細を見る

オススメ

 

手順

 

1. Composerをインストール


[root@example ~]# curl -sS https://getcomposer.org/installer | php

 

グローバルに使うため、「comoser.phar」 を /usr/local/bin/ の直下に移動させます。

これでどこでも composreコマンド が使えるようになります。


# CentOS上でホームディレクトリに移動します
[root@example ~]# cd ~/

#root権限で実行
[root@example ~]# mv composer.phar /usr/local/bin/composer

 

インストールの確認をします。


# Composerコマンドは一般ユーザーで実行することを推奨されています
$ composer --version

 
下記のように表示されれば成功です。

 

2. Laravelをインストール

それでは、いよいよ Laravel6 のインストールを開始します。


# wwwに移動
$ cd /var/www

# Laravel を設置するディレクトリを作成
#わかりやすくドメイン名に
mkdir laravel.tokyo
cd laravel.tokyo

#------------------------------------------------------------------------------------------------------
#Laravelのインストール
#------------------------------------------------------------------------------------------------------
# 構文
$ composer create-project --prefer-dist laravel/laravel プロジェクト名 "バージョン"
# 実例
$ composer create-project --prefer-dist laravel/laravel laraveltokyo "6.18.*"

 

【 -prefer-source 】
git clone でソースを落としてくる。
オプション指定なしの場合はこっち

【 -prefer-dist 】
zip でダウンロードする。こっちのほうが高速。

 

3. Apacheの設定

ドキュメントルートの設定と常時SSL化の設定をします。

ドキュメントルートの設定はApacheのモジュールに記述します。

常時SSL化は Laravelプロジェクトにある .htaccess に記述します。

 

バーチャルホストの設定(本体)

以前SSLの設定でApache設定ファイル(/etc/httpd/conf/httpd.conf)に記述したドキュメントルート(/var/www/html)の設定をコメントアウト。


[root@example ~]#vim /etc/httpd/conf/httpd.conf

:
#NameVirtualHost *:80

#<VirtualHost *:80>
#ServerAdmin root@laravel.tokyo
#DocumentRoot /var/www/html
#ServerName laravel.tokyo
#</VirtualHost>
:

 

実例

 

バーチャルホストの設定(80ポート)

ドキュメントルートを /var/www/laravel.tokyo/laraveltokyo/public/ に設定します。


[root@example ~]#vim /etc/httpd/conf.d/laravel.tokyo.conf

<VirtualHost *:80>
  DocumentRoot /var/www/laravel.tokyo/laraveltokyo/public
  ServerName laravel.tokyo
  <Directory "/var/www/laravel.tokyo/laraveltokyo">
    Allowoverride All
    Require all granted
  </Directory>
</VirtualHost>

 

実例

 

バーチャルホストの設定(443ポート)

次は443ポート(SSL)用にもドキュメントルートを設定します。


[root@example ~]#vim /etc/httpd/conf.d/laravel.tokyo-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
  DocumentRoot /var/www/laravel.tokyo/laraveltokyo/public
  ServerName laravel.tokyo
  <Directory "/var/www/laravel.tokyo/laraveltokyo">
    Allowoverride All
    Require all granted
  </Directory>
#SSL/TLSサーバー証明書
SSLCertificateFile /etc/letsencrypt/live/laravel.tokyo/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/laravel.tokyo/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/laravel.tokyo/chain.pem
</VirtualHost>
</IfModule>

 

実例

 
Apacheの設定ファイルは以上で終わりなので、ここで再起動をして設定内容を反映させます。


[root@example ~]# systemctl restart httpd

 

※ なお、Apacheのドキュメントルートを変更した場合、SSL証明書(Let's Encrypt)の設定内容も修正する必要があります。

詳しくは以下のページをご参照ください。

 

ドメインの統一

Apache の mode_rewrite 機能を使って

・wwwありなしの統一
・常時SSL化

をします。

mode_rewrite の書き方については以下のページをご参考ください。


#ドキュメントルートに移動
[root@example ~]# cd /var/www/laravel.tokyo/laraveltokyo/public

#.htaccessを編集
[root@example ~]# vim .htaccess

 

以下のように既存の .htaccess に追記します。


:
# wwwありの場合、wwwなしにリダイレクト
RewriteCond %{HTTP_HOST} ^(www\.laravel\.tokyo) [NC]
RewriteRule ^(.*) https://laravel.tokyo/$1 [R=301,L]

#SSLなしの場合、SSLありにリダイレクト
RewriteCond %{HTTP} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
:

 

実例

 

4. 権限を変更

Laravelプロジェクトのルートまで移動し storage の権限を変更します。


# Laravelプロジェクトルートに移動
$ cd /var/www/laravel.tokyo/laraveltokyo

# 権限変更
# 一般ユーザでは変更できないのでrootで
$ sudo chmod 775 -R storage/

# 775でも権限エラーが出る場合
$ sudo chmod 777 -R storage/

権限変更しないと、以下のような画面になります。
 

 

5. keyを生成


$ php artisan key:generate

 

6. 動作確認

ブラウザを開いて設定したドメインを入力してみます。

http://www.laravel.tokyo などでアクセスした場合は https://laravel.tokyo にリダイレクトされます。

(※SEO的にも有利と言われています)

 
上記のように表示されればOKです。

以上です。

 

さくらのVPS

Linuxの知識がある方や初心者の枠から脱した人は「VPS」をおススメします!もし、あなたがデザイナーで静的ページのサイトしか作らないのであれば「レンタルサーバー」でOKです。ただ、Webプログラマーとして仕事をするのであればroot権限のあるVPSサーバーを最低1台、自分専用(学習用)を持っておいたほうがいいでしょう。

Laravelプログラマーの初心者が選ぶ学習用サーバーとは?

公式サイトで詳細を見る

オススメ

 

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-環境構築