ubichupas.net

CentOS 7.3にPHP 7.2とLaravel 5.6をインストール

さて、PHP 7.2のRPMパッケージはどこから手に入れたものかと調べたら REMI(Remi's RPM repository)というのがあるらしい。 レミさんって誰ぞ?

localhost
[root@centos-dev ~]# yum install http://ftp.riken.jp/Linux/remi/enterprise/remi-release-7.rpm

[root@centos-dev ~]# ls /etc/yum.repos.d/
CentOS-Base.repo       CentOS-Media.repo    epel-testing.repo  remi-php54.repo  remi-php73.repo
CentOS-CR.repo         CentOS-Sources.repo  remi-glpi91.repo   remi-php70.repo  remi.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo    remi-glpi92.repo   remi-php71.repo  remi-safe.repo
CentOS-fasttrack.repo  epel.repo            remi-glpi93.repo   remi-php72.repo

PHPのバージョン毎にレポジトリが用意されているようなので、 remi-php72.repoを指定してPHP本体をインストールする。 さらにLaravelに必須なPHPの拡張モジュールもREMIからインストールしておく。 この辺の構造がよくわからんのだけど、C言語で実装されたものが拡張モジュールで、 LaravelなどPHPで実装されたものが拡張ライブラリ(パッケージ)という理解でよいだろうか。

localhost
[root@centos-dev ~]# yum install --enablerepo=remi,remi-php72 php

[root@centos-dev ~]# php --version
PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

[root@centos-dev ~]# yum install --enablerepo=remi,remi-php72 php-mbstring php-pdo php-zip php-dom
[root@centos-dev ~]# php -m

Laravelフレームワークの前提条件でもあるPHPのパッケージ管理システムComposerを入れる。 手順が単なるファイル操作なのにわざわざPHPの関数で書かれていた。 これも勉強か。

localhost
[root@centos-dev ~]# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
[root@centos-dev ~]# php composer-setup.php
[root@centos-dev ~]# php -r "unlink('composer-setup.php');"
[root@centos-dev ~]# php -r "rename('composer.phar', '/usr/local/bin/composer');"

いよいよLaravelをインストールする。 http://laravel.jp/にあるクイックスタートのリンクはLaravel 4.2(PHP >= 5.6.4)だったので、 ドキュメントのリンクからLaravel 5.6(PHP >= 7.1.3)のインストール手順を確認した。

localhost
[ubichupas@centos-dev ~]$ composer global require "laravel/installer"
[ubichupas@centos-dev ~]$ mkdir ~/bin
[ubichupas@centos-dev ~]$ ln -s ~/.config/composer/vendor/laravel/installer/laravel ~/bin
[ubichupas@centos-dev ~]$ laravel -V
Laravel Installer 2.0.1

laravelコマンドにPATHを通すのでなく、元からPATHの通っている~/binにシンボリクリンクを置いた。 不躾にPATHを通せと他人の環境に口を出してくる奴が嫌いなので。 laravelコマンドはLaravelのフレームワークでなくLaravelのインストーラーなので、 バージョンが5.6でなくてもビックリしないように。

laravel newコマンドでプロジェクトを作ったら、 アルチさん(職人)に頼んでWebサーバーを起動してもらおう。 TeraTermにSSH転送を設定してWebブラウザからhttp://127.0.0.1:8080/でLaravel 5.6が動いていることを確認できた。

localhost
[ubichupas@centos-dev ~]$ laravel new blog

[ubichupas@centos-dev ~]$ cd blog
[ubichupas@centos-dev blog]$ grep laravel/framework composer.json
        "laravel/framework": "5.6.*",
[ubichupas@centos-dev blog]$ composer update

[ubichupas@centos-dev blog]$ php artisan serve --port=8080
Laravel development server started: <http://127.0.0.1:8080>

それにしても素敵なのはbuilt-in Webサーバー。 初めてRuby on Railsを触ったときの感動が再来した。 まぁbuilt-in WebサーバーはLaravelの機能というわけでなく、 PHP 5.4からphp -S 127.0.0.1:8080 -t htmlで起動できたらしいけど。

0 件のコメント: