2018/10/12
前回VagrantとVirtualBoxをインストールして仮想マシンの構築をしました。
仮想マシンのおかげでCentOSをいじる機会ができました。
せっかくなので今回はLinuxの勉強をしながらLaravelをインストールしてみようと思います。
CentOS6.7で行います。
Linux基礎知識
Linux初心者なのでLaravelをインストールする前にLinuxの基本的な知識を身につけようと思います。
まずはソフトウェア(パッケージ)をインストールしたりアンインストールしたりするyumコマンドとrpmコマンドについて。
RedHat系のLinux(CentOS、Fedora)なら使用頻度が多いコマンドです。
しかしyumコマンドとrpmコマンドの違いはなんでしょう?
yumは何かパッケージをインストールする際に、依存するパッケージを全て勝手にダウンロードして、依存関係も全部調べて正しくインストールしてくれます。
rpmにはその機能はありません。
ネットで調べてみるとyumコマンドは内部でrpmコマンドを呼び出しているみたいですね。
【参考サイト】
初心者の頃に知っておきたかった rpm と yum の違いと使い分け
上記のサイトを参考にすると基本的にはyumコマンドを使い、yumコマンドが使えない局面のときにrpmコマンドを使うそうです。
yumコマンドを使う際によく–enablerepo オプションを付けRemi、EPELリポジトリを追加していますよね。
このRemi、EPELとは一体何なのか?
僕はリポジトリの意味がわからなかったのですが、リポジトリとはプログラムなどが体系だてて保管されている場所のことだそうです。
Remi、EPEL はyum のリポジトリというもののようです。
【参考サイト】
yum が便利になる RPMforge、Remi、EPEL とは一体何なのか
つまりyumでPHPやMySQLなどのソフトをインストールする際にRemiやEPELをオプションで指定してやると、より一層最新のバージョンの種類がダウンロードできるってことですね。
そんなわけで、yumとrpmコマンドを使ってこれからソフトをガンガン入れていくわけですが、いろんなパッケージをいれていくと、どのパッケージを入れたか把握できなくなります。
そんな時、以下のコマンドをたたくとインストールしたrpmパッケージが検索できるので便利です。
#インストールされたrpmパッケージを一覧表示する rpm -qa | grep [パッケージ名]
今回チュートリアルでRemiがインストールされているかの確認やPHP関連モジュールがインストールされているかの確認をする際に使います。
チュートリアル
実現したいこと
- Vagrant上(CentOS6.7)にLaravel5.2をインストール
- Laravelスタートページを表示
手順
1. EPEL, Remiのリポジトリを追加
#EPEL、Remiがインストールされているか確認 rpm -qa | grep epel-releas rpm -qa | grep remi-release #なかったのでEPEL、Remiリポジトリを追加 #PHP5.6を入れるのにRemiレポジトリは必要 #Centos 6.x 64ビット EPELインストール sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm #Centos 6.x 64ビット Remiインストール sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm #インストールされたかもう一度確認 rpm -qa | grep epel-releas rpm -qa | grep remi-release
EPELとRemiが両方ともインストールされたのが確認できました。
2. PHPと関連モジュールをインストール
LaravelはPHPのフレームワークなのでPHPをいれないと動きませんよね。
また、Laravelを動かすためにはいくつかのPHP関連モジュールもインストールしないといけません。
特にプログラミング学習サイト「ドットインストール」によるとphp-xmlをインストールしておかないと上手くいかなくなるみたいです。
yumコマンドでインストールが済んだらphp-xmlがちゃんと入っているか確認します。
#PHP5.6と関連モジュールをインストール #php-xmlは必要 sudo yum install -y --enablerepo=remi --enablerepo=remi-php56 php php-mcrypt php-mbstring php-pdo php-mysqlnd php-tokenizer php-xml #php-xmlがインストールされたか確認 rpm -qa | grep php-xml
3. Composerをインストール
Laravelではパッケージ(ライブラリ)の依存関係の管理にComposerを使用しています。
Composerのインストールは必須です。
以下のコマンドをたたくとComposerがインストールされます。
curl -sS https://getcomposer.org/installer | php
4.Composer経由でLaravelのプロジェクトを作成
Laravelでプロジェクトを作成する方法は2通りあります。
- Composer 経由でプロジェクトを作成
- Laravel インストーラでプロジェクトを作成
インストーラでは上手くいかなかったのでComposer経由でプロジェクトを作成することにしました。
※Laravelインストーラv1.2.1にはバグがあるみたいです。
#プロジェクト名は"myblog" php composer.phar create-project --prefer-dist laravel/laravel myblog
5. ArtisanコマンドでWEBサーバを走らせる
Artisanコマンドの「Artisan」はフランス語で職人という意味です。
読み方は「アーティザン」と読みます。
#Artisanコマンドを使用するためにプロジェクト(myblog)に移動する cd myblog #ArtisanコマンドでWEBサーバを起動させる php artisan serve --host 192.168.33.10 --port 8000
これでブラウザのURLに
「192.168.33.10:8000」
と入力するとLaravelの画面が表示されます。
はまったところ
Laravelインストーラでのインストールが上手くいかない
Laravelインストーラでは何故か上手くいきませんでした。
ネットで調べてみるとLaravelインストーラは使わず、Composer経由でプロジェクト作成がベターみたいです。
プログラミング学習サイト「ドットインストール」でもComposer経由でプロジェクト作成をしていますね。
プロジェクトに移動しないとArtisanコマンドが実行されない
ArtisanコマンドでWEBサーバを起動させる際に「そんなコマンドないよ!」と言われて起動できずに困っていました。
SSHの画面に吐き出されたerror文言で検索するとLaravelプロジェクトに移動しないとArtisanコマンドは使えないみたいです。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。