1.Raspbian Strechの確認
一連のソフトウェアをインストールするにあたって、インストール済みのOS情報を確認しておきます。なお、以下の確認とインストールはすべてPCのPoderosaで行います。
unameでシステム情報を、lsb_releaseでディストリビューション情報を表示させています。

2.個別ソフトのインストール
(1)Apache2
次のコマンドでインストールします。
$ sudo apt-get update |
$ sudo apt-get install apache2 |

(2)PHP7
次のコマンドでインストールします。
$ sudo apt-get -y install php php-dev php-fpm php-gd |

(3)php-mysql
次のコマンドでインストールします。
$ sudo apt-get -y install php-mysql |

(4)MySQL/MariaDB
次のコマンドでインストールします。
$ sudo apt-get -y install mysql-server |

ここまで進めてくると、次は当然phpMyAdminをインストールしたくなります。実はそれをやってしまうと、phpMyAdminのログイン画面で次のようなエラーが表示されてアクセス拒否されてしまいます。
#1698 - Access denied for user 'root'@'localhost'
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
そしてその解決がなかなかはかどらず、何度もphpMyAdminをアンインストールしてはやり直す始末、完全にハマってしまいました。
ということで、phpMyAdminをインストールする前に必ずMariaDB(MySQL)の初期設定を行ってください。
次のコマンドで開始し、最初の「Enter current password for root (enter for none):」は何も入力しないで[Enter]を押下、「Change the root password?」で'y'と応えてお望みのrootパスワードを入力してください。続くいくつかの確認事項は、すべて'y'で差し支えないでしょう。
$ sudo systemctl start mariadb.service |
$ sudo /usr/bin/mysql_secure_installation |

(5)phpMyAdmin
次のコマンドでインストールします。
$ sudo apt-get -y install phpmyadmin |



3.動作確認
①サーバーの動作確認(Apacheの動作確認)
PC側のWebブラウザでRaspberry Piの IP Adressを入力してください。
次のような Apacheのデフォールトページ「It works!」が表示されればOKです。

②Apacheの PHPモジュールのテスト
1)次のコマンドを入力してスクリプトファイル phptest.phpを作成します。
$ sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phptest.php' |
2)ブラウザに「http://192.168.0.32/phptest.php」と入力します。
PHPの詳細情報が表示されれば、先に作成したスクリプトファイルが実行されたわけで PHPの動作確認は完了です。

③MySQLの動作確認
1)MySQLの起動と問題の発生
mysql -u root -p と入力し、引き続きパスワードを入力して MySqlを起動しますが、ここで下図のような問題が発生しました。 [Enter password:]でパスワードを入力すると「ERROR 1698 (28000): Access denied for user 'root'@'localhost'」と表示されてログインできません。しかも、「sudo mysql -u root」ならパスワードなしでログインできてしまうのです。

2)ログインエラーへの対応
少し回り道になりますが、問題の調査過程と対応方法をまとめておきます。とりあえず「sudo mysql -u root」でログインして、mysqlデータベースを選択します(use mysql;)。そして利用者情報を記録しているuserテーブルの、気がかりなカラムの内容を表示してみました。rootとphpmyadminの二人が登録されていて、パスワードは同じになっていることがわかります。しかし、rootのほうはプラグインがunix_socketになっています。どうやらこれが原因でパスワード認証が変わってしまっているようです。
そこでSQL文「UPDATE user SET plugin='' WHERE User='root';」でプラグインを空にしました。結果を確認した上でquitし、「mysql -u root -p」でログインし直します。パスワードを入力すると無事ログインできました。またこれで、「sudo mysql -u root」でもパスワードなしではログインできなくなりました。
3)さて、それでは次のSQL文を実行させてみましょう。


SHOW VARIABLES LIKE 'character_set%'; |

quit; |
④phpMyAdminの動作確認
PC側のブラウザで「192.168.0.32/phpmyadmin/」のように、Raspberry PiのIPアドレスに続けてphpmyadminを指定します。ログイン画面が表示されたらrootでログインします。
phpMyAdminの画面が表示されました。これでブラウザから分かりやすいインターフェイスで、MySQLに対して様々な操作ができるようになりました。

