自宅サーバを構築する
ApacheでもZopeでもTomcatでもIISでもANHTTPDでもPlayビルトインサーバでもいいからとにかく構築する。
ルータの設定
ルータごとに画面や名称などが違うので検索したり用語を覚えたりして考えること。ここが一番めんどくさいかもしれない。
- DHCP使用時、サーバのIPアドレスがころころ変わってはよくないので、サーバに割り当てるIPを固定にする。うちで今使っているルータの場合はMACアドレスを指定してIPを振れるのでそうしている。割り振られたいIPをサーバ側で固定に設定する方法もある。
- ルータでしかるべきポートを開放し、サーバにマッピングする。Webサーバのみなら80番だけ設定すればよい。ポートマッピングとかNAT/IPマスカレードとかいう名前で書いてあったりする。
ドメインを取得する
「ドメイン 取得」とかで検索すれば山ほど引っかかるので、それっぽいところに行ってドメインを取得。安いところだと50円とか100円とかがあるが、そういうのは一年目だけで二年目以降は数千円取られたりするので注意。それでも安いとは思うけど。
レジストラに登録するネームサーバの設定
※ 2013/5/10 ZoneEditのサイトが新しくなったのに合わせて修正。
- 「ZoneEdit」という無料のDNSサーバがあるので登録する。
- ログイン後、「Add New Zone」から取得したドメイン名を入力する。
-
ドメイン入力後、そのまま登録画面になる。後から修正する場合は「Manage Zones」から先ほど登録したドメインを選択する。「Zone Records」タブを選択し、情報を入力。
Subdomain https://xxx.nigauri.me/ ← ここのxxx部分を入力。
https://nigauri.me/ だけでいい場合は「@」を入力。Type 「A」(初期状態のまま) TTL 「7200」(初期状態のまま) IPv4 Address 現在のグローバルIPを設定 ※ ドメインを購入したサイト内で上記の設定を行える場合もある。
- 「http://nigauri.me/」アクセス時に「http://www.nigauri.me/」に飛ばすようにする。自宅サーバ側の設定(.htaccessなど)でもできるし、ZoneEdit の場合は設定画面から同様のことができる。
-
ZoneEdit で設定する場合は、「WebForward」タブをクリックして以下を設定。
New Domain @ Destination https://nigauri.me/ -
.htaccess で設定する場合。
123RewriteEngine onRewriteCond %{HTTP_HOST} ^nigauri.meRewriteRule (.*) https://nigauri.me/$1 [R=301,L]
-
ZoneEdit で設定する場合は、「WebForward」タブをクリックして以下を設定。
- 「Zone Records」タブのネームサーバ(ns*.zoneedit.com)を二つともメモしておく。
ネームサーバの登録
独自ドメインを購入したサイトに行き、ネームサーバを設定する欄に、ZoneEditでメモした上記ネームサーバ名を記入し、各種情報(住所とか書く欄がいろいろあると思うので)も記入して登録する。
DiCEのインストールと設定
ZoneEditの設定でドメイン名とグローバルIPを紐付けることでドメイン名入力時に正しく自宅サーバが表示されるわけだが、固定IPでない場合、たとえばルータの再起動などでプロバイダから割り振られるIPが変わってしまうなどすると、ドメイン名を入力しても古いIPにアクセスしようとしてしまい正しく表示されなくなってしまう。
そこで、DynamicDNSへの設定を自動で行ってくれるソフト「DiCE」を導入する。
- DiCEをダウンロードし、インストールする。
- DiCEを起動して設定を追加する。ホスト名(ドメイン名の前に来る「www」とかそういうやつ)、ドメイン名、ユーザ名、パスワードさえ記入すれば動く。詳しい説明は省略。
- 一度更新してみて成功するようならOK。OS再起動時のためにショートカットをスタートアップにでも入れておく。(無料版はサービスに登録できないそうなので)
独自ドメインではなく、DynamicDNSを使用する場合
この場合はほとんどのサービスで取得が無料、レジストラへの登録などが不要、などかなりの手順が省かれるためわかりやすい。
ルータの設定までの手順は同様。それ以降は
- 無料のDynamicDNSサービスへ登録し、ドメインを決める
- DiCEの設定を行う
だけでOK。お金もかからないし設定なども少なくハードルはとても低い。どうせただなのでためしてみよう。(サーバの電気代はかかるけど…)