This is an example of a fully functional OroCRM application which can be used as is or customized to meet your business needs.
Before starting the installation process, please prepare infrastructure environment based on the system requirements.
- Clone OroCRM application repository:
git clone -b x.y.z https://github.com/orocrm/crm-application.git
where x.y.z is the latest release tag or use the latest master:
git clone https://github.com/orocrm/crm-application.git
- Install Composer globally following the official Composer installation documentation and install fxpio/composer-asset-plugin plugin for it:
composer self-update
composer global require "fxp/composer-asset-plugin"
Note: This is a temporary solution. After plugin version 1.3.0 is released, the requirement will be changed to version 1.3 (see related issue).
-
Install Node.js.
-
Install application dependencies running the following command from the application folder:
composer install --prefer-dist --no-dev
-
Create the database with the name specified in the previous step (default name is "oro_crm").
-
Install the application and the admin user with the Installation Wizard by opening install.php in the browser or from CLI:
php app/console oro:install --env=prod
- Configure the Web Socket server process and the Message Queue consumer process in Supervisor:
[program:orocrm_web_socket]
command=/path/to/app/console clank:server --env=prod
numprocs=1
autostart=true
startsecs=0
user=www-data
redirect_stderr=true
[program:orocrm_message_consumer]
command=/path/to/app/console oro:message-queue:consume --env=prod
process_name=%(program_name)s_%(process_num)02d
numprocs=5
autostart=true
autorestart=true
startsecs=0
user=www-data
redirect_stderr=true
or run them manually:
php /path/to/app/console clank:server --env=prod
php /path/to/app/console oro:message-queue:consume --env=prod
Note: the port used by Web Socket must be open in the firewall for outgoing/incoming connections.
- Configure crontab:
*/1 * * * * /path/to/app/console oro:cron --env=prod
or scheduled tasks execution to run the command below every minute:
php /path/to/app/console oro:cron --env=prod
Note: /path/to/app/console
is a full path to app/console
script in your application.
Recommended configuration
;512Mb for php5
opcache.memory_consumption=512
;256Mb for php7
opcache.memory_consumption=256
opcache.max_accelerated_files=32531
opcache.interned_strings_buffer=32
To use Redis for application caching, follow the corresponding configuration instructions