Install Akeneo PIM
#Installing Akeneo PIM Community Edition (CE) 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.
#Getting Akeneo PIM
#Downloading the archive
You can choose to download a PIM Community Edition along with demo data (called icecat) or not (called minimal) from the download page https://www.akeneo.com/download. You can also download them directly from the command line:
$ wget https://download.akeneo.com/pim-community-standard-v3.0-latest-icecat.tar.gz #for icecat version
$ wget https://download.akeneo.com/pim-community-standard-v3.0-latest.tar.gz #for minimal version
#Extracting the archive
$ mkdir -p /path/to/installation
$ tar -xvzf pim-community-standard-v3.0-latest-icecat.tar.gz -C /path/to/installation/
Replace /path/to/installation by the path to the directory where you want to install the PIM.
- Replace pim-community-standard-v3.0-latest-icecat.tar.gz by the location and the name of the archive you have downloaded from https://www.akeneo.com/download
The PIM will be extracted in the folder /path/to/installation/pim-community-standard.
#Initializing Akeneo
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.
$ cd /path/to/installation/pim-community-standard
Dependencies,
$ php -d memory_limit=3G ../composer.phar install --optimize-autoloader --prefer-dist
$ yarn install
Frontend,
$ php bin/console cache:clear --no-warmup --env=prod
$ php bin/console pim:installer:assets --symlink --clean --env=prod
Installation,
$ bin/console pim:install --force --symlink --clean --env=prod
$ yarn run webpack
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.
Edit your crontab with crontab -e
and configure your tasks.
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 3 commands to your local installation:
php /path/to/installation/pim-community-standard/bin/console pim:completeness:calculate --env=prod # recalculates the products completeness
php /path/to/installation/pim-community-standard/bin/console pim:versioning:refresh --env=prod # processes pending versions
php /path/to/installation/pim-community-standard/bin/console pim:volume:aggregate --env=prod # recalculates the number of product values
In the following example, these lines will run the completeness calculation at 11pm, the versioning calculation at 5am and the aggregate volume at 10pm every day:
# m h dom mon dow command
0 23 * * * php /path/to/installation/pim-community-standard/bin/console pim:completeness:calculate --env=prod > /path/to/installation/pim-community-standard/var/logs/calculate_completeness.log 2>&1
0 5 * * * php /path/to/installation/pim-community-standard/bin/console pim:versioning:refresh --env=prod > /path/to/installation/pim-community-standard/var/logs/refresh_versioning.log 2>&1
0 22 * * * php /path/to/installation/pim-community-standard/bin/console pim:volume:aggregate --env=prod > /path/to/installation/pim-community-standard/var/logs/volume_aggregate.log 2>&1
> /path/to/installation/pim-community-standard/var/logs/calculate_completeness.log 2>&1
is to redirect both stdout and stderr to your log file.
The completeness is already recalculated after an import, a mass action, after the rules are executed, after a family edition and after a product is saved.
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!