LaravelでWEB開発 - 1.CentOS7にLaravelをインストール

CentOS7にPHPのフレームワークLaravelを導入します。
ローカルのVMWare上で動く事を想定し、開発環境、テスト用、学習用として実装します。
私はバージョン1からのSymfonyユーザですが、自分の学習も兼ねて、Laravelで何か動くものを作ってみるところまで掲載していきたいと思います。
参照:https://laravel.com/
実行環境
CentOS7.6.1810
Apache2.4.6
PHP7.3.5
MySQL8.08.0.16
CentOSのバージョンの確認
$ less /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Apacheのバージョンの確認
$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Apr 24 2019 13:45:48
MySQLのバージョンの確認
$ mysql --version;
mysql  Ver 8.0.16 for Linux on x86_64 (MySQL Community Server - GPL)
PHPのバージョンの確認
$ php -v
PHP 7.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
Laravelの起動に必要なサーバーのシステム
  • PHP >= 7.1.3
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • BCMath PHP Extension
上記のものが必要との事。

PHP7.3のインストール

過去の記事でPHPバージョン7.1をインストールしましたが、執筆時点2019年5月3日現在の最新のPHP7.3をインストールしておきました。
また、php-zip、 php-mysqlndが必要なのでこちらも追加。
PHPのインストールはこちらも参考にして下さい。
PHP7.4のインストール
# yum rmove php-* ←必要があれば古いPHPを削除
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# yum -y install --enablerepo=remi,remi-php73 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-zip php-mysqlnd
# sysytemctl restart httpd
# php -v

Composerのインストール


# curl https://getcomposer.org/installer | php
# mv -i composer.phar /usr/local/bin/composer
# composer
*root権限でcomposerの利用は非奨励とされています。

Laravelの導入

先程はバージョンを確認しただけでしたが、今回は一般ユーザに変更してcomposerを実行。
インストーラのダウンロード
# exit ←一般ユーザに切り替え
$ composer global require laravel/installer
PATHの設定
$ echo "export PATH=~/.composer/vendor/bin:$PATH" >> ~/.bash_profile
$ echo "export PATH=~/.config/composer/vendor/bin:$PATH" >> ~/.bash_profile
$ source ~/.bash_profile
今後同じCentOS内に複数個のプロジェクトを作製したいので、ドキュメントルートである/var/www は使用せず、使用するディレクトリを/home 直下に作成し、そこにlaravelのプロジェクトを配置する。
PATH: /home/lv/Laravelのプロジェクト
作業ディレクトリの作製
# mkdir /home/lv
# chown -R xiohei. /home/lv ←一般ユーザ(この場合は「xiohei」)でアクセスできるようにする。
プロジェクトの作製
# exit ←一般ユーザに切り替え
ログアウト
$ cd /home/lv
$ laravel new laravel-project
laravelコマンドを利用しないで、composerで作成する方法もあります。
$ composer create-project --prefer-dist laravel/laravel laravel-project
パーミッションの変更
$ cd laravel-project/
$ chmod -R 777 storage
$ chmod -R 777 bootstrap/cache
今回は、Apacheの設定ファイルを
/home/lv/conf/lv.httpd.conf
に記載して、/etc/httpd/conf/httpd.conf にインクルード、取り込む。
Apacheの設定
$ cd ../
$ mkdir conf
$ cd conf
$ vi lv.httpd.conf
 <IfModule alias_module>
    Alias /laravel-project/ "/home/lv/laravel-project/public/"

  <Directory "/home/lv/laravel-project/public">
    AllowOverride All
    Require all granted
  </Directory>

</IfModule>
$ su - ←rootユーザに切り替え
# vi /etc/httpd/conf/httpd.conf
最終行に
Include /home/lv/conf/lv.httpd.conf
を追加。
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

Include /home/lv/conf/lv.httpd.conf
# systemctl restart httpd
ブラウザで確認
http://192.168.1.100/laravel-project/
にアクセス。

表示が確認できれば無事プロジェクトの作製まで完了。