Tweetカテゴリ:Macタグ:MacMAMPApache以前、『MAMPを使ってMacのローカルで複数サイトのバーチャルホストを設定する方法』というエントリーを書いたのですが、もっと具体的に書いておいて、今後に活用しようと思ったので改めて、ちょっと内容も加えて書いておきます。1週目ので行った内容と同じになっております。PC内の特定のディレクトリをルートとして表示するバーチャルホストを複数設定してみるイントラ環境と仮想環境からのアクセスでも特定のディレクトリをルートとして表示するhtaccessをバーチャルホスト毎に使えるようにする今回はより明確に、この4つをそれぞれ達成できるように設定方法についてを書いてきたいと思います。■初期フォルダと中身の表示MAMPをインストールをしたフォルダ内の「httpd」フォルダにファイルをおくことで「http://localhost/ファイル名」で表示されます。http://127.0.0.1/(ポート設定が80の場合)http://sacss/でsacssフォルダを表示するための設定の流れまずは必要最低限の設定を行います。設定で触るファイルは、httpd.confとhttpd-vhost、それにhostの3ファイルです。■httpd.confMAMPのバージョンが2系からバーチャルホストの設定が分離され、extraフォルダ内のhttpd-vhosts.confで設定する様になっています。hostsのインクルード(Include)を有効にしておきます。/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf■httpd-vhosts.confextraフォルダ内にある、httpd-vhosts.confに設定を書き入れます。httpd-vhosts.confの内容で最低限必要なのは3点で、使うポートの設定と該当フォルダの場所、それにバーチャルホスト名として利用したいドメイン名を指定します。sacss</virtualhost>上記は、/Users/user/httpdocsのディレクトリをルートに設定し、そのディレクトリへhttp://sacss/でアクセス出来るようにするための設定が入っています。■hostsの書き換え最後に、PC内のドメインの行き先を管理しているhostsファイルに、バーチャルホスト名を追記します。hostsファイルがある場所は、/private/etc/hostsになります。Macの場合、隠しフォルダを表示にしておく必要があります。隠しフォルダが表示できないという場合は、Finderのメニューから、移動→フォルダへ移動を選択して、出てきたウィンドウに「/private/etc」と記入して移動すると、hostsファイルがあるフォルダが表示さようになります。hostsファイルは初期設定で上書保存できない設定になっていますので、ファイルを開く前に変更が保存できるように、hostsファイルを選択して右クリック→情報を見る・・・で出てきたウィンドウの一番下の項目「共有とアクセス権」で、自分のユーザーの書き込み権限をつけてください。localhost」となっている部分に、下記を追加します。localhost」は既に入っているので、localhostの右に半角スペースをひとつ入れて、今回追加したいバーチャルホスト名を追加します。最後に保存を忘れずにしてください。設定をした後、最後にapacheを再起動したらOKです。MAMPの場合は「サーバーの停止」ボタンでapacheをとめて、その後再度ボタンを押すと修正後の内容が反映されます。再起動後はブラウザで「http://sacss/」にアクセスしてください。設定したフォルダ内に何もなければ、下記の用にForbiddenが表示されたら、OKです。server.あとは、index.htmlなどのファイルを設定したフォルダに入れてください。バーチャルホストを複数設定してみるここまではhttp://sacss/でアクセスできるようにする設定を書いてきましたが、同様にhttp://hamham/で別ファイルにアクセス出来るように設定を追加したいと思います。ここまでの設定ができていたらわかるかもしれませんが、これまでの流れのうち、httpd-vhosts.confとhostsに内容を追加するだけで複数の追加が可能になります。案件ごとにフォルダ分けなどして、設定を追加してみてください。仮想PGやイントラネットからアクセス出来るようにするために次に、パソコン内に入れた仮想PCや、同じLAN環境にいるイントラネットからのアクセスでも、見れるようにする設定を加えてみます。イントラネットなどからのアクセス方法は、まずは見せたいPC(apacheが起動しているPC)のIPアドレスを調べて、それをドメインの代わりに入れてアクセスします。(IPが192.168.0.1なら、http://192.168.0.1/)このIPに同じイントラ環境にいる他の環境からアクセスすると、apacheの設定でポート80をデフォルトにしている場合は、そのPCのhttp://localhost/で設定していた中身を見ることができます。ポートが80以外に設定されている場合は、http://192.168.0.1:◯◯◯◯/のようなIP:ポートという順で書いてアクセスすると見ることができます。先ほど設定した「/Users/user/httpdocs」を他のイントラ環境から見るようにするためには、ポートによる指定を加え、特定のディレクトリの中身を見せるようにするための設定を加えます。ように、特定のポートでアクセスすることで、http://sacss/にアクセスした時と同じページを表示するようにするために、まずはapache側でListenを追加します。8888となっているかと思います。これが書かれている次の行に、この記述ど同様に自分の好きなポート番号を追加します。8000ここで追加した数値がポートとなり、http://192.168.0.1:◯◯◯◯/の◯◯の部分となります。8000を追加したら、http://192.168.0.1:8000/でアクセスできるようになります。sacss</virtualhost>と、追加したその真下あたりに、Listenで追加したポート分の設定を追記します。sacss</virtualhost>ここまで設定したら、再びapacheを再起動します。これで他のパソコンからも/Users/user/httpdocsへアクセスし、ブラウザでの表示が可能になります。Fusionの環境からアクセスする場合は、ネットワークの接続を「ブリッジ」にしておくことで、このアクセスが可能になります。.htaccessをバーチャルホスト毎に使えるようにするここまでの設定でほとんど終わりなのですが、追加したバーチャルホストの環境でも、htaccessを使えるようにするための設定についてを書いておきます。環境にあわせて.htaccessファイルを入れておきたい場合はないでしょうか?apache側で設定をしておけばいい話でもあるのですが、個人的に.htaccessで設定しておきたいことなどがあったりします。ところが、ここまでの設定では、追加したフォルダで.htaccessを追加したとしても反映されません。内にフォルダを指定してそこをルートにした場合は反映されます)これは、apacheの初期の設定で、ルートが下記の設定になっているためです。None</Directory>ここのAllowOverride部分がNoneになっているため、フォルダ毎の.htaccessの設定が利用できなくなっています。■AllowOverrideの追加.htaccessを使えるようにするためには、AllowOverrideを許可の設定にする必要があります。上記のルートでNoneをAllに変更するという方法でもいいのですが、個別に設定しておくほうが何かと便利なので、個別の設定を加えるようにします。設定で編集をするのはhttpd.confのみ。"/Applications/MAMP/Library/htdocs">の記述があるのですが、その下くらいに個別の設定を追記します。All</Directory>AllowOverrideの他にもOptionの設定を変更したい時などもここで指定します。あとはapacheを再起動したら、.htaccessが設定したディレクトリで有効になります。最後にあくまで最低限の設定です。ちなみに、公共のアクセスポイント環境下でMAMPを起動していると、誰かに見られる危険というのも十分ありますので、下記も追加変更しておきましょう。127.0.0.1</Directory>上記にすると、ローカル環境だけでしか見れなくなりますので、とりあえず簡易的対策として。[必須入力]※画像の中の文字を半角で入力してください。reserved.×この広告は180日以上新しい記事の投稿がないブログに表示されております。