いろんなことの備忘録

音楽とかwebとか

macでローカルホストのバーチャルホストを設定してサブドメインを使う

どこでも作業できるようにサブドメインで案件を進めようと思いました
http://○○○○.localhost/
こんなやつです

サブドメインを設定するにはバーチャルホストと言う方法を使うそうです
部屋が一つの家からいっぱい部屋のある家にしようって感じらしいです
設定の方法がIPベースとNAMEベースっていう2種類あるようですが今回はMANEベースで設定しました
ここにいい感じの説明があります
https://co-akuma.directorz.jp/blog/2010/10/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9B%E3%82%B9%E3%83%88%E3%81%A8%E3%81%AF%EF%BC%9F/


作業自体はほとんどここを参考にしましたが補足や少し僕のとことなる箇所があったので欲しくてきな感じで書きます
http://blog.playispeace.com/884/subdomain_for_macosx10-7-5/




そもそもローカルホストってなんや、設定ファイルはどこにあるんやって感じならここを一度見てください
tamsaaan.hatenablog.com



/private/etc/hostsに

127.0.0.1 ○○○○○○.localhost

を追記
○○○○○○は設定したいサブドメイン名でいいと思います



/etc/apache2/httpd.conf に

NameVirtualHost *:80

ServerName ○○○○○○.localhost
DocumentRoot "/Library/WebServer/Documents/○○○○○○/html"

○○○○○○は自分の設定したいサブドメイン
DocumentRootは読ませたいファイルの場所です


ですが今回の設定を別ファイルで管理したいのでvirtualhost.confに記述しました

/etc/apache2/httpd.confに
Include /private/etc/apache2/other/*.conf
といのがあればother以下の.confを読み込んでくれるのでここに保存しました
なければ読み込ます記述をすれば大丈夫です




ターミナルでsudo apachectl restart入力してapacheを再起動し
http://○○○○.localhost/が見れるようになってます




複数設定したい場合はhostに記述し

ServerName ○○○○○○.localhost
DocumentRoot "/Library/WebServer/Documents/○○○○○○/html"
を新たにコピペすればいけました



最後にssiを設定して終わりだと思ったがつまづいた


ServerName ○○○○○○.localhost
DocumentRoot "/Library/WebServer/Documents/○○○○○○/html"

Options Includes FollowSymLinks
AllowOverride none
Require all granted
AddType text/html .html
AddOutputFilter INCLUDES .html

とconfに記述すればいいはずなのに...
と思ったがmod_include.soというファイルを読んでなかったらしい

httpd.confのmod_include.soの記述のコメントアウトを外して


mod_include.soはmacのどこかにあると思うので

sudo find / -name mod_include.so で検索
僕の場合HD/usr/libexec/apache2/mod_include.soにあったのでコピペで
記述されてるlibexec/apache2/にmod_include.soを置いてsudo apachectl restart