前々回の記事でインストールをやり、
前回の記事でサブドメインの設定について書きました。
今回はLAN内の別のPCからアクセスする方法を書きます。
前回のようなサブドメインではなく、ポートを使ってバーチャルホストを実現します。
まずはApacheをインストールしたPCが外部からのアクセスを許可しているか確認します。
他のマシンのブラウザから対象PCのIPアドレスを入力します。
IPアドレスは「コマンドプロンプト」で「ipconfig」と入力すると確認できます。
(スタートメニュー>プログラム>アクセサリ>コマンドプロンプト)
例:http://192.168.0.10/
これでAMPPSの画面が出てくればいいですが、出てこない場合はファイアウォールの設定が必要になります。
自分の環境では「Apache HTTP Server」として有効になっていました。
ローカルPC内ならサブドメインを用いたバーチャルホストが使えますが、その方法だと他のPCからはちょっと手間がかかります。
なのでポート単位でバーチャルホストを実現する方法をここでは書きます。
まずは httpd.conf に使用したいポートを追記します。
「80」はAMPPSの管理画面のために残しておきたいので、「8080」や「8000」など空きポートを使います。
[AMPPSフォルダ]apacheconfhttpd.conf
Listen 80
↓
Listen 80
Listen 8080
次にバーチャルホストの設定です。
[AMPPSフォルダ]apacheconfextrahttpd-vhosts.conf
<VirtualHost *:8080>
DocumentRoot "U:/http"
ServerName localhost
</VirtualHost>
肝は「8080」になっているところと、サーバーネームにサブドメインを付けないことです。
これで、下記のようにポート番号を指定してアクセスすれば見えるようになります。
例:http://192.168.0.10:8080/
上記のサイトがとても詳しいので参考にしてください。
上記サイトほか、ポート変更する場合は「NameVirtualHost」の設定も必要のようですが、自分の環境では変更していません。
単に設定し忘れただけなのですが動いているので良しとします。
どうせ自分しか見ないものなのでw
サブドメイン「test」を作って、「http://test.localhost/」として表示されるように設定します。
hostsファイルは「C:WINDOWSsystem32driversetc」にあります。
ただのテキストファイルなのでメモ帳などで編集できます。
127.0.0.1 localhost
という行がありますので、下記のように追加します。
127.0.0.1 localhost 127.0.0.1 test.localhost
「http://test.localhost/」を開いてAMPPSの画面が出てくれば成功です。
Windows7の場合hostsを編集しようとするとエラーが出てくることがあります。
その場合、編集したいプログラム(メモ帳など)のプロパティから
互換性タブ>特権レベル>管理者としてこのプログラムを実行する
にチェックを入れてください。
httpd.conで下記の行がコメントアウトされていないことを確認します。
httpd.confは「AMPPSインストール先apacheconf」にあります。
# Virtual hosts Include conf/extra/httpd-vhosts.conf
バーチャルホストに関する設定ファイル「AMPPSインストール先apacheconfextrahttpd-vhosts.conf」を編集します。
初期状態では空っぽになっています。
「conforiginalextrahttpd-vhosts.conf」をコピーしても構いません。
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "U:/http" ServerName test.localhost ErrorLog "logs/test-error.log" CustomLog "logs/test-access.log" common </VirtualHost> <directory "U:/http"> order deny,allow deny from ALL allow from ALL </directory>
フォルダ位置は任意でかまいません。
ポートを変更した場合は「80」になっている箇所も合わせます。
<directory>~</directory>は無くてもいいという記事もありましたが、無いと表示されませんでした。