ウェブサイトを外部に公開
まずはApacheを外部に公開するための最小限の設定から行っていこう。最初からあれもこれもと欲張りすぎると、うまく動かなくなったとき、どこに問題があるのか突き止めるのが難しくなる。Apacheの設定ファイルである「httpd.conf」は1000行以上もある長いものなので、少しずつ確認しながら変更を加えていった方がいい。
httpd.confを編集
Apacheの設定ファイルは「/etc/httpd/conf/httpd.conf」なので、これをviで開く。設定が必要なのは次の項目だ。388行目あたりにある。
なお、ServerNameは行頭の「#」でコメントアウトされているので、「#」を消すのを忘れないように。
ServerAdmin ××@mydomain.com ウェブ管理者のメールアドレスを入力する ServerName www.mydomain.com サーバーの名前を指定する
編集が終わったらウェブサーバーを再起動する。次のコマンドを実行すればいい。
# /etc/rc.d/init.d/httpd restart
ルーターのポートを開く
外部からLANの中のウェブサーバーにアクセスしてもらうには、ルーターのポートを開いておく必要がある。ウェブサーバーで開くのはTCPの80番だ。この設定が終わっていないなら、こちらのページを参考にして設定をしてほしい。

アクセスできるか確認する
公開したはずのウェブサイトが外から見られるか確認してみよう。残念ながらLANの中のパソコンでブラウザに自分のグローバルIPやドメイン名を打ち込んでもページは表示されない。これはルーターの仕様だから仕方ない。簡単な方法はプロバイダにダイヤルアップ接続して確認することだ。しかし、ちょっとした動作確認のためだけにダイヤルアップ接続するのも面倒なもの。
まずはこちらのページで紹介しているようにルーターのポートが開いているかを確認する。「Sygate Online Service」にアクセスして、「Scan Now」をクリック。「Web Server Found」と表示され、ポートが開いていればまず問題はない。
さらに念を入れて確認するにはAnonymizerを使う。Anonymizerというのは個人情報がもれないように外部のサーバーを経由して、ウェブサイトを見に行くというサービスだ。こちらのページにアクセスして、右上の「Free Private Surfing」という入力ボックスに自分のウェブサイトのURLを打ち込む。これで自分のウェブサイトが表示されれば成功だ。
ウェブページが見られないときは
外部からウェブページが見られないときは「ルーターのポートが開いていない」「httpdが起動していない」のどちらか。
自分の場合、ルーターの設定の方法は正しかったのだが、そこに設定したサーバーのプライベートIPを間違えていた。サーバーのプライベートIPが「192.168.0.151」なのに「192.168.0.150」と指定していた。これでは外から見えるはずがない。
また、httpdが落ちていることもしばしばある。設定変更をしたあとに「/etc/rc.d/init.d/httpd
restart」とするのだが、設定に間違いがあると再起動に失敗する。画面のメッセージをよく見ていると失敗したことが分かるのだが、慣れてくるとメッセージをよく見なくなるので落ちていることに気付かない。
httpdが動いているか確かめるには2つの方法がある。1つは起動スクリプトを使うもの、、もう1つはpsコマンドを使うものだ。
# /etc/rc.d/init.d/httpd status httpd (pid 4011 4010 4009 4008 4007 4006 4005 4004 691) を実行中... # ps -C httpd PID TTY TIME CMD 691 ? 00:00:00 httpd 4004 ? 00:00:00 httpd 4005 ? 00:00:00 httpd 4006 ? 00:00:00 httpd 4007 ? 00:00:00 httpd 4008 ? 00:00:00 httpd 4009 ? 00:00:00 httpd 4010 ? 00:00:00 httpd 4011 ? 00:00:00 httpd #