ローカル環境windows7にWebサーバーを立てようと思っています。
その際、hostsファイルやapacheのconfファイルを設定しますが、ここに何を設定すべきなのかよくわかってません。
例えば、
ServerNameとhostsは一致させるのか?
ServerNameとDocumentRootはhttpd.conf、httpd-ssl.conf、httpd-vhosts.confに設定項目があるが、全て一致させるのか?
VirtualHostのipアドレスは127.0.0.1以外を使うべきなのか?
などです。
現状はとりあえずWebサーバーとして動いているようですが、今後不具合が出ないよう知っておきたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
hosts
ファイルはそのマシンから接続するときの名前解決に使うファイルです。通常はDNSを使ってホスト名からIPアドレスに変換して接続しますが、hosts
ファイルに定義されていればhosts
ファイルに書いている内容が優先されます。例えば
127.0.0.1 www.yahoo.co.jp
とhostsに書くとブラウザでwww.yahoo.co.jpを開いた時、ローカルのApacheの画面が開きます。
Apacheの方のServerNameは、そのサーバーのホスト名かIPアドレスを定義します。
Apacheの処理でホスト名が必要になった時、ServerNameに書いてある設定を利用します。
詳しくは下記サイトを見てみてください。
投稿2015/08/20 04:13

退会済みユーザー
総合スコア0
0
ServerNameディレクティブはApacheサーバが自分自身のホスト名を示す時に使われる名前を指定します。例えばApacheがエラー表示をする場合に、自分自身を表すホスト名も合わせて表示する時などにここで設定したホスト名が使われます。
通常はIPアドレスに対して割り当てられているホスト名になりますが、別名などを割り当てていてそちらを正式なホスト名としたい場合に使います。「ServerName」が指定されていない場合はApacheに割り当てられているIPアドレスを逆引きしてホスト名を取得します。
書式は次の通りです。
ServerName ホスト名[:ポート番号]
「ServerName」の指定は「ホスト名:ポート番号」の形式で指定します。
それでは「httpd.conf」ファイルで「ServerName」を検索してみてください。160行目付近に次の記述が見つかります。
ServerName gives the name and port that the server uses to identify itself.
This can often be determined automatically, but we recommend you specify
it explicitly to prevent problems during startup.
If your host doesn't have a registered DNS name, enter its IP address here.
#ServerName localhost:80
※デフォルトでは先頭に「#」が付いているためコメントとなっていました。以前はそうではなかったのですが取り合えずそのままにしてあります。
今回はApacheをローカル環境で動かしているので上記のようになっていますが、外部に公開されるWebサーバの場合は例えば「www.example.com」などのように指定することになるかと思います。
ServerName www.example.com:80
ポート番号は省略可能ですが、省略された場合はリクエストのポート番号を使われます。ポート番号も指定しておくことが推奨されています。
リクエストを受け付けるポート番号
ListenディレクティブはApacheが外部からリクエストを受け付けるポート番号を指定します。書式は次の通りです。
Listen [IPアドレス:]ポート番号 [プロトコル]
それでは「httpd.conf」ファイルで「Listen」で検索してみてください。40行目付近に次の記述が見つかります。
Listen: Allows you to bind Apache to specific IP addresses and/or
ports, instead of the default. See also the <VirtualHost>
directive.
Change this to Listen on specific IP addresses as shown below to
prevent Apache from glomming onto all bound IP addresses.
#Listen 12.34.56.78:80
Listen 80
リクエストを受け付けるポート番号として80番が指定されていることが確認できます。
受け付けることができるポート番号は1つだけではありません。複数のポート番号を受け付ける場合はListenディレクティブを複数記述して下さい。下記の場合は「80」番ポートと、「8080」番ポートでのリクエストを受け付けるようになります。
Listen 80
Listen 8080
ポート番号だけを指定した場合には、全てのインターフェースから指定したポート番号のリクエストを受け付けます。Apacheが稼動しているサーバに複数のインターフェースが接続されていて特定のインターフェースからのみリクエストを受け付けたいのであれば、そのインターフェースのIPアドレスを指定して下さい。
Listen 192.168.128.1:80
プロトコルに関してはポート番号443番を使う場合にはhttpsが、それ以外のポート番号の場合はhttpがデフォルトで設定されます。もし443番以外のポート番号を受け付ける場合でhttpsを使用した場合などに指定して下さい。
参考になれば幸いです
投稿2015/08/20 04:04
総合スコア69
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/10 21:29