• ベストアンサー

apacheのバーチャルホストについて

恐れ入ります。 linuxでサーバーの運営をしてみようかなと思っているのですが、windows xp proで試しにapacheを入れてみてドメインを2つ取得してhttpd.confのバーチャルホストについて記述してみました。 その際に以下をつけたして新しいドメインでブラウザからアクセスしてみたら普通にアクセスできました。どこかのサイトでDNSサーバーを自分のlinuxにたちあげないといけないみたいなことが書いてあったのですが、linuxの場合はdnsサーバーをたちあげないといけないのでしょうか?教えてください。 <VirtualHost xxx.xxx.x.xx> ServerAdmin xxx@xxx.com DocumentRoot "C:\Program Files\Apache Group\Apache2\aaa" ServerName 新しいドメイン ErrorLog logs/dummy-host.example.com-error_log CustomLog logs/dummy-host.example.com-access_log common </VirtualHost>

  • mixiho
  • お礼率41% (251/608)

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

  • ベストアンサー
noname#243622
noname#243622
回答No.2

WEBサーバに対して、特定のIPアドレスと、URLが一致していればVirtualHostの箇所が有効になります。 VirtualHostの箇所が次のようだったとします。 --- <VirtualHost 192.168.1.101> ServerAdmin xxx@xxx.com DocumentRoot "C:\Program Files\Apache Group\Apache2\aaa" ServerName virtual1.example.com ErrorLog logs/virtual1.example.com-error_log CustomLog logs/virtual1.example.com-access_log common </VirtualHost> --- このWEBサーバに対して、 virtual1.example.com という名前のIPアドレスが 192.168.1.101 でアクセスできればいいことになります。 ホスト名とIPアドレスの対応付けをするのはインターネット一般であればDNSで、テスト的なものであればhostsファイルで問題ないでしょう。 >linuxの場合はdnsサーバーをたちあげないといけないのでしょうか?教えてください。 OSとDNS/hostsファイルなどは関係ないですが、インターネットに公開するにはDNSサーバに登録されていることが必要です。 話が前後しますが、 >linuxでサーバーの運営をしてみようかなと思っているのですが まずはローカルネットワークで固定IPでWEBサーバの構築が出来るようになってからDNSへの登録は行ってみてください。 DDNSの場合は、接続のたびにIPアドレスが変わりますし、特有の設定が必要になると思いますので。

その他の回答 (1)

  • pomkichi
  • ベストアンサー率18% (9/48)
回答No.1

>linuxの場合はdnsサーバーをたちあげないといけないのでしょうか?教えてください。 DDNSを利用できればDNSサーバを立てる必要はありません DNSサーバを立てるには固定IPアドレスが必要です。

mixiho
質問者

お礼

DDNSを利用できれば、問題ないんですか。ありがとうございます。ドメインを取得しようと思っている会社のDDNSが利用できると思うので(value domain)問題なさそうですね。

関連するQ&A

  • apacheのVirtualHostでの振り分けについて(SSL)

    VirtualHostを使って同一サーバーでのSSLの対応または非対応の振り分けをしています。 WinXP Apache 2.0.55 C:\Apache3 Tomcat 4.1 C:\Program Files\Apache Group\Tomcat 4.1 OpenSSL C:\OpenSSL apacheとtomcatは連携させています。 apache httpd.confの最後に以下を追加するとApacheが起動しません。 <VirtualHost localhost:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "C:/Apache3/htdocs"   SSLDisable # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common </VirtualHost> SSLDisableを削除すると、問題なく起動しますがhttp,httpsと両方でアクセス出来てしまいます。 何がいけないんでしょうか? 最終的には、デフォルトでSSL不可にしておいてVirtualHostで 指定したディレクトリにSSLを施したいです。

  • /etc/httpd/conf/httpd.confの中身について

    失礼します。linux初心者です。 Apacheの仮想サイトの構成について調べたいのですが、 /etc/httpd/conf/httpd.confを参照したところ以下の様に記述されています。 <VirtualHost *:80> # ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common #</VirtualHost> これは、 WEB接続使用ポート:80 サーバードメイン:webmaster@dummy-host.example.com ルートディレクトリ:/www/docs/dummy-host.example.com サーバー名:dummy-host.example.com ログ保存場所:dummy-host.example.com-error_log        logs/dummy-host.example.com-access_log common という解釈で間違いありませんでしょうか。 またこの仮想サイトのsmarty保存場所を調べるにはどのようにすればよいですか。

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

    http://test.com →/usr/local/apache/htdocs http://www.test.com →/usr/local/apache/htdocs http://user.test.com →/home/user/public_html としたいのですが、DNSの設定とhttpd.confの設定はどのようにしたらよいでしょうか? DNSはワイルドカード有効にしてあります。 <VirtualHost *:80> ServerAdmin webmaster@test.com DocumentRoot /usr/local/apache/htdocs Servername www.test.com ErrorLog logs/www.test.com-error_log CustomLog logs/www.test.com-error_log common </VirtualHost> <VirtualHost *:80> ServerAdmin user@test.com DocumentRoot /home/user/public_html Servername user.test.com ErrorLog logs/user.test.com-error_log CustomLog logs/user.test.com-error_log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@test.com DocumentRoot /usr/local/apache/htdocs Servername test.com ErrorLog logs/test.com-error_log CustomLog logs/test.com-error_log common </VirtualHost> このように設定したところ http://test.comでアクセスするとhttp://user.test.comと同じページが表示されてしまいます。

  • 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+Tomcatで443のみアクセスできません

    Apache2+Tomcat4.1.30で、javaの業務用アプリを動かしています。 443アクセスにしたいのですが httpd.confに記述をせず、ssl.confのみに記述をしても 80でアクセスできてしまいます。 server.xmlのHost nameに記述があることで アクセスが出来てしまっている気がするのですが どうにかして443アクセスのみにすることは出来ませんでしょうか? 下記のように記述してあります。 (ドメインはexample.comに変更してあります) ssl.conf <VirtualHost xxx.xxx.xxx.xxx:443> ServerAdmin webmaster@example.com ServerName www.example.com DocumentRoot /usr/local/example ErrorLog /var/log/httpd/www.example.com-error_log CustomLog /var/log/httpd/www.example.com-access_log common CustomLog /var/log/httpd/www.example.com-referer_log referer CustomLog /var/log/httpd/www.example.com-agent_log agent </VirtualHost> server.xml <Host name="www.example.com" debug="0" appBase="/usr/local/" unpackWARs="true" autoDeploy="true"> <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="example_log." suffix=".txt" timestamp="true"/> <Context path="" docBase="example" debug="0" reloadable="true" trusted="false" crossContext="false"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="example.com_log." suffix=".txt" timestamp="true"/> </Context> </Host>

  • Apache Virtual Hostでの認証

    Apache の Virtual Host で認証をかけることはできますか? 以下のように設定したのですが、Apache起動時に Syntax error on line 1066 of /usr/local/apache2/conf/httpd.conf: AuthType not allowed here といわれます。 .htacessを使えば実現できるようですが、VirtualHostディレクティブ内で設定する方法はないでしょうか? <VirtualHost *:80> ServerAdmin test@example.com DocumentRoot /home/test ServerName test.example.com ErrorLog logs/test-error_log CustomLog logs/test-access_log common AuthType Basic AuthName "Restricted Files" AuthUserFile /home/test/.htpasswd Require user test </VirtualHost> よろしくお願いします。

  • VirtualHostの設定

    名前ベースのVirtualHostの設定を試してるのですが、 Permission denied: file permissions deny server accessとなり アクセスできません。wwwはアクセスできます。 サイトでいろいろ調べているのですが、解決できませんでした。 パーミッションも777に設定しています。httpd.confの設定を載せます。pperというユーザーを追加しました。 *ホストとドメインは仮名 NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html ServerName www.pani.mydns.jp ErrorLog logs/www.pani.mydns.jp-error_log CustomLog logs/www.pani.mydns.jp-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /home/pper/html ServerName test.pani.mydns.jp ErrorLog logs/test.pani.mydns.jp-error_log CustomLog logs/test.pani.mydns.jp-access_log common </VirtualHost>

  • apache2.2でのバーチャルホストでの設定

    質問させて頂きます。 apache2.2.21にてweb鯖を立てて、ドメインを取得しDDNSにてテストしています。 test.comというドメインにバーチャルホストにて web1.test.comとweb2.test.comを設定 した場合に、 なぜかtest.comとweb1.test.comが同じ内容が表示されてしまいます。 web2は通常通り表示されます。 詳しい方が居ましたら間違い点を教えて下さい。 httpd-vhostsの内容 # # Virtual Hosts # # If you want to maintain multiple domains/hostnames on your # machine you can setup VirtualHost containers for them. Most configurations # use only name-based virtual hosts so the server doesn't need to worry about # IP addresses. This is indicated by the asterisks in the directives below. # # Please see the documentation at # <URL:http://httpd.apache.org/docs/2.2/vhosts/> # for further details before you try to setup virtual hosts. # # You may use the command line option '-S' to verify your virtual host # configuration. # # Use name-based virtual hosting. # NameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost *:80> DocumentRoot "C:/web/web1" ServerName web1.babayasu.info ErrorLog "logs/web1.localhost-error.log" CustomLog "logs/web1.localhost-access.log" common <Directory "C:/web/web1"> order deny,allow allow from ALL Options Indexes FollowSymLinks ExecCGI IncludesNoExec </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/web/web2" ServerName web2.babayasu.info ErrorLog "logs/web1.localhost-error.log" CustomLog "logs/web1.localhost-access.log" common <Directory "C:/web/web2"> order deny,allow allow from ALL </Directory> </VirtualHost>

  • バーチャルホストで、同じページをSSLとNon-SSLでアクセスできるようにしたい

    VPSでレンタルサーバをかりています。 (仮想のroot権限を持っています) で、バーチャルホストを以下のようにしています。 ====================================== NameVirtualHost xxx.xxx.xx.xx <VirtualHost xxx.xxx.xx.xx> <Directory /var/www/example.com/htdocs> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ServerAdmin webmaster@example.com DocumentRoot /var/www/example.com/htdocs ServerName example.com ErrorLog /var/log/example.com-error_log CustomLog /var/log/example.com-access_log common </VirtualHost> <VirtualHost xxx.xxx.xx.xx> <Directory /var/www/www.example.com/htdocs> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ServerAdmin webmaster@example.com DocumentRoot /var/www/www.example.com/htdocs ServerName www.example.com ErrorLog /var/log/www.example.com-error_log CustomLog /var/log/www.example.com-access_log common </VirtualHost> <VirtualHost xxx.xxx.xx.xx> <Directory /var/www/admin.example.com/htdocs> Options FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> ServerAdmin webmaster@example.com DocumentRoot /var/www/admin.example.com/htdocs ServerName admin.example.com ErrorLog /var/log/admin.example.com-error_log CustomLog /var/log/admin.example.com-access_log common </VirtualHost> ====================================== で、 http://example.com/fdsfdshhfdsh http://www.example.com/fdsfdshhfdsh http://admin,example.com/fdsfdshhfdsh にアクセスできるわけですが、 https://example.com/fdkjsjf のようにSSLでアクセスできるようにしたいと思っています。 で、 「DocumentRoot /var/www/example.com/htdocs」はSSLなしの場合と同様にしたいと思います。 (SSL,NON-SSLは、ファイルを共有) こうするには、どうすればいいのでしょうか? どなたか教えていただければ幸いです。

  • XAMPP ヴァーチャルホストの設定について

    以下は、httpd-vhosts.conf 初期状態のものを、コメントアウトし、 host、httpd.conf の設定、 モジュール関連箇所のコメントアウトをして、 正常に dummy-host.localhost で見れています。 ただ、 dummy-host.localhost というドット区切りのディレクトリを作成しなければ、 ドットで区切った URLで、見れないのでしょうか? 例えば、ドット区切りのない、 /dummy" というディレクトリを作り、 trunk.dummy では、503エラーが表示します。 (その他ファイルの必要な設定は変更しています.。一部の抜粋だけですみません。) ドット区切りのないディレクトリで、ドット区切りの URL で見れる設定方法が、あれば ご教授ください。 それ以前に、私が大きな勘違いをしている等もありますので、ご了承ください。 ( httpd-vhosts.conf の内容 ) <VirtualHost *:80> ServerAdmin postmaster@dummy-host.localhost DocumentRoot "/xampplite/htdocs/dummy-host.localhost" ServerName dummy-host.localhost ServerAlias www.dummy-host.localhost ErrorLog "logs/dummy-host.localhost-error.log" CustomLog "logs/dummy-host.localhost-access.log" combined </VirtualHost>