●apacheでネームベースの仮想ホスト構築
配置
/varウェルカムページを全てコメントアウト
└─www
│ .htpasswd
├─cgi-bin
├─error
├─html
├─icons
├─virtual1
│ ├─appli WEBアプリケーション
│ │
│ ├─document ドキュメントルート
│ │
│ └─logs アクセスログ、エラーログ
│
└─virtual2
├─appli WEBアプリケーション
│
├─document ドキュメントルート
│
└─logs アクセスログ、エラーログ
$ sudo vi /etc/httpd/conf.d/welcome.confトップページ作成
$ vi /var/www/virtual1/document/index.html404エラーページ作成
$ vi /var/www/virtual2/document/index.html
$ vi /var/www/virtual1/document/404.htmlapache 設定ファイル
$ vi /var/www/virtual2/document/404.html
$ sudo mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org設定ファイルの文法チェック
$ sudo cp /etc/httpd/conf/httpd.conf.org /etc/httpd/conf/httpd.conf
$ sudo vi /etc/httpd/conf/httpd.conf
$ sudo diff /etc/httpd/conf/httpd.conf.org /etc/httpd/conf/httpd.conf
44c44
< ServerTokens OS
---
> ServerTokens ProductOnly
536c536
< ServerSignature On
---
> ServerSignature Off
759c759
< AddDefaultCharset UTF-8
---
> #AddDefaultCharset UTF-8
990c990
< #NameVirtualHost *:80
---
> NameVirtualHost *:80
1009a1010,1029
> <VirtualHost *:80>
> DocumentRoot /var/www/virtual1/document
> ServerName virtual1.mydmain.com
> ErrorLog /var/www/virtual1/logs/error_log
> CustomLog /var/www/virtual1/logs/access_log combined
> ErrorDocument 404 /404.html
> <Directory "/var/www/virtual1/document">
> AllowOverride All
> </Directory>
> </VirtualHost>
> <VirtualHost *:80>
> DocumentRoot /var/www/virtual2/document
> ServerName virtual2.mydmain.com
> ErrorLog /var/www/virtual2/logs/error_log
> CustomLog /var/www/virtual2/logs/access_log combined
> ErrorDocument 404 /404.html
> <Directory "/var/www/virtual2/document">
> AllowOverride All
> </Directory>
> </VirtualHost>
$ sudo /usr/sbin/apachectl configtestapacheを再起動
$ sudo service httpd restarthttp://virtual1.mydmain.com/
http://virtual2.mydmain.com/
上記の設定は ".htaccess" で制御可能。
BASIC認証アカウントとパスワードの作成
htpasswd /var/www/.htpasswd "id"認証制限したいパスに".htaccess"の作成
AuthType Basic
AuthName "Authentication required"
AuthUserFile /var/www/.htpasswd
Require valid-user