Apache 自宅サーバにおけるバーチャルホストの設定

Pocket

環境:CentOS 5 64bit
Apache:2.x

やりたいこと:example.comとtest.example.comを自宅サーバ(Apache)へリレーし、Apacheのバーチャルホストでそれぞれ別のディレクトリ配下を表示させる。

前提:DDNSはeverydnsを利用し以下のように設定済み。

example.com A [自分のグローバルIPアドレス]
test.example.com CNAME example.com

スポンサードリンク


  1. conf/httpd.confの編集
  2. $ vi httpd.conf
    
    #Include conf/extra/httpd-vhosts.conf
    ↓ (コメントを排除)
    Include conf/extra/httpd-vhosts.conf
  3. conf/extra/httpd-vhosts.confの編集
  4. $ vi httpd-vhosts.conf
    
    # ローカルIPアドレスを指定
    NameVirtualHost 192.168.xxx.xxx:80
    
    # example.comの設定
    <VirtualHost 192.168.xxx.xxx:80>
        ServerAdmin webmaster@example.com
        DocumentRoot "/usr/local/apache2/htdocs"
        ServerName example.com # 自分のドメイン
        ServerAlias www.example.com  # alias
        ErrorLog "logs/example.com-error_log"
        CustomLog "logs/example.com-access_log" common
    </VirtualHost>
    
    # test.exampleの設定
    <VirtualHost 192.168.xxx.xxx:80>
        ServerAdmin webmaster@example.com
        DocumentRoot "/home/test" # 今回はユーザディレクトリをドキュメントルートとする
        ServerName test.example.com
        ErrorLog "logs/test.example.com-error_log"
        CustomLog "logs/test.example.com-access_log" common
    
        # ユーザディレクトリにアクセス権を付与
        <Directory "/home/test">
            Options FollowSymLinks
            AllowOverride all # .htaccess有効化
            Order deny,allow
            Allow from all
        </Directory>
    
    </VirtualHost>
    
  5. ユーザディレクトリの作成
  6. $ useradd test
    $ passwd test
    $ chown test:httpd test ★グループをApacheの実行ユーザと同じにする
    $ chmod 710 test ★Apacheの実行ユーザがユーザディレクトリを実行できるようにする
    
  7. httpd再起動
  8. $ /etc/rc.d/init.d/httpd restart
  9. example.comとtest.example.comがそれぞれ表示されればOK
  10. ※あらかじめ、それぞれのDocumentRootに識別可能な形のindex.htmlを置いておくこと

以上




お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク

コメントを残す