みっともないやり方
前の章で、プロジェクトをホストするディレクトリを作りました。 WebサーバーのWeb公開ディレクトリのルートで作って入れば、Webブラウザーでプロジェクトにアクセスできます。
もちろん、設定をしなければ、すぐにセットアップが終わりますが、ブラウザーでconfig/databases.yml
ファイルにアクセスすると手抜きの結果がわかります。
Webサイトがsymfonyで開発されていることをユーザーが知ったら、たくさんの重要なファイルにアクセスされてしまいます。
運用サーバーでこのやり方をけっして実行しないでください。 Webサーバーを適切に設定するやり方を学ぶには次のセクションをご覧ください。
セキュアなやり方
Webのグッドプラクティスによれば、Web公開ディレクトリのルートではスタイルシート、JavaScriptと画像のようなWebブラウザーがアクセスするのに必要なファイルだけを設置します。
そしてデフォルトでは、symfonyプロジェクトのweb/
サブディレクトリの下でこれらのファイルを保存することをおすすめします。
このディレクトリを見てみると、Webアセット(css/
とimages/
)と2つのフロントコントローラーファイル用のサブディレクトリが見つかります。
フロントコントローラーはPHPのみのファイルでWeb公開ディレクトリのルートに置く必要があります。
ほかのすべてのPHPファイルはブラウザーから隠され、セキュリティに関してこれはよいアイディアです。
Webサーバーの設定
世界中から新しいプロジェクトにアクセスできるようにApacheの設定を変更しましょう。
httpd.conf
設定ファイルを見つけて開き次の設定を最後の行に追加します:
# Be sure to only have this line once in your configuration NameVirtualHost 127.0.0.1:8080 # This is the configuration for your project Listen 127.0.0.1:8080 <VirtualHost 127.0.0.1:8080> DocumentRoot "/home/sfproject/web" DirectoryIndex index.php <Directory "/home/sfproject/web"> AllowOverride All Allow from All </Directory> Alias /sf /home/sfproject/lib/vendor/symfony/data/web/sf <Directory "/home/sfproject/lib/vendor/symfony/data/web/sf"> AllowOverride All Allow from All </Directory> </VirtualHost>
note
/sf
エイリアスによってsymfonyのデフォルトページとWebデバッグツールバーを適切に表示するために必要な画像とJavaScriptファイルにアクセスできるようになります。
Windowsでは、Alias
の行を次のように置き換える必要があります:
Alias /sf "c:\dev\sfproject\lib\vendor\symfony\data\web\sf"
そして/home/sfproject/web
は次のように置き換えます:
c:\dev\sfproject\web
この設定によってApacheはマシンのポート番号8080
をリスニングするようになり、Webサイトは次のURLからアクセスできるようになります:
http://localhost:8080/
8080
は任意の番号に変更できますが、管理者権限が必要ない1024
より大きな番号が望ましいです。
新しい設定をテストする
Apacheを再起動し、ブラウザーを開きhttp://localhost:8080/index.php/
もしくはhttp://sfproject.localhost/index.php/
から新しいアプリケーションにアクセスできることを確認します。
URLは前のセクションで選んだApacheの設定方法によります。
tip
Apacheのmod_rewrite
モジュールをインストールしていれば、URLのindex.php/
の部分を取り除くことができます。
これはweb/.htaccess
ファイルで設定されるルールを書き換えることで実現可能です。
開発環境のアプリケーションにもアクセスしてみます(環境の詳細は次のセクションを参照)。 次のURLを入力します:
http://sfproject.localhost/frontend_dev.php/
Webデバッグツールバーは右上コーナーに表示されます。
小さなアイコンが含まれるのはsf/
エイリアスが正しいことを証明します。
note
Windows環境のIISでsymfonyを稼働させたい場合、セットアップ方法は少し異なります。 関連チュートリアルで設定方法がわかります。
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License license.