見出し画像

LAMPサーバーインストールと phpmyadmin使用メモ

データベースを作りたい

さてと、OSのインストールばかりして遊んでいても仕方ない。コンピューターは何か「生活」の役に立つことに使いたいものである。以前から家計管理はスプレッドシートで行っていて、十分に使えているのだがデータ量が多くなってきたので、そろそろデータベースに引っ越しして、もっと軽く使いたいかな。と思い出したのがそもそものきっかけである。Libreoffice base あたりでできるのでは?と数日いじくり回していたのだが、今ひとつ思うように動いてくれない。とりあえずマスターテーブルと言えそうなものは、それなりにデータクレンジングして、ユニークな番号も付けてデータベースに読み込めるような形に整形してある。となると、やはりmysql あたりか。
教科書はどうする? といった課題も出てくる。どうしたものか。

情報はインターネットから

ということで、ハード本を複数冊購入しても良いのだが、この手の情報は、数年経つと古くなるし、今時は、Youtubeにもインストール動画はたくさんある。ということでインストール教則本の目次等を眺めながら、どんな手順になるか理解に努めた。

まずは、Virtualbox から

Kindle を眺めていて目に入ったインストール教則本の目次の最初の項目は、Virtualbox であった。サンプルなので中身は読めないのであるが、ふーむ、なるほど、なにか不具合が発生しても、仮想マシンを捨てるだけで良いのね。しばらくVirtualbox も使っていなかったので、久しぶりにインストールしてみた。今は、Oracle の傘下で、そこからダウンロードするのね。ふむふむ。

というわけで、インストール時には、あのファイルがない、このファイルがないと叱られながら、debian の中に debianの仮想マシンを作ってみた。仮想マシンの中でデータベース本体を入れて動かすという意味だろうと勝手に理解した。ネットワークアダプターの設定で、プライベートネットワーク内の他のマシンから接続可能なIPアドレスに設定した。まてよ、以後、仮想マシンに接続したクライアントのコンソールからアクセスしてチャカチャカとやって動くなら仮想マシンに X は、不要なのでは?と思い、Xを入れず、openssh-serverをインストールした仮想マシンも作ってみた。仮想マシンのXの表示サイズを変更したりするとフリーズしたりするのである。やや不安定なのだ。我が家のディスプレイの解像度は、1920x1080なのだが、それより一回り小さいサイズで以後、Xの画面表示サイズは変更させないこととして、これでうまくできたら、コンソールだけで設定するのもいいかもと考えた。追加のソフトウェアは、Guest Addition CD に収納されているが、コンソール仮想コンピュータを立ち上げた場合は、/dev/sr0にある仮想CDを/media/cdrom0にマウントしないとインストールできないことを忘れていた。何回か試したが、2つの仮想マシンが残った。

そして次は、apache2, php, phpmyadminのインストール

apache2 や php は、aptコマンドで即インストールできるのだが、mysql-server は、apt でインストールできない。今は、mariadb-server になっているとのこと。さて、どうすっかな。使い勝手は同じようなものなのだろうが、調べると下記サイトから、debパッケージがダウンロードできるので、今回は、mariadb ではなく昔からある mysql をインストールしてみた。

apacheや、phpの初期設定は、Youtubeのチュートリアル動画でなんとかできる。phpmyadminも apt でのインストールではなく、以下のサイトからのダウンロードになる。

Youtube動画の説明欄に出ている github のマニュアルに従い、そのままインストールをして一番上の絵が出るところまでたどり着いた。ここまで、約1日半かかりました。mysql のプロンプトがなかなか出なくて、調べました。
mysql -u root -p でプロンプトが表示されるのですね。やれやれでした。
さて、次は、いよいよデータベースの設定になる。以後もネット情報だけでやれるかな???

データベースを作る準備が出来た

さて、phpmyadmin の画面を眺めていたら、インポートメニューの中に、csvファイル以外に、opendocument spreadsheet のインポートがある。これって、Libreoffice Calc のデータがそのまま、インポートできるという意味か。これは凄いね。Calc のデータであれば、データ型も指定済みなので、その属性も継承されるということになるのかな。さっそくやってみることにしよう。おっとインポート失敗だ。欲張らずにまずは、csvファイルのインポートからかな。おっとこれも失敗だ、なになに、何か文句を吐いているね。
iconv_substr(): Detected an incomplete multibyte character in input string と言っているが、多分、文字コードのエラーだろうなと調べると

mbstring extension で解決すると言っている。mbstring extension とはなんぞや? と調べると
To install the mbstring extension on Ubuntu, you can use the following command: で良いと言っている。
sudo apt-get install php-mbstring
After installation, you need to restart your Apache service:
sudo service apache2 restart
これで、読み込めるようになりました。一歩進んだかな。

csvファイルを読み込んだ

上記で読み込んだテーブルは一部のフィールドに正規化の余地があるが、まずは、SQLを使って、データ抽出等、何ができるのか知りたい。SQLの出力結果は、OpenDocument Spreadheet( .ods) のExport できる。こちらは正常に使用でき、Libreoffice Calc でグラフ表示等が可能である。
「SQLで、こんなことやりたいけれど、どうやるの?」とWEBブラウザーのAI君に尋ねると、そこそこの回答が得られる。その内容を、技術評論社の「SQLポケットレファレンス」(20年ほど前の書籍)で再確認して実行するとちゃんと動くのだ。phpmyadmin の中にも、SQLの結果をグラフ化する機能があり、まあ使える。良い時代になったものである。
入力のところを、もう少しスマートに出来ないかと思うのだが、まあ、今の所、家の中では困らない。

phpmyadmin を使用して作ったグラフ

余談

Ubuntu Server の場合ですと、mysql-server とか。phpmyadmin も aptコマンドでインストールできます。パッケージに統一感があります。
別途、参照させていただいたサイトは下記の通りです。

一番最初に参考とした書籍は、Kindleサンプルとして目次の提供があるのみだったので購入してみたが、Linux は、Cent OSを使用していた。この記事を書いている時点で、既にサポートがないディストリビューションである。こういう情報は、サンプルに表示していて欲しかった。Kindle で購入した書籍でも、返品はできるようなので、Amazon サイトで返品手続きを取った。残念である。

SSL通信の設定をしてみる

さて、家の中のネットワークの話なので、通信のセキュリティがどうのこうのという話でもないが、▲Not Secure と表示されるのは楽しくない。そうか、ここで秘密鍵と公開鍵を使ったSSL通信というのが必要になるのか。ふむふむ、では、早速、設定してみるか。ということで参考にさせていただいたサイトが下記のサイトです。ありがとうございます。

環境が近いので、参考にさせていただきました。しかし、自作の秘密鍵、公開鍵と証明書なので、アイコンは❎に変わりましたが、Not Secure は、そのままです。まあいっか。一歩、進みました。(了)

いいなと思ったら応援しよう!