Skip to content

Commit

Permalink
example webserver configs
Browse files Browse the repository at this point in the history
  • Loading branch information
tvlooy authored and weaverryan committed Apr 9, 2013
1 parent e843754 commit d46e96c
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 2 deletions.
6 changes: 4 additions & 2 deletions book/installation.rst
Expand Up @@ -195,8 +195,10 @@ Symfony2 should welcome and congratulate you for your hard work so far!
this is not required for development it is recommended at the time your
application goes into production as all system and configuration files
become inaccessible to clients then. For information on configuring
your specific web server document root, see the following
documentation: `Apache`_ | `Nginx`_ .
your specific web server document root, read
:doc:`/cookbook/configuration/web_server_configuration`
or consult the official documentation of your webserver:
`Apache`_ | `Nginx`_ .

Beginning Development
---------------------
Expand Down
2 changes: 2 additions & 0 deletions book/page_creation.rst
Expand Up @@ -439,6 +439,8 @@ the same basic and recommended directory structure:

* ``web/``: This is the web root directory and contains any publicly accessible files;

.. _the-web-directory:

The Web Directory
~~~~~~~~~~~~~~~~~

Expand Down
88 changes: 88 additions & 0 deletions cookbook/configuration/web_server_configuration.rst
@@ -0,0 +1,88 @@
.. index::
single: Web Server

Configuring a web server
========================

The web directory is the home of all of your application's public and static
files. Including images, stylesheets and JavaScript files. It is also where the
front controllers live. For more details, see the chapter about
:ref:`the-web-directory`.

The web directory is the one that you will need to configure in your webserver
as the documentroot. In the examples below, this directory is in
``/var/www/project/web/``.

Apache2
-------

For advanced Apache configuration options, see the official `Apache`_
documentation. The minimum basics to get your application running under Apache2
are:

.. code-block:: Apache2
<VirtualHost *:80>
ServerName www.domain.tld
DocumentRoot /var/www/project/web
<Directory /var/www/project/web>
# enable the .htaccess rewrites
AllowOverride All
Order allow,deny
Allow from All
</Directory>
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>
.. note::

For performance reasons, you will probably want to set
``AllowOverride None`` and implement your ``.htaccess`` into the
vhost config.

Nginx
-----

For advanced Nginx configuration options, see the official `Nginx`_
documentation. The minimum basics to get your application running under Nginx
are:

.. code-block:: nginx
server {
server_name www.domain.tld;
root /var/www/project/web;
location / {
# try to serve file directly, fallback to rewrite
try_files $uri @rewriteapp;
}
location @rewriteapp {
# rewrite all to app.php
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/(config|app|app_dev)\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
.. note::

Depending on your PHP-FPM config, the ``fastcgi_pass`` can also be
``fastcgi_pass 127.0.0.1:9000``.

.. _`Apache`: http://httpd.apache.org/docs/current/mod/core.html#documentroot
.. _`Nginx`: http://wiki.nginx.org/Symfony

1 change: 1 addition & 0 deletions cookbook/map.rst.inc
Expand Up @@ -24,6 +24,7 @@
* :doc:`/cookbook/configuration/external_parameters`
* :doc:`/cookbook/configuration/pdo_session_storage`
* :doc:`/cookbook/configuration/apache_router`
* :doc:`/cookbook/configuration/web_server_configuration`

* :doc:`/cookbook/console/index`

Expand Down

0 comments on commit d46e96c

Please sign in to comment.