独自ドメインの取得は、「お名前.com」などのレジストラと呼ばれる業者を通して行うのが通常です。
この独自ドメインを取得する事によって、初めて「www.linuxmania.jp」のようなURLで、自分のサーバ機からインターネット上に自分のホームページを公開できるようになります。
世界中のインターネット・サーバ機には、それぞれ固有のグローバルIP(「210.99.99.99」のような番号)のように最大12個の数字で作られたIPアドレスが1台毎に割り当てられています。日本国内でこのグローバルIPを取得する為には、OCNのようなプロバイダからグローバルIP割り当てのサービスを受けなくてはいけません。
取得した独自ドメインとグローバルIPと紐付ける必要があります。JPNICなどに登録する事によって、インターネット上で自分のサーバ機が初めて認識されるようになる訳です。世界中にある上位DNSサーバが、ドメインとグローバルIPとの関連付けを解決しています。
つまり、ブラウザのアドレス・バーに「www.linuxmania.jp」と打てば、それが割り当てられているグローバルIPに変換されて、サーバ機に接続されるようになる訳です。
グローバルIPとは、インターネットに接続された機器に一意に割り当てられたIPアドレスです。インターネットの中での住所にあたり、インターネット上で通信を行なうためには必ず必要なものです。インターネット上に存在するコンピュータには、「210.239.9.82」のように、最大12個の数字で作られたIPアドレスが1台毎に割り当てられています。
ドメインとは、機械的に割り当てられた数字で成り立つIPアドレスを、分かりやすい文字列に置き換えたものです。
IPアドレスは覚えにくく、またそのコンピュータ特有の意味を持たせることができないので、意味を持たせることのできる文字列で作られたドメインが考え出されました。ドメインは、IPアドレスと1:1の関係にあり、この関係が現在のインターネットを支えていますこのようにドメインは登録者が登録時に意味を持たせることができますので、ご自身の名前や会社名、商品名などを使えばよりインターネット上で判別しやすくなります。
DNSとは、ドメインとグローバルIPを紐付けるための電話帳のようなシステムです。ドメイン名からグローバルIPを調べることを正引き、グローバルIPからドメイン名を調べることを逆引きといいます。逆引きの登録は必ずしも必要ではありません。
Apacheは無償で公開され、最も人気の高いWebサーバソフトウェアの一つです。
夏目坂モデル (Fedora 8) では、デフォルトでApacheがインストールされていますので、この項は読み飛ばしていただいても構いません。
[アプリケーション] > [ソフトウェアの追加/削除] を起動し、[サーバー] > [Web サーバー] にチェックが入っていることを確認します。オプションパッケージは、デフォルトではインストールされていませんが、今回は特に必要ないためインストールしません。
Apacheを起動してみます。
[システム] > [管理] > [サービス] を起動し、[httpd] を選択して、[開始] をクリックします。
起動に成功した場合には、「httpd start successful」とダイアログが表示されます。
Webサーバが起動したかどうかを確認してみます。
ブラウザを起動し、http://localhost にアクセスしてみてください。
Webサーバが起動していれば、「Fedora Test Page」というページが表示されます。
簡単なindex.htmlを表示させてみます。
テキストエディタで以下のようなテストページを作成し、/var/www/html に index.html として保存します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>Hello</title> </head> <body> <h1>My Test Page</h1> </body> </html>
ブラウザから http://localhost にもう一度アクセスすると、今作成したページに切り替わります。
Apacheの設定は、/etc/httpd/conf/httpd.conf に記述されています。
先ほどテストで使用した /var/www/html ディレクトリは、この設定ファイルで DocumentRoot に指定されています。DocumentRoot(ドキュメントルート)とは、Webサーバで公開したいドキュメントの一番上(ルート)となるディレクトリのことです。例えば、DocumentRoot を "/home/ユーザ/public_html" などと指定すれば、わざわざrootユーザで作業しなくとも、ユーザのホームディレクトリでページの更新作業をすることができます。
このほか、各種設定をこのファイルから行うことができます。設定に関する詳細は、Apacheのドキュメント(外部リンク) をご覧下さい。また、設定変更前には設定ファイルのバックアップをおすすめします。
Apacheのサービス起動をオンにします。
この項でのテストで問題なかったので、この設定でマシン起動時に毎回Apacheを起動するようにします。
[サービスの設定] で、[httpd] をチェックし、[保存] をクリックします。
Webサーバとして公開されるためには、サーバのIPアドレスを固定する必要があります。
ただ、上の項で取得したグローバルIPをそのままサーバに指定するのはセキュリティ上あまり良くありません。
ここでは、サーバのローカルIPアドレスを固定します。グローバルIPアドレスとローカルIPアドレスの紐づけは後の項で紹介します。
[システム] > [管理] > [ネットワーク] を起動します。
[ネットワーク設定] で「eth0」というデバイスを編集します。
アドレス: 192.168.0.250 ←今回使用することにした固定IPアドレス サブネットマスク: 255.255.255.0 ←サブネットマスク※ デフォルトゲートウェイアドレス: 192.168.0.1 ←デフォルトゲートウェイのIPアドレス※
今回は、固定するローカルIPアドレスとして 192.168.0.250 を使用することにしましたが、実際に使用するアドレスと、ネットワーク設定の情報は、ローカルのネットワーク管理者に問い合わせてください。
DHCPなどで自動的にIPアドレスを取得する設定になっていた場合など、デフォルトゲートウェイやサブネットマスクの情報が分からない場合、端末を起動して以下のコマンドを実行すると、現在のネットワーク設定の情報を知ることができます。
ifconfigコマンドでネットワークインターフェースの設定を表示します。引数でインターフェース名 eth0 を指定します。
inet が現在のローカルIPアドレスで、Bcast がブロードキャストアドレス、Mask がサブネットマスクです。
# ifconfig eth0 ←eth0ネットワークインターフェースを表示 eth0 Link encap:Ethernet HWaddr 00:1C:C0:12:5A:85 inet addr:192.168.0.33 Bcast:192.168.0.255 Mask:255.255.255.0 ←ローカルIPアドレスとネットマスク inet6 addr: fe80::21c:c0ff:fe12:5a85/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10130 errors:0 dropped:0 overruns:0 frame:0 TX packets:1903 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:4324505 (4.1 MiB) TX bytes:157412 (153.7 KiB) Memory:50380000-503a0000
routeコマンドでルーティングテーブルを表示します。 -n はアドレスを数値で表示するオプションです。
Destination と Genmask がともに 0.0.0.0 の行の Gateway がデフォルトゲートウェイのIPアドレスです。
# route -n ←ルーティングテーブルを表示 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 ←デフォルトゲートウェイ
設定が完了したら、[ネットワーク設定] で「eth0」を選択したまま、[停止]、[起動] して再起動します。
[システム] > [管理] > [ファイヤーウォール] を起動します。
信頼したサービスで、 WWW (HTTPS) をチェックし、適用します。
通常のインターネット環境では、ルーターという機器にグローバルIPアドレスが割り当てられ、ルーターはインターネットとローカルエリアネットの橋渡し役となります。そこで、外部からhttpアクセスがあった場合にはWebサーバーマシンに転送する設定をしておく必要があります。
ここでは、YAMAHA NetVolante RT58i ルーターへの設定を例にとりあげます。この他のルーターをお使いの場合にも設定内容は同じです。設定方法は取扱説明書のポートフォワーディング、NAT、NAPT、IPマスカレードなどの項をご覧ください。
YAMAHA NetVolante RT58i ルーターへの設定はブラウザからアクセスして行います。
ルーターのローカルIPアドレスは、前の手順で設定したデフォルトゲートウェイアドレスです。
http://192.168.0.1
[トップ] > [詳細設定と情報] > [基本接続の詳細な設定] > [プロバイダの修正(PP[01])] ページで、[静的IPマスカレード関連] の項目に [追加] します。
プロトコル: TCP ←httpはTCPプロトコルを使用します。 ポート: 80 ←httpは80番ポートを使用します。 使用ホストIPアドレス: 192.168.0.250 ←WebサーバーマシンのローカルIPアドレスを指定します。
RT58i ルーターでは、ポートフォワーディング設定を行うと、自動でファイアウォールを通過させるように設定されます。
これは、[トップ] > [詳細設定と情報] > [ファイアウォールの設定] > [IPv4 ファイアウォールの設定[PP01]] ページで、[IPv4 静的IPフィルタの一覧] の項目から確認できます。
*:* から 192.168.0.250:80 へのパケットを通過させる設定になっていること
ポートフォワーディング、NAT、NAPT、IPマスカレードなどの詳細な解説などは、ウィキペディア:ネットワークアドレス変換(外部リンク) などをご参考になさってください。
以上で、何も問題がなければ、あなたのWebページはインターネットに公開されたはずです。
外部のネットワークからアクセスして確認してみましょう。
・localhost から閲覧出来ない。 | → Apacheは起動していますか? |
---|---|
・ローカルエリア内の別のマシンから閲覧出来ない。 | → マシンのファイアウォールは通過していますか? |
・外部からグローバルIPアドレスで閲覧出来ない。 |
→ マシンは固定IPアドレスですか? → ポートフォワーディング設定は問題ないですか? → ルータのファイアウォールは通過していますか? |
・外部からドメイン名で閲覧出来ない。 | → DNS登録は完了していますか? |