LoginSignup
2
4

More than 5 years have passed since last update.

Apache の VirtualHost 設定のメモ

Posted at

設定例

httpd.conf(または分割先の設定ファイル)に、以下のように設定する

/etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName mysrv.local
    DocumentRoot /var/www/vhosts/mysrv.local/public
    ServerAdmin root@mysrv.local

    # DocumentRoot
    <Directory "/var/www/vhosts/mysrv.local/public">
        Options All
        AllowOverride All
        Require all granted
    </Directory>

    # Log
    CustomLog logs/mysrv.local/access_log combined env=!resources
    CustomLog logs/mysrv.local/resource_log combined env=resources
    CustomLog logs/mysrv.local/referer_log referer env=!is_intra_referral
    ErrorLog logs/mysrv.local/error_log

</VirtualHost>

↑ここで設定したディレクトリやログファイルは、事前に作成しておく

注意

デフォルトのサイト

前述のような設定がされている場合、デフォルトのホスト名もVirtualHost設定をする必要がある。
でないと、一番上のVirtualHost設定が適用される。
たとえば上記の設定だけがある状態でlocalhostでアクセスすると、mysrv.local にアクセスしたのと同じ動きになる

アクセス制御の書き方

Apache 2.3以降では、

    AllowOverride All
    Order allow,deny
    Allow from all

    ↑ではなく、↓のように書く (じゃないと 403 になる)

    AllowOverride All
    Require all granted
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4