VirtualHost設定まとめ
UbuntuでのVirtualHostの設定をまとめ。
ローカルネットワーク内のテストサーバーで、という前提で。
VirtualHostの設定ファイルの置き場所:
/etc/apache2/sites-available/
ここに「default」というファイルがあるので、このファイルを複製して、
新しいVirtualHostを作っていく。
VirtualHostの作成
とりあえず、mysite1というサイトを作る。
1. defaultファイルを複製し、mysite1ファイルを作成。
$ sudo cp default mysite1
2. mysite1ファイルを編集。
$ sudo vi mysite1
以下、変更・追加の箇所のみ。
ServerAdmin webmaster@localhost(←メールアドレスを適宜変更)
DocumentRoot /var/www/mysite1(←ディレクトリはあとで作る。)
ServerName mysite1(←項目ないので追加。)
(← となっている部分)
Errorlog /var/log/apache2/mysite1_error.log(←適宜変更)
CustomLog /var/log/apache2/mysite1_access.log combined(←適宜変更)
3. ディレクトリを作成。
$ sudo mkdir /var/www/mysite1
4. mysiteを有効化。
(/etc/apache2/sites-availableにいるとして)
$ sudo a2ensite mysite1
↓
/etc/apache2/sites-enabled
にmysite1のシムリンクが出来上がる。
5. hostsに名前を書き込む
(固定IPが割り振ってあるとして。)
詳細はこちらを参照:
UbuntuTips/DedicatedServer/ApacheVirtualHost - Ubuntu Japanese Wiki
$ sudo vi /etc/hosts
xxx.xxx.xxx.xxx mysite1 (/var/www/にアクセスするホスト名)
6. apacheを再起動。
$ sudo /etc/init.d/apache2 restart
※ ローカルネット上のテストサーバーなんで、閲覧するクライアントPCのhostsファイルに、IPアドレスとホスト名(mysite1)は記述しておく。
ポート番号でアクセスするVirtualHost作成
80番ポートではなく、
http://xxx.xxx.xxx.xxx:(ポート番号)/
でアクセスするサイトの作成方法。
mysite2というファイル名で。
1. defaultファイルを複製し、mysite2ファイルを作成。
$ sudo cp default mysite2
2. mysite2ファイルを編集。
$ sudo vi mysite2
以下、変更・追加の箇所のみ。
(←「80」となっているところを使用するポート番号に変更。)
ServerAdmin webmaster@localhost(←適宜変更)
DocumentRoot /var/www/mysite2(←ディレクトリはあとで作る。)
(ServerNameは追加しない。)
(← となっている部分)
Errorlog /var/log/apache2/mysite2_error.log(←適宜変更)
CustomLog /var/log/apache2/mysite2_access.log combined(←適宜変更)
3. Listenするポート番号を追加。
$ sudo vi /etc/apache2/ports.conf
NameVirtualHost *:80
Listen 80
Listen (ポート番号) (←mysite2ファイルに設定したポート番号を追記。)
以下、mysite1の手順3以降と同じだが、手順5のhostsファイルに名前追加はいらない。
VirtualHostの削除(無効化)
mysite1を無効化する場合。
/etc/apache2/site-enabledで、以下を実行。
$ sudo a2dissite mysite1
/etc/apache2/site-enabled
内のmysite1のシムリンクが削除される。
apacheを再起動。
$ sudo /etc/init.d/apache2 restart
mysite1の設定ファイルは残っているが、サイトは無効化される。