CentOS7が動作する極小サーバーRaspberry_Pi3へPHPをインストール

CentOS7でGUI起動を果たしたRaspberry_Pi3_Model_BでphpMyAdminを使うための環境整備を行います。

まだ日本語入力ができない状態ですが、動作確認用データベースサーバーとしては不足はないようです。

Raspberry_PiへPHPのインストール

目的はphpMyAdminが利用できるデータベースサーバーの構築ですが、いわゆるLAMP環境の導入と同じ作業をすることになります。CentOS6のときと同じくPHPのインストールから進めます。

# yum install php

例によって端末を起動しコマンドを実行します。

インストールの行程を確認すると「httpd」の記述があるので「Apache」も同時にインストールされるようです。

Apacheの起動コマンドを実行してみます。

# chkconfig httpd on

ちなみにCentOS6のときに使用したon・offの確認コマンドは何故か使えないようです。

ネットワーク経由でApacheの動作を確認

Apacheのアクセス画像

設定でIPアドレスを手動で指定し、他の端末からRaspberry_PiへアクセスしてみるとApacheが正常に動作していることが確認できます。

このとき、CentOSのファイアウォールで80番ポートの確認と、MariaDB用の3306番ポートの開放をしておきました。

phpMyAdminに関連するphpの補足

Webサーバー的な用途なら、Apacheとphpのインストールで簡単なWebページは公開できそうですが、目的がデータベース運用でしかもDBMS(MariaDB)の管理をグラフィカルなUI(phpMyAdmin)で利用したいとなると簡単には行かないようです。

php.iniの編集

PHPのインストールが済んだところで「/etc/php.ini」ファイルの編集をしておきます。
これをしておかないとphpMyAdminがブラウザで正常に起動できません。

php.iniの編集前半

赤のアンダーラインがコメントアウトを外した記述

php.iniファイルのmbstring後半

黄色の反転はエディタでmbstringを探すため検索をかけたため

上の黄色の部分10カ所の先頭にあった「;」を消してコメントアウトを外します。

mbstringに一行追記

実はコメントアウト記号の削除だけではエラーが解消しなかったためmbstringの記述部分の先頭へ「extension=php mbstring.so」を一行追加しました。

これで、MariaDBとphpMyAdminをインストールすれば正常に起動可能になります(もしかして、この1行追加だけで済んだ??)。

「php-mbstring」と「php-intl」のインストール

PHPのインストール時にyumで実行したのは「php」だけでしたが、最終的にphpMyAdminを正常起動するまでに、「php-mbstring」と「php-intl」をインストールしました。

この2つはPHPインストール時に同時に実行しても良さそうな感じもしますが、エラーを確認してからの対処を記録しておけば知識として身につくことでしょう。

OSのバージョンで対処が異なるPHPとApache

前回データベースサーバー化したノートパソコンではCentOS6を使用し、今回のRaspberry_Pi3_Model_BではCentOS7を使っていますが、いずれも仕上げのphpMyAdminに漕ぎつくまでにはPHPの設定が必要で、これが微妙に異なるようです。

Apacheのテスト

CentOS7のApacheを表示

たとえば「php.ini」ファイルの編集箇所や、Apacheに使うコマンドなどです。

特にApacheはCentOS7では、途中の再起動以外に意識しなくても良いのではと思うほど他に比べ楽でした。

また、CentOSの採用を決める前にノートPCにVineLinuxをインストールしMySQLを動かしてみたり、同じCentOSでPHP7を試してみたりしましたが、どれもApacheとPHPの扱いが微妙に異なったりしています。

できればCentOSでもPHP7を使用したいところですが、どうにも敷居が高くデータベースの学習という本来の目的から外れてしまいそうですので当面はCentOSとMariaDBの組み合わせで環境設定の基本習得に留めておきたい考えています。

Raspberry_Pi3_ModelBにCentOS7をインストール【GNOME_GUI】

Raspberry_Pi3でCentOS7が利用できることは購入時に調べて知っていましたが、その時はCUIのバージョンについての情報しかなく利用に関してはハードルが高い印象でした。

