[Zend Framework] Zend Server: アプリケーションの動作確認をする(2)

Zend Server – アプリケーションの動作確認をする(1) | deadwood でひとまずの動作は可能になりました。
続けてバーチャルホストの設定をしてみます。

Contents

Note

このエントリーの内容は、おそらく以前のバージョンで有効だった方法です。
Zend Server 6.0 では、こちらの設定方法がベストです。

Zend Server – アプリケーションの動作確認をする(3) | deadwood

http://vhsp.dev:10088/ で表示できるようにしてみます。

編集が必要なファイルは、以下の3つです。

  • /etc/hosts
  • /usr/local/zend/apache2/conf/httpd.conf
  • /usr/local/zend/apache2/conf/extra/httpd-vhosts.conf

また編集後、Apache のリスタートをします。

参考サイト

hosts

Mac OS X のファイルを編集して、vhsp.dev とローカルのサーバを紐づけます。

/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost
# Zend Server Virtual Host configuration
127.0.0.1       vhsp.dev

最後に書き加えました。

httpd.conf

ファイル内でバーチャルホスト設定がコメントアウトされているので、これを外して有効にします。

/usr/local/zend/apache2/conf/httpd.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

httpd-vhosts.conf

ファイル内にあった設定のサンプルを活かしつつ、参考サイトをみながら修正しました。

/usr/local/zend/apache2/conf/extra/httpd-vhosts.conf
<virtualHost *:10088>
    ServerAdmin <あなたのメールアドレス>
    DocumentRoot "/Users/<あなたの名前>/projects/vhsp/public"
    ServerName vhsp.dev
    SetEnv APPLICATION_ENV "development"
#    ErrorLog "logs/dummy-host2.example.com-error_log"
#    CustomLog "logs/dummy-host2.example.com-access_log" common
    <directory "/Users/<あなたの名前>/projects/vhsp/public">
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride none
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </directory>
</virtualHost>

SetEnv APPLICATION_ENV "development" を書いておくことで、開発時に詳細なエラーが表示されるようになります。

Zend_Application – エラーの確認方法 | deadwood

表示確認

変更を反映させるために、Apache をリスタートします。

% sudo /usr/local/zend/bin/apachectl restart

http://vhsp.dev:10088/ をブラウザで表示させます。

inst04

※ スクリーンショットを使い回していますが、正しいアドレスで表示できるはずです。

補遺、のつもりがほぼメイン

ちなみに Apache をリスタートしたときに、下記の警告がでていたので、あわせて解決してみます。

% sudo /usr/local/zend/bin/apachectl restart
httpd: Could not reliably determine the server's fully qualified domain name, using <あなたのMacの名前>.local for ServerName
[Sat Jun 15 22:11:10 2013] [warn] NameVirtualHost *:10088 has no VirtualHosts
-e /usr/local/zend/bin/apachectl restart [OK]

1つめは、ServerName の設定がないということらしいので、該当箇所を探してコメントアウトを消し、localhost を設定。

/usr/local/zend/apache2/conf/httpd.conf
ServerName localhost:10088

2つめは、何のことやら分からなかったんですが、どうやらこれっぽい。
confを2つ読み込んでる?!

linux – Apache 2 startup warning: NameVirtualHost *:80 has no VirtualHosts – Server Fault
Or its (NameVirtualHost *:80) added twice in your apache2 Confing file.
/usr/local/zend/apache2/conf/httpd.conf を見直したら、末尾に該当する記述が。。。

/usr/local/zend/apache2/conf/httpd.conf
NameVirtualHost *:10088
<virtualHost *:10088>
#ZEND-{3C8CB58DE7E1D71F5239B2E8BF52B5CB}
Include "/usr/local/zend/etc/sites.d/zend-default-vhost-10088.conf"
#ZEND-{3C8CB58DE7E1D71F5239B2E8BF52B5CB}
</virtualHost>
#ZEND-{1B36F6C287C08B12A6286BA8E7FC6C33}
#ZEND-{EE824B05A52935203B21FF14672661E6}
Include "/usr/local/zend/etc/sites.d/globals-*.conf"
Include "/usr/local/zend/etc/sites.d/vhost_*.conf"
#ZEND-{EE824B05A52935203B21FF14672661E6}

結果、かなりのショックを受ける解決法だったのだが、長くなりそうなので次回へ続く。
このやり方はやり方で勉強になりました。