はじめに
MacOSⅩ(El Capitan)のApacheを使って複数のサイトを運営する方法が必要だったので、いろいろ調べながらやってみました。
なお、とりあえずサーバを立ち上げるだけなら「Yosemite(MacOS:10.10.X)でApacheを使えるようにしてみる」をどうぞ!
El Capitanも立ち上げ方は変わりません。
環境
MacOSⅩ(El Capitan)
Apache 2.4.16 (Unix)
前準備
Apacheの初期設定を終わらせておきます。
参考:Yosemite(MacOS:10.10.X)でApacheを使えるようにしてみる
ポートの開放方法は、ご契約先のプロバイダにお問い合わせください。
まあたいていブラウザからデフォルトゲートウェイのアドレスにアクセスすれば設定できるとは思いますが……
設定
では実際にVirtualhostの設定を行っていきます。
サーバ用のフォルダの作成
~/Sites/
のような、Webサイト用のフォルダを2つ作ります。
私の場合、片方は普通のWebサイト用、もう片方はファイルサーバを作りたかったので、
httpd.confの設定
安定のhttp.confをいじります。
sudo vim /etc/apache2/httpd.conf
大体500行目くらいの、
#Include /private/etc/apache2/extra/httpd-vhosts.conf
の**「#」を消します**
httpd-vhosts.confの設定
先ほど#を削除したhttpd-vhosts.confを編集します。
sudo vim /private/etc/apache2/extra/httpd-vhosts.conf
このファイルの一番下に、設定をつらつらと書いていきます。
今回の場合は、
- ~/Sites/
- ~/FileServer/
の2つのフォルダに対してサイトを振り分けたいので……
<virtualhost *:80>
DocumentRoot "/Users/ユーザID/Sites/"
ServerName 割り当てるDNSサーバのアドレス
ErrorLog "/private/var/log/apache2/local.howtohp.com-error_log"
CustomLog "/private/var/log/apache2/local.howtohp.com-access_log" common
</virtualhost>
<virtualhost *:80>
DocumentRoot "/Users/ユーザID/FileServer/"
ServerName 割り当てるDNSサーバのアドレス
ErrorLog "/private/var/log/apache2/local.howtohp.com-error_log"
CustomLog "/private/var/log/apache2/local.howtohp.com-access_log" common
</virtualhost>
と言った具合にします。
割り当てるDNSサーバのアドレスに関しては、NoIPといったサービスを私は使っているので、そこで取得したURLを指定するとうまくいきました。
【注意】
もし、ディレクションをしていない場合、
<virtualhost *:80>
DocumentRoot "/Users/ユーザID/Sites/"
ServerName 割り当てるDNSサーバのアドレス
ErrorLog "/private/var/log/apache2/local.howtohp.com-error_log"
CustomLog "/private/var/log/apache2/local.howtohp.com-access_log" common
<Directory /Users/ユーザID/Sites/>
Require all granted
</Directory>
</virtualhost>
<virtualhost *:80>
DocumentRoot "/Users/ユーザID/FileServer/"
ServerName 割り当てるDNSサーバのアドレス
ErrorLog "/private/var/log/apache2/local.howtohp.com-error_log"
CustomLog "/private/var/log/apache2/local.howtohp.com-access_log" common
<Directory /Users/ユーザID/FileServer/>
Require all granted
</Directory>
</virtualhost>
という風にしないと、Forbiddenが表示される場合があります。
アクセス先を切り替える(hostsファイルの設定)
では設定してきたものを関連付けます。
sudo vim /etc/hosts
hostsファイルの最後に、以下の情報を追加します。
127.0.0.1 ~/SitesへのDNSのURL
127.0.0.1 ~/FileServerへのDNSのURL
Apacheの再起動
#設定ファイルに間違いがないかチェック
$ sudo apachectl configtest
Syntax OK #これが出ればOK
$sudo apachectl restart
これでアクセスできると思います。