Skip over navigation
Documentation
You are currently viewing documentation for a previously released version of OroCommerce. See the latest long-term support version.

Web Server Configuration

Web Server Installation

Please follow the guidance in the official Apache and nginx documentation for detailed information on web server installation:

  • Apache 2.2
  • Apache 2.4
  • nginx

Web Server Configuration

The following sections contain the recommended configuration for supported web server types and versions.

Apache 2.2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
    <VirtualHost *:80>
        ServerName {$folder_name}.example.com

        DirectoryIndex index.php
        DocumentRoot [$folder_location]}/{$folder_name}/public
        <Directory  [$folder_location]}/{$folder_name}/public>
            # enable the .htaccess rewrites
            AllowOverride All
            Order allow,deny
            Allow from All
        </Directory>

        ErrorLog /var/log/apache2/{$folder_name}_error.log
        CustomLog /var/log/apache2/{$folder_name}_access.log combined
    </VirtualHost>

Apache 2.4

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
    <VirtualHost *:80>
        ServerName {$folder_name}.example.com

        DirectoryIndex index.php
        DocumentRoot [$folder_location]}/{$folder_name}/public
        <Directory  [$folder_location]}/{$folder_name}/public>
            # enable the .htaccess rewrites
            AllowOverride All
            Require all granted
        </Directory>

        ErrorLog /var/log/apache2/{$folder_name}_error.log
        CustomLog /var/log/apache2/{$folder_name}_access.log combined
    </VirtualHost>

Note

Please make sure mod_rewrite and mod_headers are enabled.

Nginx

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
    server {
        server_name {$folder_name}.example.com;
        root  [$folder_location]}/{$folder_name}/public;

        location / {
            # try to serve file directly, fallback to index.php
            try_files $uri /index.php$is_args$args;
        }

        location ~ ^/(index|index_dev|config|install)\.php(/|$) {
            fastcgi_pass 127.0.0.1:9000;
            # or
            # fastcgi_pass unix:/var/run/php/php7-fpm.sock;
            fastcgi_split_path_info ^(.+\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param HTTPS off;
        }

        location ~* ^[^(\.php)]+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js)$ {
           access_log off;
           expires 1h;
           add_header Cache-Control public;
        }

        error_log /var/log/nginx/{$folder_name}_error.log;
        access_log /var/log/nginx/{$folder_name}_access.log;
    }

Caution

Make sure that the web server user has permissions for the log directory of the application.

More details on the file permissions configuration are available in the official Symfony documentation

ForumsForums
Back to top