ケースを開けたRaspberry_Pi3_Model_B

ところが最近になって、予めGUIが組み込まれたArm対応イメージがダウンロード可能なことを知り早速インストールしてみることにしました。

Raspberry_PiにもCentOSをインストール

RaspberryPiのOSインストールはmicroSDにOSのイメージファイルをコピーする手法が用いられます。
以前からRaspberry_Pi用のCentoOSとして認知されてきたのはMinimalというCUIで起動する最小構成のシステムですが、これはコマンドによる操作が必要でGUI環境は自分で構築する必要があります。

もともと、Raspberry_Piを使ってみようと言う方は、CUIでのコマンド入力に抵抗を感じない方が多いことでしょう。

Raspberry_Pi3_Model_Bの基盤

一方、私はただの基盤好きという一般と異なった趣向からRaspberry_Pi3_Model_Bを手に入れ、目指す目的はデータベースサーバーとしての動作検証という単純作業です。

OSイメージ(GNOME_GUI)のダウンロード

Linuxもグラフィカルインターフェイスでの運用が主流になりつつある昨今で、データベースの実践学習の為にコマンドの習得やGUI環境を構築するのは出来れば避けて通りたい道です。

そんなことを考えながら、Raspberry_PiのCentOS7でGUI利用を調べてみると、最初からGUI起動できるOSイメージがダウンロードサイトに用意されているではありませんか。

このOSイメージさえ入手できれば、PCで行ったのと同じくRaspberry_Piの「なんちゃってサーバー化」が可能なはずです。

そんなわけで、GUI環境が整ったCentOS7を次のURLからダウンロードしました。

ダウンロードURL:https://ftp.yz.yamagata-u.ac.jp/pub/linux/centos-altarch/7.5.1804/isos/armhfp/

KDEとGNOMEがありましたが今回はGNOMEを選択。

ダウンロードしたファイルは圧縮されているので、解凍してからmicroSDカードへ書き込みます。

GUI_CentOS7のインストール

microSDへの書き込みにはDD_for_Windowsを使用しました。

管理者モードでアプリを実行

とても便利なソフトウェアですが私の環境では画像のようにEXEファイルを右クリックし、管理者モードで実行しないと対象のmicroSDが見えない場合がありました。

DDforWindowsでコピー

書き込みが済んだらRaspberry_Pi本体のスロットにmicroSDカードを差し込んで完了です。

RaspberryPiに差し込んだmicroSD

モニタ出力用のHDMIケーブルとキーボード・マウスを接続したら、USB電源につながっているMicroUSBケーブルを差し込んでCentOSを起動します。

本体が小さいので各ケーブルを差し込んだ見た目はスティックPCのようになりますが、Raspberry_Piには電源ボタンが用意されていなくケーブルから電源が供給されると即起動という仕組みになっています。

GUIモードで日本語環境を設定

GUI起動直後のデスクトップ画面

英語のままのメニュー表示

初回の起動時にユーザーの作成とネットワークや言語の設定等を行いますが、言語の選択肢に日本語が見あたりません。
NEC_PC-BL300/TA6BにインストールしたCentOS6では簡単に設定できた日本語が、今回Raspberry_PiにインストールしたArm用CentOS7では自分でインストールする必要がありました。

MinimalのCentOS7をPCにインストールしたケースの情報を参考にして端末から次のコマンドを実行します。

# yum install ibus-kkc vlgothic-*

何度か確認メッセージが表示されyを押して進みます。

端末でコマンドを実行

日本語のインストール中

確認メッセージをyで進む

二度目の確認メッセージ

yを入力して完了

終了したら端末を閉じ英語メニューに沿って設定項目を表示させると、今度は言語の選択肢に日本語が表示されています。

設定画面で日本語が表示

シンプルなデスクトップなので英語表示でも設定画面が出しやすい

日本語を選ぶ

初回起動時にはこの「日本語」が表示されていませんでした

ここで言語を日本語に設定しなおすとデスクトップのメニューが日本語に変わります。

この時点では日本語キーボードが上手く設定できておらず、日本語入力は使えない状況ですが目的がデータベースの動作検証ですのでキーボードの指定は後回しにして先に進むことにします。

あとはOSのバージョンに違いから若干手順が異なることは予想されますがネットブックで行った作業と同じ手順でDBMSが利用可能になるはずです。

rootパーティションの拡張

GUIの設定と日本語化が済めばRaspberry_Piもデータベースサーバー用途以前にパソコンとしては申し分ない仕様になります。

ところが、このOSイメージをストレージにコピーしただけのLINUXは、余裕のあるメディアを使用してインストールしても、もとのイメージ通りのストレージ領域しか確保できないらしく、やがてOS起動中にエラーメッセージが右上に表示されるようになります。

回避方法としては、rootパーティションを拡張する必要がありますがLINUXのパーティション拡張コマンドというのがまた難解なものでした。

一般的にはREADMEの記述を参考にして次のコマンドを実行します。

/usr/bin/rootfs-expand

私はコマンドラインから次の通り実行しました。

# rootfs-expand

おそらく同じ効果があると思われますが、READMEの記載は

/usr/local/bin/rootfs-expand

と書かれています。

これらの手法で、パーティションの拡張に成功すればハードウェアのスペックの良否を除いてPCにインストールしたCentOSと変わりなしに運用が可能になるでしょう。

パソコンのようにスペースもとらず費用的にも安価に導入可能なRaspberryPiは、今回のデータベース学習のほかにも手軽にハードウェアを用意したいときに役立ちます。

DBサーバーNEC_LavieLight_PC-BL300/TA6Bメモリ増設

当サイトでDBMS動作検証用のサーバーとして採用したNEC_LavieLight_PC-BL300/BL6ですが、この手のハードウェアのメモリは価格が低下していて入手しやすいこともあり本体のメモリを2GBに増設することにしました。

なお、お決まりですがPC分解は事故責任で行う作業です

この世代のネットブックは1GBが標準

LavieLightが現行機種として販売されていた当時に各PCメーカー投入したネットブックは決まって搭載メモリが1GBでした。

NEC_LavieLight_PC-BL300/TA6Bを閉じた画像

そのほとんとの機種がMAX2GBのメモリだったはずですが、当時低価格が売りであったネットブックに最初から2GBを搭載しているマシンはまずなかっようです。

なんちゃってサーバー用途のLinuxマシンとしては標準メモリ容量の1GBでも快適に利用できていますが、今後も心地良い運用を可能にするため2GBへと変更します。

このパソコンは本体サイズがコンパクトなため空きスロットが存在しないので、標準で搭載している1GBのメモリを2GBのものへ交換する必要があります。

交換作業については既にネットに多くの情報がありますが、本体部分を全分解する必要があるため、ノートPCのメモリ増設としては難易度が高い作業と言えます。

メモリ交換作業

ハードディスクの固定ネジを外す

作業はじめにバッテリーを取り外しPC本体を裏返しにします。
最初にHDの固定ネジ2本を取り外し、ハードディスクを抜き取ります。

取り出したHDD

この手のノートPCはSSDへの換装が楽ですね。

次に、PC裏の見える部分にあるネジを全部外していきます。

キーボード上のパネルを外したところ

バッテリーに隠れていたネジも外すと、キーボード奥のパネルが外せます。

作業上もっとも注意が必要なのが次の行程のキーボードとタッチパッドのフラットケーブルの取り外しと思われます。どちらも慎重に行わないとフラットケーブルがチギレてしまい、そうなると交換部品の調達など余計な行程が発生するほか、本人のやる気も損失することになりかねません。

キーボードの取り外し

キーボードを外したPC-BL300/TA6

細長いパネルが外れればキーボードを浮かせることができるので、キーボードをゆっくり慎重に浮かせてからマザーボード側にあるコネクタを外してフラットケーブルをはずしキーボードを取り外します。

本体カバーのネジを緩める

キーボードの裏にあったネジを緩めていきますが、どうやらこれだけではカバーが外れないようです。

ヒンジ部のコネクタ

PC-BL300/TA6は液晶モニタ部を分離させないとメモリスロットにアクセス出来ない仕組みのようです。

この信号用ケーブルは真上の垂直方向へ持ち上げるように外しました。

無線LANのアンテナ

無線LANのアンテナがモニタ側へ延びているためアンテナ線を基盤から取り外します。

モニタを分離

モニタ部分はヒンジ周りにある2本のネジを外せば取り外せる仕組み。

取り外した無線モジュール

本体上面のカバーはこのWifiモジュールのネジも使用して固定されています。ずいぶん凝った作りですね。

タッチパッドケーブルの取り外し

上面パネルを取り外す

写真を撮り忘れましたが、パームレストを含む上面カバーを外すにはタッチパッドとマザーボードを繋いでいる細いフラットケーブルをコネクタから外す必要があります。

これの存在に気づかず思い切りカバーを開けてしまうと大変なことになりかねません。

メモリスロットへのアクセス

マザーボードを持ち上げたところ

目的のメモリスロットはマザーボードの裏に隠れています。基盤を浮かすには手前右側にあるスピーカーのコネクタを外す必要があります。

純正メモリ

マザーボードを取り外してしまえば(このとき気づきませんでしたが、ここまで分解済みだと、あとは電源コネクタのネジを外せばメインの基盤は簡単に外せる仕様でした)良いのですが、組立の行程も少なくしたいのでメモリにアクセス可能なこの状態で2GBのメモリと交換します。

背面パネルの内側

マザーボードを持ち上げた裏にある背面パネルの内側がこのような感じでした。ここにメモリスロットアクセス用に切り込みを入れカバーでも付けてほしかったところです。

マザーボードの表面全体

マザーボードのパーツの配置はこのようになっています。
これも後で気づいたのですが、マザーボードをケースから外すには左のCPU側から外した方が基盤にも負担が少ないようです。

左側の+マーク

メモリの交換が済めば、後は丁寧に元通りに組むだけです。マザーボードの表から直接固定するねじ穴には画像のように「+」のマークが記されていました。

HDD周りのネジ

HDD周りの固定ネジには「+」の表記がありませんでしたが忘れずに元に戻します(後から気づきましたがこの2本は残したままでもマザーボードを外せます)。

組立の際も、2本のフラットケーブルは傷つけないように注意しました。

分解と逆順で進めるだけなので簡単ですが、この基盤を直接固定するネジとフラットケーブルに気を付ければそれほど難しくはないでしょう。

使用したメモリ

新旧メモリ

上がPC2-5300「DDR2-667」

手前が取り外した1GBのメモリです。「PC2-6400S-666」と記載されています。

奥側が、あらたに装着したPC2-5300「DDR2-667」のメモリです。

メーカー仕様での搭載メモリはPC2-4200となっているので、今回用意したPC2-5300で問題はないでしょう。

2GBメモリ変更後の使用感

使用OSがLinuxだけあって、交換前1GBのときでもAtomマシンとしては快適に利用できていた(使用感に個人差あり)ので、2GBへの変更後でも特に際だった操作感の向上というのは実感できないのは正直なところです。

ただ、難易度が高くてもメモリ容量の拡張が可能であるならば、その部分への僅かな欲求や願望みたいなものがいつまでもつきまとうことになります。

求めやすいメモリ価格や、本体取得価格が安いPCということもあり分解を伴うメモリ交換にも躊躇させられることはありませんでした。

強いて言うならば、作業工程が多いだけに分解と組立にかかる時間を確保しなければならない点です。

出来れば、分解行程が記憶に残っているうちに本体を元通りに戻したいところです。
ということでPC分解に伴う時間と、万が一部品を破損させてしまったときのための覚悟と、そうならないための「PCへの知識と思いやり」があれば是非実施しておきたいカスタムと言えるでしょう。