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の設定ファイルは残っているが、サイトは無効化される。