0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

laravel5.6をcentOS7.2にインストールして動かしてみた

Last updated at Posted at 2018-07-22

最近ぐうたらしているのでPHPフレームワークで新しくアプリを作成しようかと思い、最近のトレンドを調べてみました。

業務では cakePHPsymfony2 などを利用していますが、調べたところやっぱり最近のイチオシは laravel だということなので、暫く動かしていなかった vagrant マシンに laravel を入れてみようという記事です。

前提

  • ホストOSはwindows10
  • ゲストOSはcentOS7.2
  • vagrant,VirtualBoxは最新版(2018/07/21時点)をインストール済み
  • ゲストOSは以前vagrantで構築済み(IPは 192.168.33.20)
  • PHPはremiで7.1をインストール済み(remiはyumでインストール)
  • composerもインストール済み

やったこと

  • PHP7.1をアンインストールして7.2をインストール(関連モジュールも一緒にインストール)
  • VirtualBoxのディレクトリ共有を使ってホストOSとゲストOSのディレクトリを繋ぐ
  • composerをアップデートしてlaravelをインストール
  • apacheのconfを変更
  • webブラウザでアクセス

PHP7.2をインストールする

PHPのバージョンを確認する。

とりあえず今インストールされているPHPを確認します。

php -v

【結果】

PHP 7.1.11 (cli)
以下略

ということで、まずはPHPを7.2にアップグレードしました。

yumでremiをアップデートする。

まずはremiで利用できるPHPを確認します。

確認コマンド

ll /etc/yum.repos.d/ | grep remi-

【結果】

-rw-r--r-- 1 root root  456  6月 19 09:28 remi-php54.repo
-rw-r--r-- 1 root root 1314  6月 19 09:28 remi-php70.repo
-rw-r--r-- 1 root root 1314  6月 19 09:28 remi-php71.repo
-rw-r--r-- 1 root root  750  6月 19 09:28 remi-safe.repo

PHP71までしかリポジトリ登録されていないのでremiを更新します。(remiはyumで入れてあるのでyumを更新します。)

yum update

更新完了したらもう一度確認します。

-rw-r--r-- 1 root root  456  6月 19 09:28 remi-php54.repo
-rw-r--r-- 1 root root 1314  6月 19 09:28 remi-php70.repo
-rw-r--r-- 1 root root 1314  6月 19 09:28 remi-php71.repo
-rw-r--r-- 1 root root 1314  6月 19 09:28 remi-php72.repo
-rw-r--r-- 1 root root 1314  6月 19 09:28 remi-php73.repo
-rw-r--r-- 1 root root  750  6月 19 09:28 remi-safe.repo

ん?PHP73?7.2より7.3があるなら7.3を入れよう!
ということで一旦PHP7.1を削除します。

yum remove php-*

削除完了したら7.3を入れてみます。

yum info --enablerepo=remi,remi-php73 php

正常にインストールが完了したようなので確認します。

PHP 5.6.36 (cli)
以下略

え・・・5.6って・・・

どうやら7.3は インストールできないようです(ちゃんと調べればよかった・・・)

インストールされてしまった5.6を削除して7.2を入れます。

yum remove php-*

PHP7.2をインストール

yum -y install --enablerepo=remi,remi-php72 php php-opcache php-devel php-mbstring php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-gd php-intl php-symfony php php-pdo php-xml php-tokenizer php-pear php-zip

関連モジュールごと入れてしまいましょう。

確認します。

php -v

【結果】

PHP 7.2.8 (cli) (built: Jul 17 2018 09:50:46) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.8, Copyright (c) 1999-2018, by Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

ちゃんと入りました!


VirtualBoxのディレクトリ共有を使ってホストOSとゲストOSのディレクトリを繋ぐ

larabelのインストール前にゲストOSとホストOSを繋ぎます。
VritualBoxの「設定⇒共有フォルダー」から共有ディレクトリの設定をします。

vb.jpg

ホスト側の準備ができたらゲスト側でも共有設定をします。

mount -t vboxsf laravel_test /var/www/html/

これで /var/www/html/ 配下が共有されました。


composerをアップデートしてlaravelをインストール

準備ができたのでlaravelをインストールしましょう。
laravelはcomposerでインストールしますが、composerの状態が古いのでアップデートします。

composer self-update

アップデートが完了したらマニュアルに従ってLaravelインストーラをダウンロードします。

composer global require "laravel/installer=~1.1"

インストーラが正常にDLできたっぽいのでpathを通して laravel new できるようにします。

export PATH="$PATH:~/.composer/vendor/bin"

ではlaravelコマンドを・・・

laravel new laravel_test

【結果】

-bash: laravel: コマンドが見つかりません

ん?・・・できない。も~ワカラン!!

できないんでcomposerからプロジェクトを作成します。

composer create-project laravel/laravel /var/www/html/laravel_test

あ、こっちはできた。

[root@localhost laravel_test]# pwd
/var/www/html/laravel_test
[root@localhost laravel_test]# ll
合計 178
drwxrwxrwx 1 root root      0  7月 21 12:03 app
-rwxrwxrwx 1 root root   1686  7月 21 12:03 artisan
drwxrwxrwx 1 root root      0  7月 21 12:03 bootstrap
-rwxrwxrwx 1 root root   1477  7月 21 12:03 composer.json
-rwxrwxrwx 1 root root 144199  7月 21 12:06 composer.lock
drwxrwxrwx 1 root root   4096  7月 21 12:23 config
drwxrwxrwx 1 root root      0  7月 21 12:03 database
-rwxrwxrwx 1 root root   1022  7月 21 12:03 package.json
-rwxrwxrwx 1 root root   1134  7月 21 12:03 phpunit.xml
drwxrwxrwx 1 root root   4096  7月 21 12:03 public
-rwxrwxrwx 1 root root   3675  7月 21 12:03 readme.md
drwxrwxrwx 1 root root      0  7月 21 12:03 resources
drwxrwxrwx 1 root root      0  7月 21 16:52 routes
-rwxrwxrwx 1 root root    563  7月 21 12:03 server.php
drwxrwxrwx 1 root root      0  7月 21 12:03 storage
drwxrwxrwx 1 root root      0  7月 21 12:03 tests
drwxrwxrwx 1 root root   4096  7月 21 12:06 vendor
-rwxrwxrwx 1 root root    549  7月 21 12:03 webpack.mix.js
[root@localhost laravel_test]#

ディレクトリ共有も済んでいるので、windows側のフォルダにも同様のファイル群が表示されました。

windows_filelist.jpg


apacheのconfを変更

最後にwebrootを変更します。

vi /etc/httpd/conf/httpd.conf

httpd.confを開き、以下を追加します。

DocumentRoot "/var/www/html/laravel_test/public"

<Directory "/var/www/html/laravel_test/public">
Allowoverride All
</Directory>

一応シンタックスエラーが起きていないか確認します。

service httpd configtest

【結果】

Syntax OK

大丈夫そうなのでapacheを再起動します。

systemctl restart httpd

ブラウザでアクセスする。

全ての作業が完了したのでブラウザでアクセスしてみます。

ゲストOSのIPは92.168.33.20で構築してあるのでIPをそのまま叩いてみます。

laravel_top.jpg

無事に表示されました!

しばらくいじり倒そうと思います。
次回はlaravelの使用感について書きたいと思います。


参考にした記事

https://readouble.com/laravel/5.6/ja/
https://www.ritolab.com/entry/80

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?