【導入編】の続きです。
下記記事の続きを想定しております。
Vagrantで仮想サーバを立て、Laravelプロジェクトを構築。
Laravelのサンプル画面が立ち上がった時点から開始
https://qiita.com/katsuhito_01/items/439e3af4cea8ff00832c
MySQLをインストール
Laravelで用いるデータベースを構築。
MySQLでもPostgressでも何でもOK。今回はとりあえずMySQLを使用。
特にDBを使わない(データは外部APIから持ってくる等)のであれば不要。
mariaDBを削除
CentOS7の場合、デフォルトでMySQL互換のmariaDBがインストールされている可能性がある。
競合を避けるため、念のため削除しておく。
# sudo yum remove mariadb-libs
# sudo rm -rf /var/lib/mysql/
yum リポジトリの追加
yumでインストールするため、MySQL公式のyumリポジトリを追加する。
# sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
インストールの実行
yumインストールを実行。実行後、念のためMySQLのバージョンを確認してみる。
# sudo yum -y install mysql-community-server
# mysql --version
mysql Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using EditLine wrapper
MySQLの起動
インストールの確認ができたら、MySQLを起動。
ついでにマシン起動時に自動的に立ち上がるようにしてしまう。
# sudo systemctl start mysqld.service
# sudo systemctl enable mysqld.service
初期パスワードを確認
セキュリティ設定のための初期パスワードを確認。どこかにメモっておく。
# view /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: 初期パスワード
MySQLのセキュリティ設定
ログインするためにセキュリティ設定をしておく。
まず初期パスワードが聞かれるので、メモっておいたパスワードを入力。
# mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
新しいパスワードを入力し、再度同じパスワードを入力する。
※わかりやすいパスワードだと怒られます。
その後は対話式で色々設定を聞かれます。必要に応じてYかNかを入力していけば完了。
今回は全部Yでやりました。
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
ログインし使用するデータベースを作っておく
設定したパスワードでログインできるか確認。
ログイン出来たら、データベースをつくっておく。
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.29 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, 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> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> CREATE DATABASE mypage01_db;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mypage01_db |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql>
.envファイルに設定情報を記述
Laravelプロジェクトディレクトリ直下に.envファイルがあるので、中にDB情報を記述。
(無い場合は、.env.exampleをコピーして作成)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mypage01_db
DB_USERNAME=root
DB_PASSWORD=root
VagrantのhomeディレクトリをSambaで共有
viやvimで直接弄り回し開発する等であれば不要。
今回はWindows上にvagrantでCentOS7を立て、CentOS7上にLaravel環境を構築している。
Windows側からエディタで資材を弄りまわしたいので、Sambaで何とかする。
Vagrantfileのsynced_folderも考えたが、いかんせん同期が遅く動作が重い…
Sambaをインストール
とりあえずsambaをインストールする。
# sudo yum install samba
Configをいじる
# sudo vi /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
hosts allow = 127. 192.168.33. # vagrant環境に合わせてよしなに設定
unix extensions = no # 追加
wide links = yes # 追加
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
アクセスパスワードの設定
Windowsからアクセスする際のパスワードを設定。
特にrootパスワードと同じでも問題ないので、よしなに設定。
# sudo pdbedit -a vagrant
# new password:
# retype new password:
Samba起動&自動起動設定
Sambaを立ち上げつつ、マシン起動時に自動で立ち上がるようにしておく。
# sudo systemctl enable smb
# sudo systemctl start smb
Windowsエクスプローラーからアクセス
Windows側のエクスプローラーより、\\192.168.33.10\vagrant
でアクセス。
CentOS7のvagrantホームディレクトリに入れる。
Windowsコマンドプロンプトで、適当なドライブに設定してしまってもよいかも。
$ net use Z: \\192.168.33.10\vagrant
シンボリックリンクの作成
CentOS7のvagrantホームディレクトリに、以下シンボリックリンクを作成。
# cd /home/vagrant
# ln -s /var/www/html/ html
これでWindows側よりLaravelのドキュメントルートへアクセスできるようになる。
あとはPHPSTORMやATOMなど、お好きなエディタで開けば弄り回せるようになる。
【次】https://qiita.com/katsuhito_01/items/dece7a66e92c7a213a4b