前回「外為で勝つために その2 ~ MySQL 接続編」の続きです。
チャートを Web 表示してみる件です。
外為で勝つという趣旨から遠ざかっているような気がしないでもないですが、深く考えてはいけません。前に進みましょう。
【参考】
LAMPのインストール・Raspberry Pi3 + Raspbian Stretch
RaspberryPiに「Apache2」「PHP5」「MySQL」「phpAdmin」をインストール - Kamuycikap - SentenceDataBase
パッケージのインストール
Apache2(HTTP サーバ)、PHP 実行環境、phpmyadmin(MySQL 便利ツール)をインストールしていきます。
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install apache2
pi@raspberrypi:~ $ sudo apt-get -y install php php-dev php-fpm php-gd
phpmyadmin にてエラー発生
phpmyadmin は途中で GUI 的な画面になりますがスクショは敢えて省略します。
それはそうと、やはりエラー出ましたね。ありがとうございます。
pi@raspberrypi:~ $ sudo apt-get -y install phpmyadmin
# 自動再設定をする web サーバ: <apache2>
# phpmyadmin 用のデータベースを dbconfig-common で設定しますか?: <はい>
# phpmyadmin 用の MySQL アプリケーションパスワード: パスワードを設定して <了解>
# パスワードの確認: パスワードを設定して <了解>
# エラーが発生しました: <再試行>
# ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# phpmyadmin の MySQL データベースへの接続方法: <TCP/IP>
# phpmyadmin の MySQL データベースサーバのホスト名: localhost
# MySQL サービスのポート番号:3306
# phpmyadmin 用の MySQL データベース名: phpmyadmin
# phpmyadmin 用の MySQL ユーザ名: phpmyadmin@localhost
# phpmyadmin 用の MySQL アプリケーションパスワード: パスワードを設定して <了解>
# エラーが発生しました: <中止>
# ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root アクセスを拒否されたと言ってます。
どうやら 外為で勝つために その2 ~ MySQL 接続編 でパスワードを設定したのが仇になったようです。phpmyadmin は root パスワード未設定を想定しているんでしょうか。
pi@raspberrypi:~ $ mysql -u root -p
Enter password: (root のパスワードを入力)
MariaDB [(none)]> USE mysql;
Database changed
MariaDB [mysql]> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('');
Query OK, 0 rows affected (0.01 sec)
MariaDB [mysql]> QUIT;
Bye
pi@raspberrypi:~ $ sudo apt-get -y install phpmyadmin
:
granting access to database phpmyadmin for phpmyadmin@localhost: success.
verifying access for phpmyadmin@localhost: success.
creating database phpmyadmin: success.
verifying database phpmyadmin exists: success.
populating database via sql... done.
dbconfig-common: flushing administrative password
W: APT had planned for dpkg to do more than it reported back (0 vs 4).
Affected packages: phpmyadmin:armhf
パスワードをリセットしたらうまくいきました。
パスワードは忘れずに再設定しておきます。
pi@raspberrypi:~ $ mysql -u root
MariaDB [(none)]> USE mysql;
Database changed
MariaDB [mysql]> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('## root のパスワードを設定 ##');
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> select user,password,plugin from user;
+------------+-------------------------------------------+--------+
| user | password | plugin |
+------------+-------------------------------------------+--------+
| root | ***************************************** | |
| phpmyadmin | ***************************************** | |
| fxpi | ***************************************** | |
+------------+-------------------------------------------+--------+
3 rows in set (0.00 sec)
MariaDB [mysql]> QUIT;
Bye
phpmyadmin の設定ファイルをインクルード
インクルードしないとログイン画面すら拝めません。
設定ファイルを更新したら、忘れずにデーモンを再起動します。
pi@raspberrypi:~ $ sudo vi /etc/apache2/apache2.conf
# apache2.conf の最下行に次の1行を追加して保存
Include /etc/phpmyadmin/apache.conf
pi@raspberrypi:~ $ sudo /etc/init.d/apache2 restart
[ ok ] Restarting apache2 (via systemctl): apache2.service.
結果
Apache2 の「It works!」画面(ttp://192.168.X.X/)
sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phptest.php'
上記コマンドで PHP ソースファイルを作成してからアクセスしてください。
PHPInfo 画面(ttp://192.168.X.X/phptest.php)
phpMyAdmin ダッシュボード画面(ttp://192.168.X.X/phpmyadmin/)
これで Web 表示ができるようになりました。
また、データベースもグラフィカルに管理できるようになって分かりやすくなりました。
次回、チャート画面を作成します。
続く。