(将棋ソシャゲ)環境構築 ネットワーク
おはようございます。将棋ソシャゲ開発運営室です。
「将棋とソシャゲを融合したゲーム」を作るため、先日から環境構築をしていますが、今回はネットワーク周りの設定を行いました。
当面の間、自宅をサーバにして、自分のPCが起動している間だけ使えるようにするという方針で行きます。
よく「.htaccess を設定したけど、効かない!」というトラブルに見舞われる方がいると思いますが、そんな方にも役に立つ情報になっているのではないかと思います。
(参考記事)
robot.txt の作成
Google 等の検索エンジンに作りかけのゲームがヒットしてしまうと嫌なので、封じておきましょう。robot.txt というファイルを作成し、検索エンジンからの情報収集を禁止する旨を書いておけば、Google にヒットしなくなります。
また、こうしておくことで、いわゆる魚拓を取られなくなります。
ただ、検索エンジンや魚拓サイトによっては、robot.txt を無視するところもあるようです。
次のような robot.txt ファイルを作成し、htdocs(ドキュメントルート)直下に置きましょう。
User-agent: *
Disallow: /
これで、検索エンジンや魚拓を回避できます。
.htaccess の設定
私は htdocs(Apache のドキュメントルート)の下に、今回開発するゲームのプログラムの他に、phpMyAdmin や、その他のサンプルコードを配置しています。
これらが、自宅のPC以外のアクセス元からは見れないようにしておかないと危険です。
そこで、これらが配置されているディレクトリに .htaccess というアクセス制御を記述するためのファイルを作るやり方があるのですが、嵌ってしまいました。
結論から言うと、.htaccess を配置しただけでは動きません。
.htaccess を使用したアクセス制御は lolipop のような有名なレンタルサーバでも用いられている方法ですが、Apache の初期設定では動作しません。
まず、Apache の httpd.conf を次の通り設定します。
次の部分を、
#LoadModule access_compat_module modules/mod_access_compat.so
次のように変更し、コメントアウトを解除してください。
LoadModule access_compat_module modules/mod_access_compat.so
次の部分の、
<Directory "${SRVROOT}/htdocs">
#<省略>
Options Indexes FollowSymLinks
#<省略>
AllowOverride Noe
#<省略>
</Directory>
「AllowOverride Noe」となっているところを、「AllowOverride All」に変更してください。
ここで注意点があります。
<Directory />
AllowOverride none
Require all denied
</Directory>
となっている部分がありますが、ここの「AllowOverride none」は変更しないでください。ここを変更しても、正しく動作しません。間違いやすいので注意しましょう。
以上の設定をしたら Apache を再起動しましょう。
次に、.htaccess ファイルを作りましょう。
外部からアクセスされたくないディレクトリに、.htaccess ファイルを作成し、次の内容にしましょう。
order deny,allow
deny from all
allow from 127.0.0.1
これで、そのディレクトリに自宅のPCからしかアクセスできないようになります。
ネットワーク機器の設定
ネットワーク機器(ルータ)を設定し、次の設定を行います。
自宅のPCのローカルIPを固定する。
ポートフォワードを設定し、外部からの80番ポートへのアクセスが、自宅のPCに来るようにする。
ネットワーク機器によってはこの辺の設定ができない場合があります。やり方は、ネットワーク機器によって異なるので、各自マニュアルを見る等して調べてください。
DDNS の設定
このままでは、外部からアクセスするとき、URL にIPアドレスを直接入力しなければならなくなってしまいます。
これでは、IPアドレスが変わったときに困るため DDNS 設定を行います。
以前、このようなサービスとして ieServer が存在していたのですが、現在は閉鎖されています。代替となるサービスとして DDSN Now が存在するので、そちらを使っていきましょう。
使用方法等は、DDNS Now の公式サイトに詳しく書かれており、この通りに進めれば詰まることはないため、ここでは解説しません。
また、自宅のIPアドレスが変わった場合に備えて、DiCE というツールを導入しておくと便利です。このツールの使い方も、DDNS Now の公式サイトに詳しく書かれているため、ここでは解説しません。
最後に
今回の記事は以上です。次回は、実際のプログラミングに入ります。