自宅サーバ構築その2 機器構成:mopera UとAndroidスマートフォンのみ

自宅サーバ構築その2 機器構成:mopera UとAndroidスマートフォンのみ

自宅サーバ構築その2 機器構成:mopera UとAndroidスマートフォンのみ

以下の機器とソフトを使用しました。

回線:ドコモのSIM mopera Uの契約
※動的グローバルIPアドレスを使用するため。

 

※転送量制限が有ります。ドコモに質問したところ、WEB閲覧、メール
送受信以外にも全てのパケットの送受信が、「データ通信量」に含まれるとのこと。
まぁ当たり前やけど。
例えばスマホにWEBサーバを立てて、スマホから「ホームページ閲覧者に向けて
HTMLファイルや画像を送信した」、「ホームページ閲覧者からのスマホの
WEBサーバ宛に接続用パケットを受信した」、「インターネット側からスマホに
SSH接続した」等々、これら全て「データ通信量」に含まれます。

 

レンタルサーバの転送量は「ApacheなどのWEBサービスのみの送信量」等と
規定している点と混同しないようにしましょう。

 

ルータ:無し

 

WEBサーバ:スマートフォン「G2 L-01F」(Android 4.2.2)で
ソフトはKSWEB: server + PHP + MySQL

 

ドコモのSIMはXiでのデータ定額と追加でのmopera U(ISPセット割で月額350円)です。
mopera Uの追加はドコモへの電話(151)やMy docomoから可能です。

 

 

本ページの目次

 

 

 

AndroidでのWEBサーバソフト

AndroidでのWEBサーバソフトは以下のものが有りました。

DHCP、DLNA、DNS、DDNS、Email (POP3 / SMTP)、FTP、FTPS、MySQL、
NTP、PHP、Port Forwarder、Proxy、Rsync、SIP、SMB/CIFS、SSH、Syslog、
TFTP、Telnet、UPnP Port Mapper、VNC、VPN、Wake On Lan、Web、
WebDAV、XMPPなど約60種類のサーバ機能が有るとのことでした。

 

 

今回は「KSWEB: server + PHP + MySQL」を使用しました。
ダイナミックDNSのクライアントソフトも入っているのが良いですね。

 

 

KSWEBの起動とコンテンツの投入

KSWEB: server + PHP + MySQLをインストールし
起動します。試用版は5日間使用できるとの説明が有りました。
その後、「http://localhost:8080」を押しました。

 

 

 

WEBページが表示されました。WEBインターフェースのパスワードなどは
変更した方が良いですね。

 

 

 

「BUY KSWEB」を押すと「KSWEB Standard」と「KSWEB PRO」の
説明が表示されました。

 

 

 

「KSWEB」は352円とのことでした。

 

 

 

「KSWEB PRO」は470円とのことでした。

 

 

 

ES ファイルエクスプローラー(1.5 Cupcake)
ドキュメントルート(/sdcard/htdocs)を確認しました。
その後index.phpを削除しました。

 

 

 

PCでスマートフォンの最初のフォルダを開き「htdocsにコピーするファイル群」
フォルダを作成し、その中にホームページで使用するindex.htmlや
画像ファイルを全て入れました。
※「htdocs」フォルダそのものはPCのエクスプローラでは見えませんでした。

 

 

 

スマートフォンで「htdocsにコピーするファイル群」フォルダの中のファイル全てを
「htdocs」へコピーしました。

 

 

 

再度「http://localhost:8080」を閲覧すると、正しくホームページ
(/sdcard/htdocsの中のindex.html)が表示されました。

 

 

 

Android Terminal Emulator
「netstat」と入力すると0.0.0.0:8080で待ち受けていました。

 

 

 

tcp/80で待ち受けられるのか確認するためにコンフィグを変更しました。

 

 

 

「server.port = 80」へ変更しました。

 

 

 

「Your host settings for the server includes the port for which you need to
allow root rights. It may cause that the server will not start. If you want
to use the server without root then you need to change the port for this
host to > 1024」との警告が表示されました。

 

サーバのホスト設定は、ルート権限を許可する必要のあるポートを含みます。
これはサーバーが起動しない原因となります。
あなたがルート権限のないサーバを使用したい場合、このホストの1024以下の
ポートへ変更する必要があります。

 

ウェルノウンポート(0~1023)はルート権限が無いと不可とのことでした。

 

ルート化したAndroidスマートフォンではtcp/80で待ち受けることが出来ました。

今回は初期設定のtcp/8080のまま設定を進めます。

 

 

 

 

必要のないMySQLやPHPを停止しました。

 

 

KSWEBの中でNo-IPでのダイナミックDNS設定

 

No-IPでのダイナミックDNSを設定するため、以下の項目を設定します。
※事前にNo-IP側で設定をしておいて下さい。
設定方法は以下のページに記載しました。

 

 

 

ドメイン名は「hikaku-server.ddns.net」としています。

 

 

 

IPアドレスのアップデート(DNSサーバへの通知)が正しく行われました。

 

 

 

ダイナミックDNSが正しく設定されたか確認するためPing & DNSを使用しDNSで
設定したドメイン名「hikaku-server.ddns.net」のIPアドレスを調べました。

 

 

 

ダイナミックDNSでアップデートした通りに正しく49.*.*.*と表示されました。

 

 

アクセス確認

 

別の回線のWEBブラウザで「http://ダイナミックDNSで設定したドメイン名:8080」へ
アクセスするとWEBページが正しく表示されました。
また、他の回線からWEBページを見られるサービスも有ります。
aguse.jp: ウェブ調査

 

 

 

 

別の回線のWEBブラウザで「http://ダイナミックDNSで設定したドメイン名:8080」が
表示できない場合はまずはWEBサーバを起動しているスマートフォンから確認くん
アクセスして自分のIPアドレスを確認します。

 

 

 

次にCMANのポートチェックで、先ほど確認くんで
表示されたIPアドレスを入力しポートチェックを行います。
今回は、Port番号は「8080」です。

 

 

また、CMANでのPingやHTTPステータスチェックも有益です。

 

それらが問題無いのにPCで「http://ダイナミックDNSで設定したドメイン名:8080」が
見られない場合はDNSの問題の可能性が高いため、CMANのDNSチェックや
PCからのnslookupで確認してみて下さい。DNSとIPアドレスの紐付けが出来ていない、
または紐付けが外れた場合が有ります。

 

 

また、接続確認のためのAndroidでのパケットキャプチャはtPacketCapture
というソフトが有ります。
※インターネット側から大量のWEBアクセスがある場合にキャプチャ
しているとスマートフォン全体の負荷が上がるため注意が必要です。

 

さらに、この状態からダイナミックDNSのドメインでは無く
独自ドメインでアクセスさせたい場合は独自ドメインのDNSサーバの
CNAMEレコードを作成しダイナミックDNSのドメインを記載します。
通常はこのような1段、間をかます必要は無く、動的グローバルIPアドレスと
独自ドメインを直接結びつける形になるかと思います。

 

 

セキュリティ対策について

 

また、サーバを安全に運用するためのセキュリティについては少し以下のページにて
説明しています。セキュリティ対策は必ず行うようにして下さい。