Site Tools

 
 
 

installation_details_and_considerations

Installation details and considerations

Hardware Requirements

There are no limits on the type of hardware used to host an eFrontPro installation. However, as your needs grow, so will the need for additional resources. A bare-bone eFrontPro installation requires about 50M of free disk space and 64M of free system memory. However, a minimum of 128M free memory available to PHP is recommended. Disk space should be allocated according to usage.

For small installations (up to 100 users/20 simultaneous), a simple server with 1GB RAM should be sufficient. Doubling the RAM is recommended for double the usage (200 users/40 simultaneous). This rule of thumb is convenient for up to 1000 users/200 simultaneous. For usages higher than this, it is recommended to physically separate the database server from the web server.

Using SSD disks, especially for the database server, will considerable boost the overall performance.

Software Requirements

eFrontPro requires an environment running the following:

  • PHP version 5.5+ with the following extensions loaded:
  • Mysql Server 5+
  • Web server (Apache 2+ recommended for Linux systems, IIS for Windows servers)
  • eFrontPro may be installed either on a Windows or on a Linux environment. However, if you are going to use non-latin language settings, linux is preferred over windows due to the latter's poor support for UTF-8 filenames
  • It is strongly recommended to enable opcode caching, which is normally built into PHP 5.5+
  • It is strongly recommended to employ a PHP caching backend, such as APCu and Wincache (for windows)
  • Apache's mod_rewrite should be available and enabled.
  • .htaccess overrides should be enabled for the virtual host. Alternatively, copy the rewrite rules find under www/.htaccess in your server's conf file. This should also be the case if you are using a web server other than Apache (consult your web server's documentation on how to implement these rewrite rules. For IIS, see below Notes on configuring IIS)

You also need a modern browser with HTML5 capabilities to actually use eFrontPro. Internet Explorer is supported from version 9 and newer

Setting up Apache/Mysql/PHP (AMP)

Before you proceed with installing of eFrontPro, you have to make sure that you have a running Apache/Mysql/PHP environment. There are bundles that can ease this procedure, such as Wampserver and XAMPP

You can also consult our step-by-step guide for setting up a Linux Centos 7 server to work with efront.

There are a few PHP settings (defined in php.ini) that affect the way your system performs. The most important are the following:

  • memory_limit: Set this at least to 256M and increase as your load increases
  • max_execution_time: Set this at least to 60 or 120, depending on your data volume
  • upload_max_filesize: Set this to accommodate for the largest file you expect to be uploaded to the system
  • post_max_size: Set this equal to upload_max_filesize
  • max_input_nesting_level: Recommended value is at least 128
  • max_input_vars: Recommended value is at least 128

Preparing eFrontPro setup

  1. Uncompress eFrontPro files to a system folder, for example C:\efrontpro or /var/www/efrontpro
  2. Create a virtual host in your web server, having a document root pointing to the above directory's www/ folder, for example c:\efrontpro\www or /var/www/efrontpro/www. It is very important to make sure that it points to www/, and not efrontpro/, otherwise various parts of the system will misbehave.
  3. Give write permissions to your web server for the `efrontpro` folder. At minimum, the web server must have write access to the following folders:
    • www/content/
    • www/plugins/
    • upload/
    • backups/
    • temp/
    • libraries/ (for the duration of the installation, in order for the configuration file to be created. Permanently, in order to enable upgrading through the platform itself)

Installing eFrontPro using the web interface wizard

  1. Point your browser to your virtual host's homepage, for example http://efrontpro.example.com
  2. Click the «Install» button and fill in the required database and user information. Click on submit.
  3. That's it! You're now signed in as the administrator account, have fun!

Notes on configuring IIS

eFrontPro can be installed on a Microsoft Windows server, using IIS as your web server. In this case, you will need to make some adjustments:

  1. Set the mime type “application/json” for files ending in .json
  2. Provide an alternative for the rewrite rules that accompany eFrontPro. You can use IIS' import tool for importing existing .htaccess file (handy guide). Alternatively, create the following web.config file and place inside the site's root folder (for example, c:\Inetpub\wwwroot\www):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="index.php" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

The following screenshot depicts a common setup for IIS:

Common issues and solutions

Not Found (The requested URL /install/1/step/2 was not found on this server)

If you receive this error right after clicking to install eFrontPro, it probably means that rewrite rules are not working. Make sure you have enabled mod_rewrite in your apache settings. If you're using IIS, make sure you have configured the web.config file properly, according to the instructions above.

Another reason why this wouldn't work, is if you have disabled .htaccess files in your VirtualHost configuration. You must allow .htaccess files for this to work. To do this, change the AllowOverride setting to All instead of None (obviously this is one way to achieve this, it is not mandatory to use AllowOverride All if you don't want to. You can always copy the rules to your main configuration file)