OroCommerce is a web application which runs on a server. Users interact with the application via a web browser on any computer or mobile device that have access to the internet or the network where the server is hosted.
Resources configuration depends on the data size and number of active users and integrations. Typical setup could be done on a single server with a minimum of 2 CPU cores, 2GB RAM, and a fast hard drive (SSD is recommended). The application could scale to multiple servers and a separate database server based on the expected load.
Linux distributions (RedHat, Ubuntu, Debian, CentOS) are recommended for the production setup. Windows 7 and above and Mac OS X can be used for the development environment.
Oro applications are compatible with most web servers with PHP support, but the following configuration is recommended:
Web server configuration recommendations are well described in Symfony web server documentation
Few updates to default PHP configuration settings should be done in php.ini for the web server and CLI:
Depending on the debugging tools and extensions used during development, the memory_limit may be even higher in the development environment.
If the xdebug is installed (which is not recommended in the production setup):
By default, max_execution_time value equals 30 seconds. In case of using the Schema update option, it is recommended to increase this value.
The latest version of mariaDB may be used at one’s own risk. Oro applications are not tested with mariaDB, and thus the correct operation cannot be guaranteed.
It is recommended to disable phar PHP extension to reduce the risk of PHP unserialization vulnerability.
Enterprise Edition Software
Enterprise edition is built to support better scale and performance. It is compatible with additional software configuration that enables to achieve these goals.
PostgreSQL uuid-ossp extension should be loaded for proper doctrine’s guid type handling. In order to enable it, one can connect to the database server and run the following sql query:
CREATE EXTENSION "uuid-ossp";
- Tidy PHP extension should be installed to make sure that HTML is correctly converted into a text representation
- Redis - could be used for more efficient application caching. Supported versions of Redis >=5.*.
- The performance of MySQL can be optimized by adjusting the configuration
- pngquant and jpegoptim are used if it is necessary to optimize the image size in storage
On the client side, Oro applications could be used with most of the graphical browsers on any operating system. Recommended and supported browsers are: