バーチャルホストを試してみる

  • バーチャルホストの設定方法としては、「IPベース」「Nameベース」「ポートベース」があります。ここでは、Nameベースで設定したのでその説明。
  • ここでやりたいこと
    1. サブドメインによるアクセス切り替え
    2. マルチドメイン対応
    • サブドメインや、マルチドメインの設定は bind による事前準備が必要です。

サブドメインによるアクセス切り替え

  • /etc/httpd/conf/httpd.conf 以下の定義値を修正または追加する。
    #ServerName www.example.com:80  ← コメントにする
    NameVirtualHost *:80  ← コメントを解除
  • /etc/httpd/conf.d/virtualhost-sea-bird.org.conf と、ファイルを作成します。
    #
    # Use name-based virtual hosting.
    #
    <VirtualHost *:80>                    ← 1.
        ServerAdmin hoge@sea-bird.org
        DocumentRoot "/var/www/html"
        ServerName www.sea-bird.org
        ErrorLog logs/error_log
        CustomLog logs/access_log combined
    </VirtualHost>
    
    <VirtualHost *:80>                    ← 2.
        ServerAdmin hoge@sea-bird.org
        DocumentRoot "/var/www/html/blog"
        ServerName blog.sea-bird.org
        ErrorLog logs/error_log
        CustomLog logs/access_log combined
    </VirtualHost>
    
    <VirtualHost *:80>                    ← 3.
        ServerAdmin hoge@sea-bird.org
        DocumentRoot "/var/www/html/hoge"
        ServerName test.sea-bird.org
        ErrorLog logs/error_log
        CustomLog logs/access_log combined
    </VirtualHost>
  • サーバを再起動します
    # /etc/init.d/httpd restart
    # httpd -S
    
    • 上記の設定の意味は以下の通りです
      1.www.sea-bird.org にアクセスがあった場合、ドキュメントルートを "/var/www/html" に
      2.blog.sea-bird.org にアクセスがあった場合、ドキュメントルートを "/var/www/html/blog" に
      3.hoge.sea-bird.org にアクセスがあった場合、ドキュメントルートを "/var/www/html/hoge" に

マルチドメイン対応

  • mcbc-net.net ドメインも所有しているので同じサーバでルチドメイン対応をしてみる。といっても、ServerName に ドメインを記述するだけでok
  • /etc/httpd/conf.d/virtualhost-mcbc-net.net.conf とでも、ファイルを作成します。
    #
    # Use name-based virtual hosting.
    #
    <VirtualHost *:80>
        DocumentRoot "/var/www/html"
        ServerName www.mcbc-net.net
    </VirtualHost>

参考にさせて頂いたサイト様


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:31