5
5

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.4のためのローカル環境構築について

Last updated at Posted at 2017-08-27

LaravelにはHomesteadという専用に開発環境があります。Homesteadを使った構築方法については別記事を閲覧下さい。

目的

  • Windows10のVirtual BoxにCentOSをインストールする
  • CentOSにPHP、MySQLをインストールする
  • Homesteadを使わずに独自にLaravel用の開発環境を用意する

関連サイト

公式サイト

参考サイト

PhpStormでComposerを使えるようにしたいので、Windows上でComposerを使えるようにします。

手順(Windows環境側)

複数の仮想環境を作ることを想定してそれらをまとめるフォルダを作る

Windowsに標準で付いているWindowsPowerShellを起動します

memo.txt
// フォルダ作成
mkdir MyVagrant

// MyVagrantに移動する
cd MyVagrant

// 仮想マシンを作るフォルダを作る(MyCentOS)
mkdir MyCentOS_01

// MyCentOSに移動する
cd MyCentOS

仮想環境へOSをインストール

memo.txt
// Boxへの追加
vagrant box add centos7.1 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.1/vagrant-centos-7.1.box

// インストールされているboxの確認
vagrant box list

// 仮想マシン設定用のVagrantfileを作る
vagrant init centos7.1
または vagrant init bento/centos-7.2

// Vagrantfileを編集して仮想マシンのIPアドレスを192.168.33.10などの任意のIPにする
作成したファイルを開きprivate_network部分を編集する

// 仮想マシンを起動する
vagrant up

// 仮想マシンの状態を確認する
vagrant status

手順(仮想環境側:仮想環境へのログインが必要)

下準備

memo.txt
// OSを最新状態にアップデート
sudo yum -y update

// gitとvimをインストール
sudo yum -y install git vim

// treeコマンドのインストール
sudo yum -y install tree

// EPELとRemiリポジトリを追加
// CentOS7公式リポジトリにはepel-releaseパッケージが含まれているので以下コマンドでダウンロードできる
sudo yum -y install epel-release.noarch
sudo yum -y install epel-release
sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

// EPELとRemiの一次利用に設定を変更しておく(enabled=0にする)
sudo vim /etc/yum.repos.d/epel.repo

apacheのインストール

memo.txt
// インストール
sudo yum -y install httpd

// バージョン確認
httpd -v

// Apacheを起動し、常時起動にする
sudo systemctl start httpd.service
sudo systemctl enable httpd.service

// ファイアウォールを切る(ローカルの仮想環境の時のみ)
sudo systemctl stop firewalld
sudo systemctl disable firewalld

PHPのインストール

memo.txt
// 古いバージョンを削除
sudo yum remove php-*

// インストール
sudo yum -y install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-pdo php-gd  php-xml php-mysqlnd

// Laravelを使うための環境確認
rpm -qa | grep php-xml
php -v

// php.iniを編集
sudo vim /etc/php.ini

date.timezone = "Asia/Tokyo"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = pass
mbstring.detect_order = auto
mbstring.encoding_translation = On
mbstring.substitute_charset = none

// Apacheの再起動
sudo systemctl restart httpd.service

MySQLのインストール

memo.txt
// 不要なDBを削除する
sudo yum -y remove mariadb-libs
rm -Rf /var/lib/mysql/

// 最新版のMySQLのリポジトリを追加する
sudo yum -y install https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum -y install mysql-community-server
sudo service mysqld start

// パスワード確認
grep 'temporary password' /var/log/mysqld.log
http://qiita.com/ozawan/items/648bdc146041ceb2e390

// 自動起動確認、自動起動設定
systemctl is-enabled mysqld.service
sudo systemctl enable mysqld.service

// 文字コードの変更
sudo vim /etc/my.cnf

// 最終行に追加する設定値
character_set_server=utf8
skip-character-set-client-handshake

phpMyAdminの導入

http://qiita.com/saboten10/items/006ac4f14b9dc6ce5052
sudo mv phpMyAdmin /var/www/html/

MySQLのデータベース作成

mysql -u root -p
create database hogehoge_laravel;
grant all on hogehoge_laravel.* to yunomi@localhost identified by 'hogehoge';

Laravelの導入(PhpStorm2017)

プロジェクトの作成

  1. 新規プロジェクトを作成
  2. 作成時の選択肢として「Composerプロジェクト」->「laravel/laravel」を選択する

2017-08-27_21h07_24.png

設定の変更

  • .envファイルの設定変更

    • 下記の内容を設定した内容に沿うように変更する
      • DB_DATABASE=hogehoge
      • DB_USERNAME=hogehoge
      • DB_PASSWORD=hogehoge
  • app.php環境変更

    • 下記の内容に変更する
      • 'timezone' => 'Asia/Tokyo',
      • 'locale' => 'ja',
      • mysqlの部分を変更
        • 'charset' => 'utf8',
        • 'collation' => 'utf8_general_ci',
  • パーミッションの変更

    • storageとbootstrap/cacheディレクトリをWebサーバーから書き込み可能にする。設定しないとLaravelが正しく実行できない。高いセキュリティを確保する必要がない開発環境においては全ユーザーに対して書き込みを許可する指定でよい。
memo.txt
sudo chmod -R a+w storage/*
sudo chmod -R a+w bootstrap/cache

Laravel用の便利なコンポーネントを追加(--devを付けておく方が良い)

  1. .envファイルを選択し、下記のコンポーネントを追加する
    • laravel-debugbar
    • laravel-ide-helper
    • doctrine/dbal
  2. config/app.phpの「providers」に下記を追加する
    • Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,
    • Barryvdh\Debugbar\ServiceProvider::class,
  3. config/app.phpの「aliases」に下記を追加する
    • 'Debugbar' => Barryvdh\Debugbar\Facade::class,
  4. 以下のコマンドをPhpStormのターミナルで実行する
    • php artisan ide-helper:generate
    • php artisan ide-helper:meta

Laravelの開発で使える便利なPhpStormプラグインを追加する

サーバーと内容を同期させる

5
5
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
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?