心を無にしてLAMP環境+phpMyAdminを作るコマンドまとめ


はじめに

スクリプトにしておいた方がいいかなぁ~って
思ったけど、意外とこのくらいの雑さがちょうどいいときがあるので
メモとして残す。

前提条件

AWS EC2 t2.microで動作

httpdのインストール

updateはやらなくてもよかったような気がする

yum -y update
yum -y install httpd
systemctl start httpd
echo "hello, world" >> /var/www/html/index.html

※ブラウザ上からhttp://[サーバのIPアドレス]/index.html で画面表示できれば成功

phpのインストール

ln -sf /usr/share/zoneinfo/Japan /etc/localtime
yum install -y php
cp /etc/php.ini /etc/php.bak
echo "<?php echo phpinfo();?>" >> /var/www/html/index.php

systemctl restart httpd

※ブラウザ上からhttp://[サーバのIPアドレス]/index.php で画面表示できれば成功
``

MySQLのインストール

yum remove mariadb-libs
yum install --enablerepo=mysql80-community mysql-community-server
yum install --enablerepo=mysql80-community mysql-community-devel
touch /var/log/mysqld.log
systemctl start mysqld 
systemctl status mysqld.service
systemctl enable mysqld
yum install -y php-mysqlnd
systemctl restart mysqld
mysql_secure_installation
→ passwordは/var/log/mysqld.log で"password"で検索したらそっと初期パスワードが書いてある
 →ここでrootパスワードを変更する(後で使うのでメモしておく)
vi /etc/my.cnf
 character-set-server = utf8 ←末尾に追記
systemctl restart mysqld

(オマケ)phpMyAdminのインストール

yum-config-manager --enable epel
yum install -y phpmyadmin
vi /etc/httpd/conf.d/phpMyAdmin.conf

phpMyAdmin用のユーザアカウントを用意する

によると、MySQL8.0のデフォルト認証方式がphpの接続ライブラリの認証方式に対応してないので変更してやる必要があるそうだ。

  1. MySQL8.0.4以降 のログイン認証方式は caching_sha2_password がデフォルト
  2. PHPのMySQL接続ライブラリが caching_sha2_password に未対応のため接続不可
  3. 解決策としては認証方式を mysql_native_password に戻してやればよい

そこで、、、

を参考に設定を変更。

MySQLへログインして、アカウント作成

mysql -uroot -pMysql@r0ot
※Mysql@r0otはmysql_secure_installationで変更したときのパスワード

CREATE USER sh00072021 IDENTIFIED BY 'Sh0007202!';

phpMyADminへログインする

http://[サーバのIPアドレス/phpMyAdmin でイケる

ID/PWはさっき作ったsh00072021でログイン。

ログイン直後の画面がコチラ。