ユーザー共有サイトを新設する
目次
1. 共有サイト作成について
ユーザー共有サイトが無くなった?
特定のMacに構築したサイトに、同一ローカルネットワーク上のコンピュータからアクセス可能な環境をつくります。
このような共有サイトは、Lion OSまでは「Web共有」という名称でGUI上からもサポートされていましたが、Mountain Lion(OS X Serverではサポートされているらしい)ではアップル環境設定>共有のリストから省かれています。
前回の記事で作成したサイトは自分のMacからのアクセスに限定しておりました。ここではLionまでのユーザー共有サイトのように、同一ネットワーク上で共有できるサイトを構築していきたいと思います。
DHCP-IPで接続 or 固定IPアドレスで接続
ここでは、2種類の方法で、共有サイトを作成していきます。
DHCP-IPで接続できる共有サイトを作る
共有サイトを置くMacが動的IPアドレス(ローカルネットワーク内のIPアドレス)の場合でも対応できるようなサイトを作ります。これはLion OSで、「パーソナルWeb共有」という名称でサポートされていた仕組みに近い形で動かします。
固定IPアドレスで接続する共有サイトを作る
前回記事までと同様に作成したWebサイトを、同一ネットワーク上のコンピュータからアクセス可能にします。IPを固定しなければならないのが面倒ですが、任意のサイトをお手軽に共有状態に変えられる方法です。
2. DHCP-IPで接続できる共有サイトを作成する
サイトのイメージ
下図のような、Lion OSのパーソナルWeb共有に似た機能を持つサイトを作成します。
イメージ図を挿入する!
Sitesフォルダを作成する
mkdir ~/Sites
これはMountain Lion OS上は特別扱いのフォルダで、作成するとアイコンの柄が変化します。
httpd-vhosts.confを編集する
共有サイト用のバーチャルホスト設定を行います。ここでは、複数あるVirtualHostコンテナのうち、先頭になるようにコードを挿入します。
httpd-vhosts.conf(挿入)
※”username“には、自分のアカウントのホームフォルダ名を入れてください。
※オレンジ字は、この共有サイトのものであることが分かればOKです。
<VirtualHost *:80> ServerName localhost/~username DocumentRoot "/Users/username/Sites" ErrorLog "/private/var/log/apache2/localhost~username-error_log" CustomLog "/private/var/log/apache2/localhost~username-access_log" common <Directory "/Users/username/Sites/"> AllowOverride Fileinfo Options order deny,allow deny from all allow from localhost 127.0.0.1 192.168 </Directory> </VirtualHost>
アクセス許可するIPアドレスとして、192.168を追記しました。192.168はローカルネットワーク内で利用するために割り当てられた範囲です(たぶん、多くの方の環境もそういう指定で動かしているはず)。これによって、同一ネットワーク内のコンピュータからのアクセスを許可し、サイト閲覧することが可能になります。
※補足:接続できるコンピュータのIPアドレスを限定したい場合は、192.168という指定ではなく、個別のIPアドレス(192.168.0.2 192.168.0.7・・・という感じで)を複数指定することもできます。
サイトにアクセスする(動作確認)
1)まずは、自分のMac上からアクセスできるかどうかを確認します。
http://localhost/~username
またはusernameを省略した、下記URLからでも表示されるはずです。
http://localhost
バーチャルホストを利用してサイト制御している場合にlocalhostにアクセスすると、最初のVirtualHostコンテナのサイトが表示されます。
2)次に、同一ネットワーク上のコンピュータからアクセスします。
次のどちらでもOKです。また、最後のスラッシュ以下を省略しても接続できます。
http://IPアドレス/~username http://コンピュータ名/~username
補足:コンピュータ名は、アップルメニュー>環境設定>共有 を開くと、画面上に書いてあります。
コンピュータ名を使って接続すれば、ルーターから割り当てられたIPアドレスが変わっても対応できるのが便利です。
他のユーザーアカウントの共有サイトを作る
他のユーザーアカウントで同様のサイトを作成して、ともに共有することもできます。この場合は、httpd-vhosts.confに、新しいVirtualHostコンテナを挿入し、そのアカウントのユーザ名に即して同様の設定文を記述していけばOKです。サイトに接続するときも、ユーザー名を置き換えればOKです。
http://IPアドレス/~new-username http://コンピュータ名/~new-username
共有サイトにまつわる不具合?
前項の方法によって複数のアカウントの共有サイトを作成した場合、httpd-vhosts.confで設定した内容が正しく反映されないことがあるようです。複数のサイトに関わる設定情報が1つのhttpd-vhosts.confファイルに書かれていますが、他のアカウントに関わる内容を(管理者権限で)編集&保存しても、反映されませんでした。
つまり、「自分のアカウントに紐づいたサイトのことは、自分で編集しないといけない」ということになります。これって仕様なのか、バグなのか原因は分かりませんが、ご注意ください。
3. 固定IPアドレスで接続する共有サイトを作る
今度は、前回記事で作成したサイトの1つ(localweb1.net)を、ローカルネットワーク上で共有できるようにします。
httpd-vhosts.confを編集する
変更点は一カ所だけで、allowディレクティブに対する引数に、共有したいコンピュータのIPアドレスを追加するだけです。例えば、こんな感じ。
allow from localhost 127.0.0.1 192.168
接続したいコンピュータのhostsを書き換える
共有サイトのホスト名から、共有サイトが乗っかっているMacのIPアドレスに飛べるように指定します。
hosts(追記)
例:IPアドレスが192.168.0.2の場合
192.168.0.2 localweb1.net
接続元のコンピュータがWindowsの場合でも、Windowsのhostsファイルに同様の指定をすればOKです。
つぶやき(駄):数台のコンピュータで共有することを前提に書いています。共有したいマシンの数が増えると、全部のhostsファイルを書き換えるなんて相当面倒ですよね。。あと、最近はiPadで見たい!という需要もあると思うんですが、iPadのhostsファイルは書き換えにはjail breakが必要になってしまうので、結局のところ、本格的にやろうと思うと代替DNSが必要になる・・・とか考え出すと尽きないです。
動作を確認する
httpd-vhosts.confで許可したIPアドレスを持つ、かつhosts設定を行ったコンピュータから、サイトURLにアクセスするだけです。
http://localweb1.net
次の記事:第7回 MySQLをインストールしてPHPと接続する
前の記事:第5回 Mountain Lionでバーチャルホスト設定を行う
「MacにWeb開発環境を構築する」の記事
- 第12回 MavericksにWeb開発環境を構築する
- 第11回 Perl/MySQLを接続するパッケージ、DBD::mysqlをインストールする
- 第10回 Perlをインストールして、Eclipse+EPIC+PadWalkerでデバッグできるようにする
- 第9回 WordPressをインストールして、Eclipseから編集&デバッグする
- 第8回 Eclipse+PDTをインストールして、XDebugでデバッグできるようにする
- 第7回 MySQLをインストールしてPHPと接続する
- 第6回 ユーザー共有サイトを新設する << この記事です
- 第5回 Mountain Lionでバーチャルホスト設定を行う
- 第4回 Mountain Lion付属のPHP&Apache2を使えるようにする
- 第3回 Macportsをインストールする
- 第2回 隠しファイルを表示する
- 第1回 Mountain Lionをクリーンインストールする