raspberryPiにapache+PHP+mySqlを導入してみた。
このブログは1年ぐらい前から書き始めたので組込系の情報ばかりでWeb系の開発に関する情報がないのでWebを使ったシステム開発の情報も記載しようと思います。
元々は linux に Webサーバ(apache) と データベース(postgrsql や mySql)をインストールして Perl や php を使って Web系のシステムの開発を行っていたので最新の動向も踏まえながら進めてみようと思っています。
そこで、手始めに久々に raspberry Pi(下記写真の黒箱) に 「apache2」「php7」「mysql」を導入してみることにします。
その後、著名なphpフレームワーク「CakePhP」「laravel」を導入して使い勝手を試してみようと思っています。
先ずは参考になるサイトをネットで検索。
ちょっと古い情報ですが次のサイトの手順を参考にさせて頂きました。
ここでは、phpのバージョンは7.0で行いました。
手順は以下の通りコンソールターミナルを開いてapt-getを実行するだけでした。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install apache2
$ sudo apt-get install php7.0
$ sudo apt-get install mysql-server
$ sudo apt-get install phpmyadmin
途中、webサーバの種類やphpmyadminのパスワードを聞かれたりしますので入力してください。
apache2のインストールが成功していればwebブラウザからraspberry Pi のIPアドレスを指定してアクセスして次の画面が表示されます。
php7のインストールが成功していれば /var/www/html/phpinfo.php ファイルを作成して http://raspberryPiのIPアドレス/phpinfo.php にアクセスすれば次の画面が表示されます。
なお、/var/www/html/phpinfo.php ファイルの中身は
<?php
phpinfo();
?>
です。
webブラウザからphpmyadminユーザでログインして新規のデータベースを作ろうとしたがphpmyadminユーザには権限がなかったためコンソールコマンドmysqlでphpmyadminユーザに権限を付加する必要がありました。
今回は新規ユーザ(username)を新しく作り管理者権限を付与することで対応しました。
新規ユーザの作成と管理者権限を与える手順は次の通りです。
-
コンソールコマンドでrootでmySqlサーバに接続する。
$ sudo mysql -u root -p
-
CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;
-
GRANT ALL ON *.* TO ‘username’@’localhost’;
最後に動作確認のためmySQLにデータベース(sampledb)を作成してwebブラウザからアクセスしてデータベース内のテーブルの登録データを表示してみた。
事前にデータベース(sampledb)にはユーザ(php)とテーブル(user)を作成し、テーブルには3件のデータを登録しています。mySQLのコマンドラインを使いました。
無事データベースに接続してSQL文(SELECT)を発行してその結果を表示することが出来ました。
これにてLinuxでの Apache / MySQL / PHP(LAMP)の開発環境が整いました。
開発フレームワークを使わないWebシステムのプログラムは開始できそうです。
なお、今回はraspberryPiでmysql-serverをインストールしたつもりでしたが、どうやらRaspberryPiではMariaDBが推奨されていてMariaDBが導入されていました。