1.Raspbian Strechの確認
一連のソフトウェアをインストールするにあたって、インストール済みのOS情報を確認しておきます。なお、以下の確認とインストールはすべてPCのPoderosaで行います。
unameでシステム情報を、lsb_releaseでディストリビューション情報を表示させています。
![](photo/lamp1.jpg)
2.個別ソフトのインストール
(1)Apache2
次のコマンドでインストールします。
$ sudo apt-get update |
$ sudo apt-get install apache2 |
![](photo/lamp2.jpg)
(2)PHP7
次のコマンドでインストールします。
$ sudo apt-get -y install php php-dev php-fpm php-gd |
![](photo/lamp3.jpg)
(3)php-mysql
次のコマンドでインストールします。
$ sudo apt-get -y install php-mysql |
![](photo/lamp4.jpg)
(4)MySQL/MariaDB
次のコマンドでインストールします。
$ sudo apt-get -y install mysql-server |
![](photo/lamp5.jpg)
ここまで進めてくると、次は当然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 |
![](photo/lamp5-1.jpg)
(5)phpMyAdmin
次のコマンドでインストールします。
$ sudo apt-get -y install phpmyadmin |
![](photo/lamp6.jpg)
![](photo/lamp7.jpg)
![](photo/lamp8.jpg)
3.動作確認
①サーバーの動作確認(Apacheの動作確認)
PC側のWebブラウザでRaspberry Piの IP Adressを入力してください。
次のような Apacheのデフォールトページ「It works!」が表示されればOKです。
![](photo/lamp9.jpg)
②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の動作確認は完了です。
![](photo/lamp9-1.jpg)
③MySQLの動作確認
1)MySQLの起動と問題の発生
mysql -u root -p と入力し、引き続きパスワードを入力して MySqlを起動しますが、ここで下図のような問題が発生しました。 [Enter password:]でパスワードを入力すると「ERROR 1698 (28000): Access denied for user 'root'@'localhost'」と表示されてログインできません。しかも、「sudo mysql -u root」ならパスワードなしでログインできてしまうのです。
![](photo/lamp9-2.jpg)
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文を実行させてみましょう。
![](photo/lamp9-2a.jpg)
![](photo/lamp9-2b.jpg)
SHOW VARIABLES LIKE 'character_set%'; |
![](photo/lamp9-4.jpg)
quit; |
④phpMyAdminの動作確認
PC側のブラウザで「192.168.0.32/phpmyadmin/」のように、Raspberry PiのIPアドレスに続けてphpmyadminを指定します。ログイン画面が表示されたらrootでログインします。
phpMyAdminの画面が表示されました。これでブラウザから分かりやすいインターフェイスで、MySQLに対して様々な操作ができるようになりました。
![](photo/lamp9-5-0.jpg)
![](photo/lamp9-5.jpg)