Installing Akeneo PIM Enterprise Edition (EE) with the Archive¶
This document provides step by step instructions to install the PIM with the archive on an environment that fulfills the expected System Requirements.
By default Composer uses packagist.org to retrieve all open source packages and their updates. To download Akeneo PIM Enterprise Edition, you have to get access to our private enterprise edition repository by sending your SSH public key to our system.
Getting Akeneo PIM¶
This document provides step by step instructions to obtain an archive of the PIM Enterprise Edition.
Get PIM Enterprise Edition (EE) archive¶
Get the PIM Enterprise Edition (EE) archive from the Portal.
Extracting the archive¶
1 2 | $ mkdir -p /path/to/installation
$ tar -xvzf pim-enterprise-standard-v2.3.tar.gz -C /path/to/installation/
|
Note
Replace /path/to/installation by the path to the directory where you want to install the PIM.
Note
Replace pim-enterprise-standard-v2.3.tar.gz by the location and the name of the archive you have downloaded from the Portal. Instructions on how to download this archive are available from the Help Center
Note
The PIM will be extracted in the folder /path/to/installation/pim-enterprise-standard.
Initializing Akeneo¶
Note
Remember that dev
is the default and slowness environment. So when you launch a Symfony command, always add --env=prod
in prod environment to avoid useless logging and profiling.
1 | $ cd /path/to/installation/pim-enterprise-standard
|
Dependencies,
1 2 | $ php -d memory_limit=3G ../composer.phar install --optimize-autoloader --prefer-dist
$ yarn install
|
Frontend,
1 2 | $ php bin/console cache:clear --no-warmup --env=prod
$ php bin/console pim:installer:assets --symlink --clean --env=prod
|
Installation,
1 2 | $ bin/console pim:install --force --symlink --clean --env=prod
$ yarn run webpack
|
Note
The ../composer.phar install
command writes the database configuration to app/config/parameters.yml
Configuring tasks via crontab¶
The application needs the following tasks to be executed in background on a regular basis. The frequency has to be adapted according to your data volume.
Edit your crontab with crontab -e
and configure your tasks.
Warning
Be sure to update the cron of the user used to install the PIM, to be able to run the command
You have to add these 6 commands to your local installation:
1 2 3 4 5 6 | php /path/to/installation/pim-enterprise-standard/bin/console pim:completeness:calculate --env=prod # recalculates the products completeness
php /path/to/installation/pim-enterprise-standard/bin/console pim:versioning:refresh --env=prod # processes pending versions
php /path/to/installation/pim-enterprise-standard/bin/console akeneo:rule:run --env=prod # executes rules on products
php /path/to/installation/pim-enterprise-standard/bin/console pimee:project:notify-before-due-date --env=prod # check and send notifications (TeamWork Assistant)
php /path/to/installation/pim-enterprise-standard/bin/console pim:asset:send-expiration-notification --env=prod # check and send notifications for asset date delay
php /path/to/installation/pim-enterprise-standard/bin/console pimee:project:recalculate --env=prod # recalculate project completeness (TeamWork Assistant)
|
In the following example, these lines will run the completeness calculation at 11pm, the versioning calculation at 5am, the rules calculation at 6pm and the aggregate volume at 10pm every day:
1 2 3 4 5 | # m h dom mon dow command
0 23 * * * php /path/to/installation/pim-enterprise-standard/bin/console pim:completeness:calculate --env=prod > /path/to/installation/pim-enterprise-standard/var/logs/calculate_completeness.log 2>&1
0 5 * * * php /path/to/installation/pim-enterprise-standard/bin/console pim:versioning:refresh --env=prod > /path/to/installation/pim-enterprise-standard/var/logs/refresh_versioning.log 2>&1
0 18 * * * php /path/to/installation/pim-enterprise-standard/bin/console akeneo:rule:run --env=prod > /path/to/installation/pim-enterprise-standard/var/logs/rule_run.log 2>&1
0 22 * * * php /path/to/installation/pim-enterprise-standard/bin/console pim:volume:aggregate --env=prod > /path/to/installation/pim-enterprise-standard/var/logs/volume_aggregate.log 2>&1
|
Note
> /path/to/installation/pim-enterprise-standard/var/logs/calculate_completeness.log 2>&1
is to redirect both stdout and stderr to your log file.
Note
The completeness is already recalculated automatically after an import, a mass action, after the rules are executed, after a family edition and after a product is saved.
Warning
Since some tasks may take a long time to be executed, adapt the frequency of these tasks according to your needs, to your server capabilities and to your catalog size.
Launching the daemon for job execution¶
Launch a daemon in order to execute the jobs. Please follow this documentation: Setting up the job queue daemon.
Testing your installation¶
Access the web folder using your favorite web browser and log in with admin/admin. If you see the dashboard, congratulations, you have successfully installed Akeneo PIM! You can also access the dev environment using app_dev.php as index.
If an error occurs, it means that something went wrong in one of the previous steps. Please check error outputs of all the steps.
Known issues¶
- with XDebug on, the default value of max_nesting_level (100) is too low and can make the ACL loading fail (which causes 403 HTTP response code on every application screen, even the login screen). A working value is 500:
xdebug.max_nesting_level=500
- not enough memory can cause the JS routing bundle to fail with a segmentation fault. Please check with
php -i | grep memory
that you have enough memory according to the requirements - If you do install the PIM twice, ensure all the PIM cron tasks are stopped before the installation of the database, to avoid Base table or view not found errors.
What’s next?¶
Now you have an Akeneo PIM up and running. But maybe you want more! What about these topics?
- You can switch to the minimal dataset or import your own data by following How to customize the Dataset.
- You can add additional translations by following How to Add Translation Packs.
Found a typo or a hole in the documentation and feel like contributing?
Join us on Github!