質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.34%

  • Linux

    4683questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3314questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

バーチャルホスト(マルチドメイン)の設定ができない

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,205

akkkkin

score 77

掲題の件で行き詰まっております。

■したいこと
hogehoge.comでサイトを表示させたい。

■apacheのversion
Apache/2.4.6 (CentOS)

■やったこと
httpd.confに記載した内容です。

~中略~
# least PidFile.
#
ServerRoot "/etc/httpd"

~中略~
#Listen 12.34.56.78:80
Listen 80

~中略~
#
Include conf.modules.d/*.conf

~中略~
#
User apache
Group apache

~中略~
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin root@localhost

~中略~
#ServerName www.example.com:80

#
# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
    AllowOverride none
    Require all denied
</Directory>

~中略~
#
#DocumentRoot "/var/www/html"

#
# Relax access to content within /var/www.
#
<Directory "/var/www">
    AllowOverride All
    # Allow open access:
    Require all granted
</Directory>


<VirtualHost *:80>
DocumentRoot /var/www/html/hogehoge
ServerName hogehoge.com
</VirtualHost>



# Further relax access to the default document root:

<Directory "/var/www/html">
    # 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.4/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 All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ".ht*">
    Require all denied
#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
#
ErrorLog "logs/error_log"

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    #CustomLog "logs/access_log" common

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
  ~中略~
    #
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig /etc/mime.types

  ~中略~
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

  ~中略~
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

~中略~
AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    #
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type.  The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #
    MIMEMagicFile conf/magic
</IfModule>

~中略~
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

#
# Specify a default charset for all content served; this enables
# interpretation of all content as UTF-8 by default.  To use the
# default browser choice (ISO-8859-1), or to allow the META tags
# in HTML content to override this choice, comment out this
# directive:
#
AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    #
    # The mod_mime_magic module allows the server to use various hints from the
    # contents of the file itself to determine its type.  The MIMEMagicFile
    # directive tells the module where the hint definitions are located.
    #
    MIMEMagicFile conf/magic
</IfModule>

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

~中略~
#EnableMMAP off
EnableSendfile on

# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

■その他
関係ないかもですが、/var/www/html/hogehoge/.htaccessファイルの
コードです。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /hogehoge/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /hogehoge/index.php [L]
</IfModule>

# END WordPress


■現状
DocumentRoot /var/www/html/hogehogeとしているのに
hogehoge.com/hogehogeとアクセスしないと表示されない。

hogehoge.comではhtmlディレクトリにあるindex.htmlに向いてしまう。
同階層にhogehogeディレクトリがある状態です。

■参考にしたサイト

http://www.xn--vps-073b3a72a.com/9.html

■httpd -Sで確認した実行結果
VirtualHost configuration:

*:80                   hogehoge.com (/etc/httpd/conf/httpd.conf:131)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG

どうすればhogehoge.comで表示できるのかご教示頂ければありがたいです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    退会済みユーザー

    2016/12/13 08:48

    以前指摘されてなかった?ドメイン

    キャンセル

回答 4

checkベストアンサー

+3

前にも同じような話をした記憶がある(他の方に対してかな?)のですが、ブラウザのURL欄にはどのような入力をしていますか?

また「マルチドメイン」という以上、hogehoge.com以外のドメイン設定もしているはずだと思うのですが、その話が一切出てこないのはなぜでしょうか?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/12/15 20:25

    ・・・見た限り今回の問題に影響しそうな違いは見当たらないですね。
    見た目に分からないヘンな文字(制御コード)が入っているとか?

    キャンセル

  • 2016/12/16 12:42

    上記Allの箇所をNoneにしても何ら影響はないのでしょうか?
    本当に丁寧に解説してくださり、感謝しております。

    キャンセル

  • 2016/12/16 12:48

    済みません。その点補足します。
    結論から言うと"/var/www2"のAllowOverrideの値は動作切り分けのためにいじっているだけです。(で、バーチャルホスト動作に影響がないことを確認した訳です)
    この値をどうするかはhtaccessを使うか使わないかによりますが、もともと"/var/www2"が切り分け用ディレクトリなので.htaccessは使わないと思います。
    なのでNoneにして(戻して?)も問題ないと思います。

    キャンセル

+1

最小だと

<VirtualHost *:80>
DocumentRoot /var/www/html/hogehoge
ServerName hogehoge.com
</VirtualHost>


で行けます。

https://httpd.apache.org/docs/2.2/ja/vhosts/examples.html を参照して下さい。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/12/10 21:35

    ブラウザはどのOSの何というブラウザですか?

    キャンセル

  • 2016/12/10 21:44

    Google Chrome OSです。

    キャンセル

  • 2016/12/10 21:49

    CentOS側で/etc/hostsに次の1行を追加して、

    127.0.0.1 hogehoge.com

    その後に curl http://hogehoge.com/ を実行するとどちらのページの内容が表示されますか?

    キャンセル

+1

設定してるのは hogehoge.com:10022 ですよね。
hogehoge.com:80の設定ではないので
デフォルト設定の DocumentRoot /var/www/html を通っているのでは?

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/12/10 11:54

    最初80にしてましたがうまくいかなかったので、10022のポートに修正したのでした。
    再度80に戻し再起動もしたのですが、index.htmlに向いてしまってます。

    キャンセル

  • 2016/12/10 12:15

    httpd.confにデフォルトで設定されてるDocumentRootは、コメントアウトしましたか?

    DocumentRoot "/var/www/html"

    ↓コメントアウトします。
    #DocumentRoot "/var/www/html"

    キャンセル

  • 2016/12/10 12:27 編集

    ありがとうございます。コメントアウトしてませんでした。
    >#DocumentRoot "/var/www/html"
    しかしコメントアウトしてもダメでした。再起動もしています。
    index.htmlに向いてしまってます。

    キャンセル

+1

名前ベースのバーチャルホストの設定は下記記事が参考になるかと思いますのでご確認ください。
(ポート番号は80番で設定して下さい。)
また、設定後はhttpd -Sコマンドで設定したバーチャルホストを確認すると良いかと思います。
ご確認のほど、宜しくお願い致します。

▼ 名前ベースの仮想ホスト
http://www.adminweb.jp/apache/virtual/index2.html
▼ バーチャルホストの一覧を見るには
http://www.ksknet.net/apache/post_49.html

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/12/10 11:53

    回答ありがとうございます。httpd -Sコマンドの実行結果を質問に追記しました。

    キャンセル

  • 2016/12/15 20:31

    上記Allの箇所をNoneにしても何ら影響はないのでしょうか?
    本当に丁寧に解説してくださり、感謝しております。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • Linux

    4683questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    3314questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。