Install Akeneo PIM

#Installing Akeneo PIM Community Edition (CE)

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

You can either use composer to create your project:

$ composer create-project akeneo/pim-community-standard /srv/pim "7.0.*@stable"

or download an archive containing Akeneo PIM and its PHP dependencies: https://download.akeneo.com/pim-community-standard-v6.0-latest-icecat.tar.gz

#Initializing Akeneo

Copy the .env into a local .env and make the configuration in the local .env.

Configure the PIM via the .env file:

APP_ENV=prod
APP_DATABASE_HOST=localhost
APP_DATABASE_PORT=null
APP_DATABASE_NAME=akeneo_pim
APP_DATABASE_USER=akeneo_pim
APP_DATABASE_PASSWORD=akeneo_pim
APP_INDEX_HOSTS='localhost:9200'

#Launching the PIM in dev mode

All make commands must be run from the PIM root directory, either created by the archive or from the composer create project above.

You can then launch the install with the following command:

$ NO_DOCKER=true make dev

Once this command is finished, the PIM is accessible at http://localhost:8080/

#Launching the PIM in prod mode

$ NO_DOCKER=true make prod

Once this command is finished, the PIM is accessible at http://localhost:8080/

#Setup Akeneo

#Configuring Akeneo

Akeneo PIM is configured with environment variables. The Symfony documentation explains how to use them.

#Running jobs

Akeneo PIM implements a queue for the jobs, as a PHP daemon. This daemon is a Symfony command, that can only execute one job at a time. It does not consume any other job until the job is finished.

You can launch several daemons to allow the execution of several jobs in parallel. A daemon checks every 5 seconds the queue and executes the next job from the queue.

Follow the job queue daemon set up in this dedicated section.

#Cron jobs

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.

Be sure to update the cron of the user used to install the PIM, to be able to run the command

Community Edition and Enterprise Edition cron jobs:

Symfony console command

Crontab frequency

Human frequency

pim:versioning:purge --more-than-days 90 --no-interaction --force

0 1 * * 0

At 01:00 AM on Sunday

akeneo:batch:purge-job-execution

0 0 1 * *

At 00:00 AM, every first day of the month

akeneo:connectivity-audit:update-data

1 * * * *

Every hour

akeneo:connectivity-connection:purge-error

10 * * * *

Every hour

akeneo:connectivity-audit:purge-error-count

40 12 * * *

At 12:40 AM

pim:versioning:refresh

0 3 * * *

At 03:00 AM

pim:volume:aggregate

0 4 * * *

At 04:00 AM

pim:data-quality-insights:schedule-periodic-tasks

15 0 * * *

At 00:15 AM

pim:data-quality-insights:prepare-evaluations

*/10 * * * *

Every 10 minutes

pim:data-quality-insights:evaluations

*/30 * * * *

Every 30 minutes

akeneo:connectivity-connection:purge-events-api-logs

5 * * * *

Every hour

akeneo:connectivity-connection:openid-keys:create --no-interaction

4 21 * * 0

At 09:04 PM on Sunday

pim:data-quality-insights:clean-completeness-evaluation-results --no-interaction

30 0 * * *

At 00:30 AM

pim:job-automation:push-scheduled-jobs-to-queue

*/10 * * * *

Every 10 minutes

akeneo:messenger:doctrine:purge-messages messenger_messages default

0 */2 * * *

Every 2 hours

Additional Enterprise Edition cron jobs:

Symfony console command

Crontab frequency

Human frequency

akeneo:rule:run

0 5,11,17,23 * * *

At 05:00 AM, 11:00 AM, 05:00 PM, 11:00 PM

pimee:project:recalculate

20 0 * * *

At 00:20 AM

pimee:project:notify-before-due-date

0 2 * * *

At 02:00 AM

akeneo:reference-entity:refresh-records

0 23 * * *

At 11:00 PM

akeneo:asset-manager:refresh-assets --all

0 23 * * *

At 11:00 PM

pimee:sso:rotate-log 30

5 22 * * *

At 10:05 PM


Found a typo or a hole in the documentation and feel like contributing?
Join us on Github!