前回まで
前回までのパートで、Apache と PHP の設定まで完了しました。
今回の記事では、MySQL と PHPAdmin の導入を行っていきます。
MySQL8 のインストール
CentOS8 では、デフォルトで MySQL8 がインストールできるので、別途リポジトリを入れる必要はありません
dnf install -y @mysql
下記のコマンドでインストールされているか確認します。ここでは、バージョン8.0.21がインストールされています。
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
# warningが出力されていないことを確認する
コンフィグファイルの編集
設定ファイルは /etc/my.cnf.d
配下に設置されています。以前は /etc/my.cnf
に合ったようですが、このファイルを開いてみると以下のような記述がされています。
cat /etc/my.cnf
~~~~~
# This group is read bo
th both by the client and the server
# use it for options that affect everything
#
[client-server]
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d <--★/etc/my.cnf.d から読み込んでいると書かれている
この /etc/my.cnf.d
には以下のファイルが存在していました。
cd /etc/my.cnf.d
ls
~~~~~
client.cnf
mysql-default-authentication-plugin.cnf
mysql-server.cnf
新しく設定ファイルを作成し、設定を記述していきます。
設定と言っても文字コードの設定しか行っていない のですが、この utf8mb4_ja_0900_as_cs_ks
というのは、ひらがなとカタカナを判別する新しい Collation(コレーション:照合順序)です。
cd /etc/my.cnf.d
# 設定ファイルを作成
touch common.cnf
# 設定を記述する
cat >> common.cnf << "EOF"
# 文字コード設定/照合順序設定
[mysqld]
collation_server = utf8mb4_ja_0900_as_cs_ks
EOF
# mysqldを再起動
systemctl restart mysqld
systemctl status mysqld
# worningなど出ていないか確認
mysql にログインして色々確認します。
mysql -u root -p
# パスワードの入力を問われるが、何も入力せずにエンターキーを押す
# デフォルトではrootユーザーのパスワードは空になっている
# 文字コードの確認
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
# 照合順序確認
mysql> show variables like '%collation%';
+-------------------------------+--------------------------+
| Variable_name | Value |
+-------------------------------+--------------------------+
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_0900_ai_ci |
| collation_server | utf8mb4_ja_0900_as_cs_ks |
| default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |
+-------------------------------+--------------------------+
4 rows in set (0.00 sec)
# ログアウト
mysql> exit;
phpMyAdmin のインストール
まずは phpMyAdmin をダウンロードしてきます。その他のバージョンは以下のサイトから確認出来ます。
# ホームディレクトリへ移動
cd /home/vagrant
wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
# wgetコマンドが見つからないと言われたらインストールしておきます
dnf -y install wget
ダウンロードしてきたファイルを解答して移動します。
# ファイルを解答
unzip phpMyAdmin-5.0.2-all-languages.zip
# unzipコマンドがインストールされていなければ、インストールします
dnf -y install unzip
# ファイルを移動する(/usr/share/ 配下にphpMyAdminという新しいディレクトリも同時に作成される)
mv phpMyAdmin-5.0.2-all-languages /usr/share/phpMyAdmin
config.inc.php の作成・編集
# 設定ファイルの雛形をコピー
cp -pr /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
# 作成した設定ファイルを編集していく
vim /usr/share/phpMyAdmin/config.inc.php
// config.inc.php
・・・ 中略 ・・・
// パスワードフレーズを入力する(18行目あたり)
// ここのパスワードとmysql側で設定する rootユーザー のパスワードを合わせておきます
$cfg['blowfish_secret'] = '任意のパスワード'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
ブラウザから表示できるように phpMyadmin.conf を編集する
/etc/httpd/conf.d/
配下に phpMyAdmin.conf
ファイルを作成して設定を記述していきます。Apache のバージョンによって記述方法が違いますが、今回は Apache2.4 に対応した記述のみ記載します。
vim /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
#Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
#Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
</Directory>
設定を反映させるために、httpd を再起動しておきます。
systemctl restart httpd
systemctl status httpd
# warningなど出力されていないか確認
ここまでの設定でブラウザのアドレスバーに、[サーバのIP]/phpmyadmin/
を打ち込むと phpMyAmin の画面にアクセスできるようになりました。
MySQL の root ユーザーのパスワード変更
config.inc.php
の設定で入力したパスワードを元に、MySQL 側の root ユーザーのパスワードも変更していきます。デフォルトでは空のパスワードとなっています。
mysql -u root -p
# パスワードの入力を問われるが、何も入力せずにエンターキーを押す
# データベースの一覧表示
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
# 使用するデータベースの切り替え
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
# rootユーザーのパスワード変更
ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード';
Query OK, 0 rows affected (0.01 sec)
# ログアウト
mysql> exit;
ここまでユーザー名に root 、上記で設定したパスワード入力したらログイン出来ると思います。
最後に
インストールするソフトウェアのバージョンによって config ファイルの記述方法が変わったり何かとハマりやすい環境構築ですが、一度手順を洗い出しておくと次からの設定は楽になると思います。環境構築に苦戦している方や、はじめて LAMP 環境の構築をチャレンジしている方の手助けになれば幸いです。
次回から Laravel 環境を構築していきます。