• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アパッチのマルチドメインとcgi-binに関して)

アパッチのマルチドメインとcgi-binに関して

このQ&Aのポイント
  • アパッチでマルチドメインをする場合のサンプルとして、VirtualHostを追加することがあります。マルチドメインの場合、ドキュメントルートが複数になります。
  • マルチドメインの場合、cgi-binは全サイト共通で作成される必要はありません。各VirtualHostごとにcgi-binを設定することもできます。
  • アパッチでのマルチドメイン設定に関しては、サーバー名やエイリアス、ドキュメントルートなどを設定する必要があります。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5088/13306)
回答No.2

> phpを使うサイトを2つ立てる場合は、通常はどうしますか? PHPのプログラムは cgi-bin ディレクトリに入れないので気にしません。

linuxorfe
質問者

お礼

有難うございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5088/13306)
回答No.1

共通でも分けてもどちらでも構いません。 どのような運用をしたいか次第です。

linuxorfe
質問者

お礼

有難うございます。 phpを使うサイトを2つ立てる場合は、通常はどうしますか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • CentOSでのマルチドメイン設定

    初めてのサーバー構築でCentOS5を導入し、teraTermから設定を行っています。 メインドメイン設定、FTP設定、httpd設定などを行い、メインドメインの表示まで完了しました。 ここで、マルチドメインを設定すべく、httpd.confの設定を行っているのですが、 うまくいかないので質問させて頂きました。 vi /etc/httpd/conf/httpd.confでファイルを修正。 メインドメインが一つあり、さらに二つのドメインを追加したいと考えています。 下記のようにバーチャルホストの設定したところ、 Server2は問題なく正常に表示されるのですが、Server3のドメインを ブラウザで入力すると、指定したパスのルートフォルダの場所ではなく、 メインドメインのルートフォルダが参照されてサイトが表示されます。 ※ドメイン表記は仮のものです。 #メイン <VirtualHost *:80> ServerAdmin main@main.com DocumentRoot /var/www/html/ ServerName main.com ServerAlias main.com ErrorLog logs/S1-error_log CustomLog logs/S1-access_log common </VirtualHost> #ドメイン2 <VirtualHost *:80> ServerAdmin s2@sample.com DocumentRoot /var/www/html/domain2.com/ ServerName domain2.com ServerAlias domain2.com ErrorLog logs/S2-error_log CustomLog logs/S2-access_log common </VirtualHost> #ドメイン3 <VirtualHost *:80> ServerAdmin s3@sample.com DocumentRoot /var/www/html/domain3.com/ ServerName domain3.com ServerAlias domain3.com ErrorLog logs/S3-error_log CustomLog logs/S3-access_log common </VirtualHost> まとめますと、メインドメイン、ドメイン2は正常に表示されるが、 ドメイン3がメインドメインのルートフォルダを参照してしまい、表示されない。 追加情報が必要な場合追記しますが、 二つ以上のマルチドメインをせっていする場合は、どのように設定したらよいでしょうか?

  • Apache2.2が再起動できない問題についてです

    --- 前提・実現したいこと バーチャルホスト2つ目から3つ目を追加して、Apacheを再起動させたところ[FAILED]と出力されます。 不思議なのが、設定したバーチャルホストを3つから2つに減らしてApacheサーバを再起動したら動きます。 また、構文に誤りがないか確認しましたが「Syntax OK」と出力されました。 ご教授のほどよろしくお願いします。 ------------------------------------------------------------------------------------------------------------------------- --- 発生している問題・エラーメッセージ エラー・ログはございません。 Apache サーバを再起動した際し、[FAILED] ------------------------------------------------------------------------------------------------------------------------- --- vhostで設定した構文です。 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /var/www/html/domain-name ServerName domain-name ServerAlias domain-name ErrorLog /var/log/httpd/domain-name/error_log CustomLog /var/log/httpd/domain-name/access_log combined <Directory "/var/www/html/domain-name"> </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/domain-name ServerName domain-name ServerAlias domain-name ErrorLog /var/log/httpd/domain-name/error_log CustomLog /var/log/httpd/domain-name/access_log combined <Directory "/var/www/html/domain-name"> </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/domain-name ServerName domain-name ServerAlias domain-name ErrorLog /var/log/httpd/domain-name/error_log CustomLog /var/log/httpd/domain-name/access_log combined <Directory "/var/www/html/domain-name"> </Directory> </VirtualHost>

  • Apache VirtualHost でワイルドカード(?)設定

    Apache2.2.3を利用しています。 virtualhost.confに50程度のサブドメインを、 下記のように設定をしています。 *************************************************** <VirtualHost *:80>   ServerName suzuki.example.com   DocumentRoot /var/www/html/suzuki/ </VirtualHost> <VirtualHost *:80>   ServerName sato.example.com   DocumentRoot /var/www/html/sato/ </VirtualHost> <VirtualHost *:80>   ServerName yamada.example.com   DocumentRoot /var/www/html/yamada/ </VirtualHost> ・ ・ ・ *************************************************** つまり *************************************************** <VirtualHost *:80>   ServerName ▲▲▲.example.com   DocumentRoot /var/www/html/▲▲▲/ </VirtualHost> *************************************************** のようなルールになっているのですが、 これをワイルドカード使ってできないでしょうか? 宜しくお願いします!

  • マルチドメインのhttpd.conf 設定について

    複数ドメインにおける httpd.conf の記述について教えて下さい。 ■環境 linux CentOs6.5 BIND-9.8.2 専用サーバーを構築し、複数ドメイン管理をしたいと考えています。 メインとなるドメイン(main.jp)の表示までは完了しています。 メインのドメイン:main.jp メインのルートディレクトリ:/var/www/html/ 追加したいドメイン:other.jp other.jpのルートディレクトリ:/var/www/html/domains/abc/ ■現象 http://other.jp にアクセスすると http://main.jp/domains/abc/ となってしまいます。 ページ自体は表示したいページが表示されていますが、URLが other.jp となりません。 ■質問 マルチドメイン設定がうまくいかないので教えて下さい。 上記のディレクトリ構成で other.jp を正しく設定するにはどうすればよいでしょうか。 ルートディレクトリに使用するディレクトリ名はシステム上、ドメインと異なる名前にしたいと考えています。 ■現在の記述 #main.jp <VirtualHost *:80> ServerName www.main.jp ServerAlias main.jp DocumentRoot /var/www/html </VirtualHost> #追加したいドメイン(other.jp) <VirtualHost *:80> ServerName www.other.jp ServerAlias other.jp DocumentRoot /var/www/html/domains/abc </VirtualHost> 宜しくお願いします。

  • ApacheでVirtualHostを使うとDirectoryIndexが上手くいかない

    CentOS4.4で、Apache2.0を使っています。 バーチャルホストを使っていて、ドメインによって表示を分けるのはうまくいっています。 以下の抜粋のように設定しています。 http://foofoo.com/cgi-bin/hoge/hage/wiki.cgi http://foofoo.com/hoge/hage/wiki.cgi は問題なく実行できています。 <VirtualHost *:80> ServerAdmin xxxx@yyy.com DocumentRoot /var/www/html ServerName foofoo.com ScriptAlias /hoge/hage/ "/var/www/cgi-bin/hoge/hage/" </VirtualHost> 以下のように設定を変えても、 http://foofoo.com/cgi-bin/hoge/hage/ http://foofoo.com/hoge/hage/ へアクセスしても You don't have permission to access /tech/wiki/ on this server. となってしまいます。 <VirtualHost *:80> ServerAdmin xxxx@yyy.com DocumentRoot /var/www/html ServerName foofoo.com ScriptAlias /hoge/hage/ "/var/www/cgi-bin/hoge/hage/" <Location /hoge/hage/> DirectoryIndex wiki.cgi </Location> </VirtualHost> バーチャルホストを使う場合のDirectoryIndexの設定方法を教えてください。 よろしくお願いいたします。

  • VirtualHostでIPとドメインアクセスで設定を分ける場合ドメインは1つでOKでしょうか?

    ドメイン指定の場合とIPでアクセスがあった場合で ドキュメントルートを分けたいのですが、 下記のようにサブドメイン1つでもVirtualHost可能でしょうか? <VirtualHost 210.100.100.100> DocumentRoot /var/www/html/htdocs ServerName www.a.jp </VirtualHost> <VirtualHost 210.100.100.100> DocumentRoot /var/www/html2/htdocs </VirtualHost>

  • Apacheでcgi-binを隠すには

    Apacheの設定でcgiの実行ディレクトリをcgi-binに限定(DocumentRootでのcgi実行は不可)した場合、 アドレスはhttp://hoge.hoge/cgi-bin/となりますが、 これをhttp://hoge.hoge/で実行しているかのように隠蔽(偽装)する方法はないでしょうか?

  • apacheのVirtualHostの記述について

    サブドメイン *.hoge.com へアクセスされた際、 ドキュメントルート /var/www/subDomains/*/ を参照させたいので、httpd.confを以下のように設定しました。 <VirtualHost *> ServerAlias *.hoge.com VirtualDocumentRoot "/var/www/subDomains/%1/" ・・・  </VirtualHost> これはうまく動作するのですが、上記サブドメイン設定とは別に メインドメイン(hoge.com または www.hoge.com)へアクセスされた場合のみ ドキュメントルート /var/www/main/ を参照させたいのです。 なので、上記記述とは別に、 <VirtualHost *> DocumentRoot "/var/www/main/" ServerName www.hoge.com ・・・  </VirtualHost> を追加したのですが、このメインドメイン用記述は無視されてしまいます。 ※メインドメインへアクセスしても、サブドメイン用のVirtualDocumentRoot である /var/www/subDomains/www/ を参照してしまいます。 こうなってしまう原因は、サブドメイン用の記述である ServerAlias *.hoge.com の指定で、「www.hoge.com」が対象となっているからだと思いますが、 正規表現で「www.hoge.com」を除外する方法や、 その他解決策がありましたらご教授よろしくお願いします。 apacheのバージョンは2.2.15です。 ※ちなみに、正規表現による除外は「ServerAlias (?!www)*.hoge.com」を試してみましたがダメでした。 書き方が悪いのかもしれません。。

  • apacheのvirtualhostについて

    Apache/1.3.22のname virtual hostについておたずねします。 httpd.confの記述で NameVirtualHost 219.***.***.*** <VirtualHost 219.***.***.*** ServerName www.********.co.jp DocumentRoot /home/web/docs ScriptAlias /cgi-bin/ /home/web/cgi-bin/ ErrorLog /home/web/logs/error_log CustomLog /home/web/logs/access_log combined </VirtualHost <VirtualHost 219.***.***.*** ServerName test.********.co.jp DocumentRoot /home/web/test ScriptAlias /cgi-bin/ /home/web/test-cgi-bin/ ErrorLog /home/web/logs/test-error_log CustomLog /home/web/logs/test-access_log combined </VirtualHost としているのですがVirtualHostが反映されません。 また、LAN内のサーバーですのでnamed.confはviewを使用し、zoneファイルは2通り用意しており外部からも内部からも正常に正引きできます。 どのような原因が考えられるでしょうか? また、対処法はどのようにすればよいのでしょうか? ご教授いただきますようお願いいたします。

  • 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