CentOS7.2にPHP7.2をインストールし、フレームワークとしてlaravel5.6をインストールする。laravelにはHomesteadというオールインワンの仮想環境パッケージがあるが、今回はHomesteadを使用せずにlaravelの環境を構築する。
PHPのインストール
PHP7.2をインストール する。
EPELとRemiリポジトリ登録
CentOS7の標準では、PHPの最新版がインストールできないので、PHPの最新バージョンを扱う、Remi
リポジトリを使う。
リポジトリ登録
$ sudo yum -y install epel-release
$ sudo yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
登録されたか確認する。
$ ls -l /etc/yum.repos.d/
合計 76
-rw-r--r--. 1 root root 1664 12月 9 2015 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 12月 9 2015 CentOS-CR.repo
-rw-r--r--. 1 root root 649 12月 9 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 12月 9 2015 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 12月 9 2015 CentOS-Sources.repo
-rw-r--r--. 1 root root 1952 12月 9 2015 CentOS-Vault.repo
-rw-r--r--. 1 root root 290 12月 9 2015 CentOS-fasttrack.repo
-rw-r--r-- 1 root root 1050 10月 2 2017 epel-testing.repo
-rw-r--r-- 1 root root 951 10月 2 2017 epel.repo
-rw-r--r-- 1 root root 422 10月 1 2015 puppetlabs-pc1.repo
-rw-r--r-- 1 root root 446 6月 5 09:24 remi-glpi91.repo
-rw-r--r-- 1 root root 446 6月 5 09:24 remi-glpi92.repo
-rw-r--r-- 1 root root 446 6月 5 09:24 remi-glpi93.repo
-rw-r--r-- 1 root root 456 6月 5 09:24 remi-php54.repo
-rw-r--r-- 1 root root 1314 6月 5 09:24 remi-php70.repo
-rw-r--r-- 1 root root 1314 6月 5 09:24 remi-php71.repo
-rw-r--r-- 1 root root 1314 6月 5 09:24 remi-php72.repo
-rw-r--r-- 1 root root 750 6月 5 09:24 remi-safe.repo
-rw-r--r-- 1 root root 2605 6月 5 09:24 remi.repo
PHPインストール
PHPとlaravelに必要なミドルウェアのインストール。
$ sudo yum install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-pdo php-xml php-zip1
PHPインストールの確認
PHPがインストールされたことを確認する。
$ php -v
PHP 7.2.6 (cli) (built: May 23 2018 09:50:51) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
composerのインストール
composer
をインストールする。
$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...
Composer (version 1.6.5) successfully installed to: /home/vagrant/composer.phar
Use it: php composer.phar
composerコマンド設置。今回はグローバルに使用するため。
$ sudo mv composer.phar /usr/local/bin/composer
composerがインストールされていることをコマンドで確認。
$ composer -v
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.6.5 2018-05-04 11:44:59
※コマンド設置が不要であれば、
$ php composer.phar
といった形でも使用できる。
プロジェクト作成
composerでlaravelのプロジェクト作成。これによりlaravelもインストールされる。
$ composer create-project --prefer-dist laravel/laravel ec-project
Installing laravel/laravel (v5.6.21)
Failed to download laravel/laravel from dist: The zip extension and unzip command are both missing, skipping.
Your command-line PHP is using multiple ini files. Run `php --ini` to show them.
Now trying to download from source
- Installing laravel/laravel (v5.6.21): Cloning 3f92cf66f
-
何やらエラーになる。unzipコマンドが無いと怒られる。
unzipをインストールする。
$ sudo yum install unzip
再度プロジェクトをつくって、進める。
$ composer create-project --prefer-dist laravel/laravel ec-project
問題なくできたようだ。
表示の確認
laravlはphp artisan
でビルトインWebサーバを立ち上げることができるが、ポートを指定しないと、デフォルトでは8000番ポートを使用するので、Vagrant側の設定で8000番ポートをforwardしておく。
Vagrantfile
ここでVagrantfileの修正。8000番ポートをforwardする。
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network "forwarded_port", guest: 8000, host: 8000
※設定を修正した場合はvagrant reload
ビルトインWebサーバ起動
プロジェクトhomeに移動して、ビルトインWebサーバを起動。
$ cd ec-project
$ php artisan serve --host=0.0.0.0
確認
表示を確認できた。
http://127.0.0.1:8000またはhttp://localhost:8000