laravel5.6をcentOS7.2にインストールして動かしてみた
最近ぐうたらしているのでPHPフレームワークで新しくアプリを作成しようかと思い、最近のトレンドを調べてみました。
業務では cakePHP
や symfony2
などを利用していますが、調べたところやっぱり最近のイチオシは 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のバージョンを確認する。
192.168.33.20
)- 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の「設定⇒共有フォルダー」から共有ディレクトリの設定をします。
ホスト側の準備ができたらゲスト側でも共有設定をします。
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側のフォルダにも同様のファイル群が表示されました。
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の使用感について書きたいと思います。
参考にした記事
https://readouble.com/laravel/5.6/ja/
https://www.ritolab.com/entry/80
Author And Source
この問題について(laravel5.6をcentOS7.2にインストールして動かしてみた), 我々は、より多くの情報をここで見つけました https://qiita.com/shinataka/items/d314086622ad56ec235b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .