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:

1
2
$ wget https://download.akeneo.com/pim-community-standard-v2.0-latest-icecat.tar.gz #for icecat version
$ wget https://download.akeneo.com/pim-community-standard-v2.0-latest.tar.gz #for minimal version

Extracting the archive

1
2
$ mkdir -p /path/to/installation
$ tar -xvzf pim-community-standard-v2.0-latest-icecat.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-community-standard-v2.0-latest-icecat.tar.gz by the location and the name of the archive you have downloaded from https://www.akeneo.com/download

Note

The PIM will be extracted in the folder /path/to/installation/pim-community-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-community-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.

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 2 commands to your local installation:

1
2
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

In the following example, these lines will run the completeness and versioning calculation every 15 minutes:

1
2
3
# m  h  dom  mon  dow  command
*/15 *  *    *    *    php /path/to/installation/pim-community-standard/bin/console pim:completeness:calculate --env=prod > /path/to/installation/pim-community-standard/app/logs/calculate_completeness.log 2>&1
*/15 *  *    *    *    php /path/to/installation/pim-community-standard/bin/console pim:versioning:refresh --env=prod > /path/to/installation/pim-community-standard/app/logs/refresh_versioning.log 2>&1

Note

> /path/to/installation/pim-community-standard/app/logs/calculate_completeness.log 2>&1 is to redirect both stdout and stderr to your log file.

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.

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?