手順を追えば簡単だったのにかれこれ3週間もハマってしまったので、メモ。
設定内容
- サーバー側の設定
- ファイアウォールの設定を変更し、80番ポートを許可する
- apacheの設定を変更しServerNameにドメイン名を割り当てる
CentOSの場合、セットアップ時にファイアウォール設定を有効にでき、iptablesを直接操作せずに開放ポートの管理ができます。(さっき気がつきました)
GUIをいれていれば、設定メニューから操作可能。
※今回は根本のここの設定を忘れていてずっと弾かれていました・・・CentOSの場合
# vi /etc/httpd/conf/httpd.conf
でapache設定を変更できます。250行目付近にある設定
#ServerName www.example.com:80
のコメントを外し、
ServerName [自分のドメイン]:80
とします。今後、サービスを公開するまでには、httpd.confをもうちょっとカスタマイズしないといけない。
- ルーターの設定
- 外部からの80番ポートのアクセスを許可する
- 80番ポートにアクセスされたときの行き先をサーバーのIPアドレスにする
[パケットフィルタの設定]を変更し、「TCP」「ポート80番」「双方向」のパケットの通過を許可します。
自宅にあるマシンは1台ではないので、外から80番ポートにアクセスが来た場合、どのマシンに割り振るかを設定する必要があります。
前提として、自宅サーバーのLAN内IPアドレスは固定にしておきます。(192.168.X.X)
自宅のルーターの場合[静的IPマスカレード設定]で「TCP」の「80番ポート」へのアクセスは「192.168.X.X」の「80ポート」に送るように設定。
確認方法
予め、httpd.confのデフォルト設定のDocumentRoot [“/var/www/html”] に
適当なindex.htmlファイルを作っておいておきます。
- 自宅から
- 出先から
[サーバーのIPアドレス]/index.html
[サーバーのドメイン]/index.html
どちらもアクセス出来ればOKです。
これを表示させるまでに…3週間…
自宅内からもドメイン名でアクセスする方法
自宅マシンも、サーバーも、ルータから見たときはLAN(内部)にあるマシンです。
基本、一旦LANから外に出た後、同じLAN内にパケットを戻すことはできないので
外へアクセスする方法(ドメイン)でLAN内にアクセスする事はできません。
ドメイン名でアクセスするためには、アクセスする側のマシンのhostsを書き換える必要があります。
- Windows XPの場合
- Linuxの場合
C:\WINDOWS\system32\drivers\etc\hosts
/etc/hosts
に設定ファイル(hosts)があるので、以下の設定を追加します。
192.168.X.X [ドメイン名]
これで、自分のマシンが外へアクセスしに行く前にLAN内へ問い合せてくれます。
やっと、第一関門のネットワーク設定が出来上がりました。
いよいよ中身に入れます。
歩みはとろいですが、少しずつ、少しずつ。