Help us understand the problem. What is going on with this article?

mac Laravel環境構築

環境

OS macOS 10.13 High Sierra

事前準備として、xcodeをappストアからインストールしておく。

# brew install
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# check
$ brew -v

# 正常に動くか確認する
$ brew doctor
Your system is ready to brew.

ここでエラーが出たらエラー分を読んで対処

エラー例
- xcodeのコマンドラインツールがない。
(xcodeと一緒にインストールされるが、OSバージョンによって自動でインストールされないケースがある)
- 必要なディレクリがない
- パスが通っていない

# 匿名使用状況(homebrew開発者が使用ソフトのトレンドの参考にする)を送りたくない場合はこちらも
$ brew analytics off
# 確認
$ brew analytics
Analytics is disabled.

Homebrew
https://brew.sh/index_ja.html

$ brew install composer

$ composer -v
$ php -v
# PHPが7.1.3以上ならphpのインストール(このブロックをスキップする)

$ brew install php

$ brew services start php

# HPが7.1.3以上を確認
$ php -v
# terminal restart(一旦閉じてひらく)

既にmysqlが入っている場合は、mysqlをインストールしなくてよいです。他のを入れると設定が競合します。

「DBを作成する」までスキップしてやってください。

$ mysql -v
# mysqlが入っていたらこのブロックをスキップする

$ brew install mysql

$ brew services start mysql

# パスを通す
$ echo 'export PATH="/usr/local/opt/mysql/bin:$PATH"' >> ~/.bashrc

# 設定反映
$ source ~/.bashrc

mysql セキュリティ設定(パスワード設定)

$ mysql_secure_installation

# パスワードを設定しますか?
Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y


# パスワードの強度はどうしますか?
There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
Please set the password for root here.

New password:

Re-enter new password:

# パスワードの強度は50です
Estimated strength of the password: 50

# 提供されたパスワードを続行しますか?
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

#  匿名ユーザを削除します?
匿名ユーザ ユーザ名なし、パスワードなしでログインできるユーザ、セキュリティ上好ましくない
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

# リモートからrootユーザのログインを不可にしますか?
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

# testDBを削除しますか?
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

# 今、変更を適用しますか?
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

$ mysql -uroot -p
# passwordを聞かれるので入力
# ログインできることを確認

$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.12 Homebrew

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Mac へ MySQL を Homebrew でインストールする手順
https://qiita.com/hkusu/items/cda3e8461e7a46ecf25d

mysql8の認証プラグインの変更

Server version: 8.0.12 Homebrew

$ mysql -uroot -p

# 現状のプラグインを確認する

mysql> select user, host, plugin from mysql.user;

+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)

# プラグインを変更する
# caching_sha2_password から mysql_native_password に変更する

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'hogefugapiyoPassWord';
Query OK, 0 rows affected (0.20 sec)

# 変更できたかを確認する

mysql> select user, host, plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)

# 一旦ぬける
mysql>exit;


MYSQL8.0におけるデフォルトの認証プラグインの変更
http://variable.jp/2018/02/23/mysql8-0%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E8%AA%8D%E8%A8%BC%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%AE%E5%A4%89%E6%9B%B4/

Mac での MySQL セットアップ
https://qiita.com/itooww/items/13055c8bb1d226ee5844

MySQL8.0 認証方式を変更する
https://qiita.com/ucan-lab/items/3ae911b7e13287a5b917

# Laravelをインストールしたいディレクトリを作る。
# 既存であればスキップ

$ mkdir product

# 作りたいディレクトリに移動して次でLaravelインストール
$ cd product
$ composer create-project --prefer-dist laravel/laravel bbs

$ php artisan serve

# こちらにアクセスして確認する
# http://localhost:8000/

ちなみに、サーバーを落とすにはcontrol + Cを押下します

DBを作成する

$ mysql -uroot -p

mysql>create database bbs;

# できているか確認する
mysql>show databases;

DBを設定する

.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bbs
DB_USERNAME=root
DB_PASSWORD=*******

DBの接続をテストする

$ php artisan migrate

Migration table created successfully.

Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table

$ php artisan tinker
Psy Shell v0.9.8 (PHP 7.2.10 — cli) by Justin Hileman

>>> App\User::all()->toArray();
=> []
// エラーがでなければOK

初めてのLARAVEL 5.6 : (6) データベースの環境設定
https://laravel10.wordpress.com/2015/02/21/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A/#more-269

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした