LS-WSXLのWebサーバーを使ってみる

普段、ただ単にファイルを置くために使っているNAS。
それに、Webサーバー機能が付いてて、PHPも使える、
さらにMySQLサーバー機能も付いてることを知ったので、
使ってみます。

自宅で使っているNASはこれです。

バッファロー LS-WSX1.0L
ファームウェア Ver. 1.73

BUFFALO リンクステーション mini 手のひらサイズのネットワークHDD(NAS) 省電力 データを守るRAID1搭載 1TB LS-WSX1.0L/R1J

新品価格
¥28,800から
(2017/10/15 18:18時点)

○Webサーバーの設定

設定画面を開いて、
「ネットワーク」タブ、「Webサーバー」タブを開き、
「設定変更」を押す。

「使用する」にチェック入れて、
ポートはとりあえずデフォルトの「81」でいいや。
公開フォルダを”share/www”に設定します。
(share以下にwwwフォルダをあらかじめ作っておく。)

そうすると、wwwフォルダ以下に、
勝手にhtdocs/index.phpが作られてましたw
(ちなみに中身は、phpinfo()関数が書かれている。)

さっそく、試しにアクセスしてみる。

ブラウザのURL欄に、”[NASのIP]:81″を打ち込み。[Enter]

おぉ、phpinfo出てきた。
バージョン5.2.10ね。

じゃあ、これでWebサーバ有効になって、
既にPHPも使えるようになったってことだね。
めっちゃ楽じゃんw

○MySQLサーバーの設定

続いて、DBサーバ。

設定画面「ネットワーク」-「MySQLサーバー」タブ
→「設定変更」

で、設定保存。(share/DBはあらかじめ作って置いた)

すると、同じように、
DBフォルダ以下にいろいろファイルとかできてる。

で、設定画面上で「phpMyAdminを開く」押すと、
phpMyadminでDBをいじれるみたい。
(ブラウザ上でDBをいじれるフリーソフト)

phpMyadmin:https://www.phpmyadmin.net/

○MySQLに外部ホストから接続

これがやってみたい。
参考:MySQLに外部ホストから接続できるように設定する

とりあえず、phpMyadminのページで、
DB:testを作る

SQLタブのページで以下を実行。

grant all privileges on test.* to user1@"192.168.11.%"
identified by 'password' with grant option;

で、WindowsPC。
コマンドプロンプトから、

mysql -h 192.168.11.4 -u user1 -p
Enter password:(パスワードを打ち込む)

ログインできた。

○外部ホストのphpプログラムからMySQLに接続

で、Windows側のApacheから、
NASのDBにアクセス。

参考:
https://www.phpbook.jp/tutorial/mysql/index2.html
https://www.dbonline.jp/phpmyadmin/

まず、DBの準備。
phpMyAdmin使って、
・データベース”phptest”の作成
・テーブル”hanbai”、”shouhin”の作成
・テーブルに要素を挿入
・ユーザー”phpuser”作成(グローバル権限全部付与)

で、WindowsPC側、
WindowsでphpとMySQLの連携で作った、
phpプログラムのコンストラクタのとこ、
‘localhost’→’192.168.11.4’

で、ページ開く。
→OK

○ついで

次に、このphpのプログラムを、
NASのhtdocs/php/mysql以下ににコピーして
開けるかどうか試してみる。

ブラウザで、192.168.11.4:81/php/mysql/main.php
→エラー

ソースを表示すると、
“Class ‘mysqli’ not found”
だって。

mysqliが入っていないっぽい。
入ってないというか、有効になってないのかな?

過去の経験を元に、mysqliを有効に。
WindowsでphpとMySQLの連携

設定画面、[ネットワーク]-[Webサーバ]の画面から、
php.ini内の、”extension=php_mysqli.dll”
の行のコメントアウト外す。→保存

で、もう一回ブラウザで、
192.168.11.4:81/php/mysql/main.php
→このサイトにアクセスできません

phpMyadminのページも開かないので、
多分、81番ポートが動作してないんだな。

再起動してもう一回。
→500 Internal Server Error

なんだろ?
php_mysqli.dllが入ってないとかかな?

ちょっと、extension_dirへの行き方とかもわからないし、
ログとかも見れないので、お手上げだなぁ・・・

とりあえず、php.iniをデフォルトに戻して、
一旦、この件はあきらめます。

API:mysqlだと使えるのかな?
→余裕があればやってみる

コメントを残す

メールアドレスが公開されることはありません。