• ベストアンサー

Debianの Apache2 VirtualHostの設定方法 RedHat系と違う?

DebianのApache2を使い、バーチャルホストの設定を行いたいのですが、何か良い見本があれば教えていただけますか? RedHat系では httpd.confにすべて記述していたのでうすが、debianは設定ファイルが色々と分かれているようです。/etc/apache2/site-available/defaltに<VirtualHost>の設定を行うのですが、RedHat系の物をそのまま書き写して、 /etc/init.d/apache startとしても、起動しません。 デビアンのバーチャルホストの設定で参考になるものがございましたら教えてください。

  • bootx
  • お礼率4% (3/70)

質問者が選んだベストアンサー

  • ベストアンサー
  • hchonan
  • ベストアンサー率79% (19/24)
回答No.1

DebianでのApache2の設定ですが、/etc/apache2/README に各ディレクトリ・ファイルの説明が書かれていますので、まずはチェックしてみてください。 VirtualHostの設定については、/etc/apache2/sites-available 下にVirtualHostごとに設定ファイルを作り、/etc/apache2/site-enabled にsite-available に作ったファイルへのシンボリックリンクを張るよう説明が書いてあります。 結局のところ、/etc/apache2/apache2.conf で Include /etc/apache2/sites-enabled/[^.#]* と /etc/apache2/sites-enabled 以下のファイルを読み込む設定になっており、 sites-available下は直接関与していないのでこの辺が原因ではないでしょうか。 sites-enabled 下にシンボリックリンクを作って試してみて下さい。

関連するQ&A

  • Apache virtualhostで存在しないホストについて

    Apache virtualhostで存在しないホストについて教えてください。 virtualhostで存在しないホストにアクセスがあった場合にステータス404とカスタムエラーページを返したいと思います。 DNSは*でやってるので、存在しないホストでのアクセスも可能ですが、その際に404エラーを返したいと思います。 httpd.confの設定方法を教えてください。 存在しない場合には先頭のvirtualhostの設定を返すことは理解していますが、その場合にエラーとしたいのですが、方法がわかりません。

  • 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をすべてコメントアウトしたところしっかりアクセスできました。 よろしくお願いします。

  • debian Apache2の設定

    2.0系が初めてなのでお願いします。VirtualHostの記述は/etc/apache2/site-enable/下か /etc/apache2/conf.d/下 なのかどちらでも構わないのかよくわかりません。お詳しい方宜しくおねがいします。

  • Virtualhost:名前ベースorIPペース?

    某レンタルサーバでVPSを使っています。 CentOS6.2(x86_64)、Apache/2.2.15 です。 で、1つの固定IPアドレスに対して、 3つのFQDNをvirtualhostで設定しようとしています。 (そのうち1つは、SSLもあり) で。。。 httpd.conf ===================================== NameVirtualHost *:80 <VirtualHost *:80> ===================================== ssl.conf ==================================== NameVirtualHost *:443 <VirtualHost *:443> ==================================== と、設定するのと、 httpd.conf ===================================== NameVirtualHost xx.xx.xxx.xxx:80 <VirtualHost xx.xx.xxx.xxx:80> ===================================== ssl.conf ==================================== NameVirtualHost xx.xx.xxx.xxx:443 <VirtualHost xx.xx.xxx.xxx:443> ==================================== と設定するのでは、どちらがのぞましいのでしょうか? どちらでも動くのですが・・・。 また、どういう仕組みの違いになっているのでしょうか? 下記2ページを読むと、自分のケースではどっちでも問題ないので、 どっちでもかまわないのでしょうか? //----------------------------------------------------------- 名前ベースのバーチャルホスト http://httpd.apache.org/docs/2.0/ja/vhosts/name-based.html IPベースのバーチャルホストWWWサーバの構築 http://www.aconus.com/~oyaji/www/apache_linux_virtual.htm よろしくお願いします。

  • Linux+Apache2+openSSLでVirtualHostは不可能?

    こんにちは。 RedHat Linux9 で、Apache2.0 + openSSLをインストールしたWebサーバーをたてています。 このサーバーでは「domain-A.com(仮)」 を動かしたいのですが、将来的に他のドメインも入れたいため、名前ベースのVirtualHostで構成したいと考えています。ところが、Apacheのマニュアルには「名前ベースのバーチャルホストは SSL プロトコルの特徴により、 SSL セキュアサーバには使えません。」と書かれています。 とりあえず、httpd.confにて、Domain-X.com(非SSL)とDomain-A.com(SSL)をバーチャルホストとして設定しました。 ssl.confにはDocumentRootとしてDomain-A.comのルートを指定しました。 すると、Domain-A.comをSSLで確認できたのですが、Domain-X.comにhttpsでアクセスするとDomain-Aのファイルが表示されてしまったのです。 ひとつのサーバーでSSLを使用するドメインを複数動かすことはできないのでしょうか? また、それができないなら、SSLを使用しないドメインにhttpsでアクセスした時に、SSLを使用するドメインのファイルが出ないようにする方法はないのでしょうか?

  • バーチャルホスト (Apache2)

    REDhatEL + Apache2でバーチャルホストを設定しようとしています。 RedHat7 + Apacheの時は、named.conf、zoneファイルの作成、httpd.confの設定でうまくいきましたが、今回はそれでは表示できませんでした。 何か他に設定が必要なのでしょうか?? http://domain/~vartualhost では表示できています。 宜しくお願いします。

  • Apacheの起動について・・・

    今回初めてLinuxに挑戦してます。 RedHat Linux 7.2をWebサーバのとしてインストールしました。 Apache_1.3.20も一緒にインストールされました。 今回はApache_1.3.27を使用したいので、HPよりダウンロードして、 インストールを行いました。 インストールはなんとか上手くいき起動も可能なのですが、 /sbin/chkconfig --level 35 httpd on のコマンドで自動起動にする対象のApacheは1.3.27のほうにしたいのです。 ※現状では、1.3.20のほうが上がります。 インストール済みのApache設定は、/etc/httpd/conf/ 後からインストールしたApache設定は、/usr/local/apache/conf/ のhttpd.confになるようです。 Linuxの起動時にApache_1.3.27が自動で起動されるように 設定したいのですが、どうにもわかりません。 ネットで検索して、 「自動起動するために起動スクリプトを /etc/init.d または /etc/rc.d/init.d にコピーします」 とまでは解ったのですが、ファイルをそのままコピーしていいのか、どうすればいいのか検討がつきません。 どなたか教えて下さい。

  • 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

  • Apacheのバーチャルホストの設定について

    OS:Scientific Linux6.2 Apache/2.2.15 Apacheのバーチャルホストの設定について現在勉強しております。 参考にしたサイト:http://scientificsrv.com/apache-virtualhost.shtml 私が今悩んでいるのが、DocumentRootになります。 2つのサイトを以下のディレクトリーに入れています。 ドメイン ディレクトリ aaa.com /home/aaa/html bbb.com /home/bbb/html ここで、参考にしたサイトを元にしますと /etc/httpd/conf.d/virtualhost-aaa.conf ← メインホスト用バーチャルホスト設定ファイル作成 <VirtualHost *:80> ServerName aaa.com DocumentRoot /home/aaa/html </VirtualHost> /etc/httpd/conf.d/virtualhost-bbb.conf ← 追加ホスト用バーチャルホスト設定ファイル作成 <VirtualHost *:80> ServerName bbb.com DocumentRoot /home/bbb/html ErrorLog logs/virtual-error_log CustomLog logs/virtual-access_log combined env=!no_log </VirtualHost> と言うようになります。 ここで、DocumentRootはそれぞれ設定していることになります。 そうするとApacheの設定ファイルのDocumentRootはどのように設定したらいいのでしょうか? デフォルトでは以下のようになっています。 /etc/httpd/conf/httpd.conf  # DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/var/www/html" # # This should be changed to whatever you set DocumentRoot to. # <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Order allow,deny Allow from all </Directory> このファイルの設定方法が分かりません。デフォルトのままでは、/var/www/htmlを使用することになっています。バーチャルホストの方で設定しているのでここの設定はしなくていいのでしょうか? また、 # This should be changed to whatever you set DocumentRoot to. # <Directory "/var/www/html"> では、htaccessやCGIの許可の設定などを行いますが、バーチャルホストの場合どこで設定すればいいのでしょうか? 勉強不足なのは重々承知していますが、何卒よろしくお願い致します。

  • バーチャルホスト設定

    何度も投稿して申し訳ありません(汗) ここしか聞くところがなくてorz バーチャルホストの設定ですが Apacheが正常にインストールをしていていると想定して vi /etc/httpd/conf/httpd.conf の下のところにあるバーチャルホストの設定のコメントを外すと 403となってApacheの画面が見れていた localhostも見えなくなってしまします。 何か間違いがあるのでしょうか?ちなみに外したのは #NameVirtualHost *:80 ↓ NameVirtualHost *:80 #<VirtualHost *:80> # ServerAdmin webmaster@”ドメイン名” # DocumentRoot /home/ftpmaster/localhost/”ドメイン名” # ServerName ”ドメイン名” # ErrorLog logs/error_log #</VirtualHost> ↓ <VirtualHost *:80> ServerAdmin webmaster@”ドメイン名” DocumentRoot /home/ftpmaster/localhost/”ドメイン名” ServerName ”ドメイン名” ErrorLog logs/error_log </VirtualHost> です。 他に設定などがあるようでしたらご指摘していただけると嬉しいです。 使用OS→CentOS5i386