環境
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を設定する
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