• 締切済み

ApacheのServerName

Apache(実際にはIBM HTTP Server)2.0.47をインストールしました。 httpd.confファイル内にServerNameディレクティブが2つ存在しています。 1つ目はhttpd.confファイルの1行目です。コメントアウトされていません。2つ目はメインサーバーのセクションにあります。コメントアウトされています。 2つある理由は何でしょうか?またどのように使い分ければ良いのでしょうか? 基本的な質問かもしれませんがご存知でしたら教えてください。

みんなの回答

  • cosmos-kt
  • ベストアンサー率29% (43/147)
回答No.1

ご参考までに、以下の技術資料を読まれますことを。 http://www-06.ibm.com/jp/software/websphere/developer/http/pdf/ihs_2_1.pdf なお、2つのServerNameがあるのは、複数のサーバーポートをサポートするためです。上記資料の、11から19ページを参考になされますことを。

jackies996
質問者

補足

早速の情報ありがとうございました。 VirtualHostの環境ではおっしゃる通り複数のServerNameが必要なのは理解できます。 ただし、インストール直後のhttpd.confでVirtualHostは記述していない状態です。その状態で2つのServerNameディレクティブが存在しているのがわからなかったのです。

関連するQ&A

  • apache でバイナリのCGIを動かすには

    apache でバイナリのCGIを動かすにはどうすればよいのでしょうか? (なお、プログラム自体に問題は決してありません。『HTTPD』を使うと問題なく動作します) OS:WIN98 C++バイナリのCGIを呼び出すと下記エラーとなります。 Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please .... the error. More ... log. - Apache/1.3.12 Server at http://127.0.0.2/ Port 80 最終アクセスログ 127.0.0.1 - - [12/Mar/2001:23:20:27 +0900] "GET /ab.cgi HTTP/1.1" 500 610 最終エラーログ [Mon Mar 12 23:20:25 2001] [error] [client 127.0.0.1] Premature end of script headers: e:/www.homepage/kokucho81/ab.cgi apache の httpd.conf と httpd.conf.default との比較 ** httpd.conf ServerName http://127.0.0.2/ ** httpd.conf.default #ServerName new.host.name ** httpd.conf DocumentRoot "E:/WWW.HOMEPAGE/KOKUCHO81" ** httpd.conf.default DocumentRoot "C:/Apache/htdocs" ** httpd.conf <Directory /> Options FollowSymLinks ExecCGI AllowOverride None ** httpd.conf.default <Directory /> Options FollowSymLinks AllowOverride None ** httpd.conf <Directory "E:/WWW.HOMEPAGE/KOKUCHO81"> ** httpd.conf.default <Directory "C:/Apache/htdocs"> ** httpd.conf Options Indexes FollowSymLinks ExecCGI ** httpd.conf.default Options Indexes FollowSymLinks MultiViews ** httpd.conf AddHandler cgi-script .cgi ** httpd.conf.default #AddHandler cgi-script .cgi そもそも、設定が足りてないんでしょうか? apacheを良く使う方、よろしくお願いします。m(_ _)m

  • apache2のモジュール

    apache2のソースを入手してインストールして実行しましたが、 /usr/local/apache2/modules の中身はhttpd.expしかありません。 なのでhttpc.confのLoadModule~というのを20行ぐらいコメントアウトしました。 これは普通じゃない状態だと思います。 apache2の./configureの引数がよくなかったのでしょうか?

  • ApacheでのVirtual Hostの設定

    RedHatLinux9.0/Apache2.0 動的IPのADSLでhn.orgのDDNSを使い、サーバを立てました。 ドメインを持っているため、それを割り当てようと/etc/httpd/conf/httpd.confでVirtual Hostの設定をしたのですが、外部からドメインで接続しても指定したディレクトリを読みに行ってくれず、ディフォルトの/var/www/htmlのディレクトリが表示されていまいます。 DNS(bind?)をこちらで動かしてないのですが、それが原因なのでしょうか? httpd.confはこのようにしています。 # # Use name-based virtual hosting. # NameVirtualHost 127.0.0.1 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # <VirtualHost 127.0.0.1> ServerAdmin admin@自分のドメイン.biz DocumentRoot /home/ff/www/ ServerName www.自分のドメイン.biz ServerAlias 自分のドメイン.biz ErrorLog logs/ff/error_log CustomLog logs/ff/access_log common </VirtualHost> また、NameVirtualHost 127.0.0.1と<VirtualHost 127.0.0.1>を、NameVirtualHost *と<VirtualHost *>に変えるとすべてのアクセスがForbiddenになってしまいます。 ログをみたところ、どういうわけかIE6.0なのにHTTP/1.0で繋がっているみたいなのですが、やはりそれなのでしょうか・・・? すみません。アドバイスよろしくお願いいたします。m(_ _)m

  • apache2.2が起動できません

    apacheをインストールして起動させようとしたところcmdで httpd.exe.Could not relibly determine the server's fully qualified domain name,using 192.168.1.3 for servername というメッセージが出たので,そのメッセージを調べてedit httpd.confのServerName localhost:8080とあったのをServerName 192.168.0.1:8080という風に書き換えて,上書き保存しました. しかし,localhostに繋いで見ても前と変わらず,ページが見つからないと出ます. 一応ポート番号などの重複も調べて見ましたが,特に問題はありませんでした. 一体何が問題なのでしょうか ちなみにOSはwindows7 premiumでapacheのインストール場所はCドライブの直下にapache2.2を作りました

  • Apacheサービスが起動しない

    Apahceサービスが起動しません。 OSはWindows2000Server、Apacheモジュールは2.0.43-win32-x86-no_ssl.msiを使っています。 Start-Program-Apache HTTP Server 2.0.43-Control Apache Server-Startを押しても何も起こりません。 コマンドプロンプトから C:\Program Files\Apache Group\Apache2\bin>Apache.exe -k start と押すと 「error(720002) 指定されたファイルが見つかりません。:No installed service named "Apache2"」 と表示されます。したがって、URLに127.0.0.1やlocalhostを入力しても画面は何も表示されません。 httpd.confの設定が悪いと思いますが最低限サービスを立ち上げるにはどの項目を編集すればよいですか? ちなみにServerNameにコンピュータ名であるesmにしました。。 ご存知の方教えてください。よろしくお願いします。

  • apache2+mod_ssl-apache2+OpenSSL

    apache2+mod_ssl-apache2+OpenSSLで、 /etc/apache2/conf/httpd.confに <IfModule mod_ssl.c> /ect/apache2/conf.d/ssl.conf </IfModule> を追記、 /ect/apache2/conf.d/ssl.confは <VirtualHost 192.168.1.21:443>などを環境に合った設定にしました。 そしてapache2を再起動したのですが、以下のようになりました。 [root@localhost root]# /etc/init.d/apache2 restart httpdを停止中: [失敗] httpdを起動中: [Wed Sep 07 20:39:37 2005] [warn] module ssl_module is already loaded, skipping [Wed Sep 07 20:39:37 2005] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.1.21 (check DNS) -- or specify an explicit ServerName [Wed Sep 07 20:39:37 2005] [warn] VirtualHost 192.168.1.21:443 overlaps with VirtualHost 192.168.1.21:443, the first has precedence, perhaps you need a NameVirtualHost directive [Wed Sep 07 20:39:37 2005] [error] (EAI 2)Name or service not known: Failed to resolve server name for 192.168.1.21 (check DNS) -- or specify an explicit ServerName (98)Address already in use: make_sock: could not bind to address 0.0.0.0:443 no listening sockets available, shutting downUnable to open logs [失敗] /ect/apache2/conf.d/ssl.confを0バイトにすると、apache2は起動できました。 どの設定が悪いか分かる方いらっしゃいませんか?

  • ApacheのServerNameとドメイン名

    お世話になっております。 Apacheのhttpd.confに関して質問です。 ドメインが「aaa.bbb.hogehoge.co.jp」となっているサーバのhttpd.conf内のServerNameが「mogemoge」というように、ドメイン名とは全く異なる文字列が指定されている場合、どのような事態が想定されている設定なのでしょうか。 サーバはaaa.bbb.hogehoge.co.jpのアドレスでクライアントからアクセスすることが出来ます。 また、ServerNameで指定した文字列が使用されるタイミングは、どのような時なのでしょうか。 容量を得ない質問で申し訳ありませんが、よろしくお願いします。

  • apacheのバーチャルホストの設定方法

    MacOSX Snow Leopardを使っています。 apacheは2.2.11です。 httpd.confで/http/Virtual.confを読み出して設定しています。 Virtual.conf ------- # #VirtualHost.conf # NameVirtualHost *:80 <VirtualHost *:80> ServerName www.xxxxx.com DocumentRoot /http/www.xxxxx.com </VirtualHost> ------- ※www.xxxxx.comは、正しく設定されています。 の設定をし、httpdを再起動したところ、IPアドレスでアクセスしても、ドメインでアクセスしても、httpコード403になってしまいます。 *httpdで起動時、エラーはでません。 *httpd -tはSyntaxOK *httpd -sは   VirtualHost configuration:   wildcard NameVirtualHosts and _default_ servers:   *:80 is a NameVirtualHost    default server www.xxxxx.com (/http/Virtual.conf:11)    port 80 namevhost www.xxxxx.com (/http/Virtual.conf:11)   Syntax OK です。 virtual.confをすべてコメントアウトしたところしっかりアクセスできました。 よろしくお願いします。

  • ApacheにおけるSSLモジュールの動作

    以下の環境でssl通信(https)を計画しています。 OS:RedHat Linux AS 4 Web:Apache 2.0 Apache2.0からはsslのモジュールは標準機能だと思っているのですが、 httpd.confに次の様に設定するとエラーとなり、httpdが起動しません。 <VirtualHost *:443> ServerName hogehoge.example.com SSLProxyEngine on    ・    ・    ・ </VirtualHost> エラーの内容: Invalid command 'SSLProxyEngine', perhaps misspelled or defined by a module not included in the server configuration mod_sslがincludeされていないためと考え、httpd.confにmod_ssl.soを追加しましたが、mod_ssl.soが存在しないため、エラーとなり、やっぱり起動できません。 質問内容 (1)Apache 2.0 でSSLProxyEnginディレクティブの正しい定義の仕方を教えてください。 (2)必要であれば、mod_sslを追加で導入する手順について教えてください。  ApacheはDSOサポート環境です。(mod_so.cがあります) よろしくお願いいたします。

  • Apacheを起動するとエラーになってしまう原因

    Apacheを起動するためにC:/pg/Apache24/bin/httpd.exeを開くと 下記エラーメッセージが一瞬出て終了してしまいます。 「(OS IDのようなもの)通常、各ソケット、アドレスに対してプロトコル、ネットワークアドレス、またはポートのどれか1つのみを使用できます。 :IDのようなもの:make_sock: could not bind to address [::]:80 (OS IDのようなもの)通常、各ソケット、アドレスに対してプロトコル、ネットワークアドレス、またはポートのどれか1つのみを使用できます。 :IDのようなもの:make_sock: could not bind to address 0.0.0.0:80 IDのようなもの:no listening sockets available, shutting down IDのようなもの:Unable to open logs」 参考サイトの通りにやったのですが、なぜエラーになってしまうのでしょうか。 <Apache2.4.0の設定の手順> http://www.adminweb.jp/apache/install/index2.html こちらのサイトを参考にしてやっています。 Apacheをダウンロードし展開するとApache24というフォルダができ、 Cドライブ直下にpgというフォルダを作りその中にApache24を入れました。 C:/pg/Apache24という配置になっています。    ↓↓↓↓↓ ez-HTMLというエディタでC:/pg/Apache24/conf/httpd.confを開き、 「c:/Apache24」を「c:/pg/Apache24」へ一括置換で全て変更    ↓↓↓↓↓ httpd.confの 206行目 # 207行目 #ServerName www.example.com:80 208行目 209行目 # 210行目 # Deny access to the entirety of your server's filesystem. You must となっているのを下記のように208行目にServerName localhostを追加し保存しました。 206行目 # 207行目 #ServerName www.example.com:80 208行目 ServerName localhost 209行目  210行目 # 211行目 # Deny access to the entirety of your server's filesystem. You must    ↓↓↓↓↓ http://www.adminweb.jp/apache/install/index3.html 同じサイトの次のページでコンソールアプリケーションとして起動を試みています。 C:/pg/Apache24/bin/httpd.exe をダブルクリックで開いてみると ファイアウォールの警告ウィンドウが出て 「ブロックの解除」を選択    ↓↓↓↓↓ httpd.exeのコマンドプロンプトが開きましたが、 そのコマンドプロンプトには何も表示されず、操作もできないので一度閉じ、 再度開いて見るとエラーメッセージが出て終了してしまいます。