Apacheのポート番号を使ったバーチャルホスト : Apache


IPアドレスが1つ設定したサーバでポート番号を使って、Apacheのバーチャルホストを実現するメモです。
AWSのEC2を利用していることを前提とします。

概要

http://203.0.113.0へアクセスしたときは/var/www/80のコンテンツを表示して、http://203.0.113.0:8080へアクセスしたときは/var/www/8080を表示します。

IP ポート Document Root
203.0.113.0 80 /var/www/80
203.0.113.0 8080 /var/www/8080

ポートを追加

/etc/apache2/ports.conf8080を追加します。

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80
Listen 8080  # 追加します

<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

設定ファイル作成

8080ポートの設定ファイルを作成

/etc/apache2/sites-available/8080.confを作成します(名前は任意)。

<VirtualHost *:8080>

        # ...

        DocumentRoot /var/www/8080

        # ...

        ErrorLog ${APACHE_LOG_DIR}/error.8080.log
        CustomLog ${APACHE_LOG_DIR}/access.8080.log combined
</VirtualHost>

<Directory "/var/www/var/www/8080">
AllowOverride All
Require all granted
</Directory>

有効化

下記コマンドを実行して、/etc/apache2/sites-enabledへシンボリックファイルを作成

$ sudo a2ensite 8080

AWSのセキュリティーグループの設定

AWSのセキュリティーグループで、カスタムTCPを選択して8080を許可します。

Apacheを再起動

$ sudo service apache2 reload

Ref

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。