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-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¶
$ mkdir -p /path/to/installation $ tar -xvzf pim-community-standard-v2.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-v2.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.
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
$ php -d memory_limit=3G ../composer.phar install --optimize-autoloader --prefer-dist $ yarn install
$ php bin/console cache:clear --no-warmup --env=prod $ php bin/console pim:installer:assets --symlink --clean --env=prod
$ bin/console pim:install --force --symlink --clean --env=prod $ yarn run webpack
../composer.phar install command writes the database configuration to
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 2 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
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
> /path/to/installation/pim-community-standard/app/logs/calculate_completeness.log 2>&1 is to redirect both stdout and stderr to your log file.
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.
- 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:
- not enough memory can cause the JS routing bundle to fail with a segmentation fault. Please check with
php -i | grep memorythat 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.