Akeneo PIM (Product Information Management) is an open-source software developed by Akeneo to improve customer experience.
It is widely used by retailers, manufacturers, distributors, and other businesses dealing with large catalogs of products across multiple channels.
The benefits of streamlined product information management and improved data quality and consistency for enhancing the overall customer experience.
Let’s discuss how to install Akeneo on Ubuntu 22.04.
Here we use the below configuration to install Akeneo Ver. 7.x, you can choose your configuration as per the requirement.
Requirements to install Akeneo –
- Ubuntu 22.04
- System Requirements 8 GB of RAM, 4 CPU Cores, 25 GB of Disk space
- Web-server: Apache2
- MySQL 8.0
- PHP8.1
- Composer 2.5.X
- Elasticsearch 8.8.2
- Node 18
- Yarn
- Download Akeneo PIM Ver. 7.x
Step 1: Install Apache
Update the local package then Install Apache
1 2 3 4 |
sudo apt-get update sudo apt-get install apache2 sudo systemctl enable apache2 sudo systemctl status apache2 |
Step 2: Install MySql
Install MySQL and create a database for Akeneo
There are two ways to use MySQL database:
- Localhost MySQL Database Server
- AWS RDS(Relational Database Service)
Case-1 – For localhost MySQL database server
1 |
sudo apt-get install mysql-server |
- In this section, we can set our MySQL root password.
- We create a dbuser, database for Akeneo and give privileges to the dbuser.
1 2 3 4 5 6 7 |
sudo mysql ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; CREATE DATABASE akeneo_pim; CREATE USER akeneo_pim@localhost IDENTIFIED WITH mysql_native_password BY ‘akeneo_pim’; GRANT ALL PRIVILEGES ON akeneo_pim.* TO akeneo_pim@localhost; FLUSH PRIVILEGES; exit |
Case-2 – If you are using AWS RDS
Here we create a dbuser, database in AWS RDS for Akeneo and give privileges to the dbuser.
1 2 3 4 5 6 7 |
mysql -u admin -p -h RDS_end_point CREATE USER 'akeneo_pim'@'%' IDENTIFIED BY 'your_secure_password'; ALTER USER 'akeneo_pim'@'%' IDENTIFIED WITH mysql_native_password BY 'your_secure_password'; CREATE DATABASE akeneo_pim; GRANT ALL PRIVILEGES ON akeneo_pim.* TO 'akeneo_pim'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; exit |
Step 3: Install PHP and there required extension
- In this step, we add the Ondrej PPA repository.
- Install the PHP8.1 version and there required extension.
1 2 3 4 |
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php8.1-cli php8.1-apcu php8.1-bcmath php8.1-curl php8.1-opcache php8.1-fpm php8.1-gd php8.1-intl php8.1-mysql php8.1-xml php8.1-zip php8.1-mbstring php8.1-imagick |
Now we set the memory limit and date.timezone in php.ini for php CLI and FPM
1 2 3 4 5 6 7 |
vim /etc/php/8.1/cli/php.ini memory_limit = 1024M date.timezone = UTC vim /etc/php/8.1/fpm/php.ini memory_limit = 512M date.timezone = UTC |
Enable apache rewrite module and proxy_fcgi
1 2 3 |
sudo a2enmod rewrite proxy_fcgi sudo a2enmod rewrite sudo systemctl restart apache2 |
Step 4: Install Composer
- We install curl, wget, zip, unzip, and net-tools package,
- We install Composer with the required version.
1 2 3 4 |
sudo apt-get install curl wget zip unzip net-tools -y sudo curl -sS https://getcomposer.org/installer | php -- --version=2.5.8 sudo mv composer.phar /usr/local/bin/composer composer -V |
Step 5: Install Elasticsearch
- We download the GPG key for Elasticsearch packages
- Add the Elasticsearch repository to the system
- Install elasticsearch after the installation reload the daemon and enable the elastic search service
1 2 3 4 5 6 7 8 9 |
sudo apt-get install apt-transport-https sudo wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add – sudo echo “deb https://artifacts.elastic.co/packages/8.x/apt stable main” | tee -a /etc/apt/sources.list.d/elastic-8.x.list sudo apt-get update sudo apt-get install elasticsearch sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service sudo systemctl status elasticsearch.service |
Verify the proper functioning of Elasticsearch by executing the below command.
1 2 |
curl -XGET 'http://localhost:9200' sudo systemctl restart elasticsearch.service |
you can run the below commands to increase the MAX_MAP_COUNT Linux kernel setting. Proceed as follow.
1 2 3 |
sudo sysctl -w vm.max_map_count=262144 sudo echo "vm.max_map_count=262144" | tee /etc/sysctl.d/elasticsearch.conf sudo systemctl restart elasticsearch |
Step 6: Install Node
Here we install Node version 18.x
1 2 3 4 |
sudo curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh sudo bash nodesource_setup.sh sudo apt-get install -y nodejs node -v |
Step 7: Install Yarn
Here we install Yarn
1 2 3 4 |
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list apt update && apt-get install yarn yarn -v |
Now create a user for Akeneo, you can set a password, and rest of the field simply press enter
1 |
sudo adduser akeneo |
Download the PIM in the user directory
- Download the Akeneo PIM as your required version, here we download version 7
- Extract the tar file.
- And fill in your DB details in .env.local file to communicate with the database.
1 2 3 4 5 |
cd /home/akeneo wget https://download.akeneo.com/pim-community-standard-v7.0-latest-icecat.tar.gz tar -xvzf pim-community-standard-v7.0-latest-icecat.tar.gz cd pim-community-standard cp -r .env .env.local |
Now make the changes in the (.env.local) file as per your configuration.
When you open the (.env.local) file you will see a file like below, now you need to change it accordingly below SS for your reference.
1 2 3 4 5 6 7 |
AKENEO_PIM_URL=http://localhost:8080 #use your public_IP or domain as well. APP_DATABASE_HOST=mysql #define localhost or RDS string as per you uses. APP_DATABASE_NAME=akeneo_pim #define your akeneo database. APP_DATABASE_PASSWORD=akeneo_pim #define your akeneo db password. APP_DATABASE_USER=akeneo_pim #define your akeneo db user. APP_INDEX_HOST=elasticsearch:9200 #change as localhost:9200 |
Now create a virtual host file for Apache Click here
- Here we create virtual hosting for our domain in this case we are using public IP, you can define your own domain.
- Define the document root and directory path, where you want to install the PIM.
1 |
sudo vim /etc/apache2/sites-available/akeneo-pim.local.conf |
- After creating a virtual host for Akeneo, Add the below syntax in apache.conf to define the user home directory.
- Make changes in the Apache envvars file as per your user
- user need to define in php fpm as user, group, listen.owner, and listen.group
1 |
vim /etc/php/8.1/fpm/pool.d/www.conf |
change the permission as per your user
- Set the owner and group owner for php fpm.
- Enable the conf file which you create for your domain and restart the Apache service.
1 2 3 4 5 6 7 8 |
sudo chown -R akeneo:akeneo /etc/php/8.1/fpm/pool.d/www.conf sudo chown -R akeneo:akeneo /var/run/php/php8.1-fpm.sock service php8.1-fpm restart cd /etc/apache2/sites-available a2ensite akeneo-pim.local.conf apache2ctl -t a2enmod rewrite systemctl restart apache2 |
Go to the user home directory where you define the document root path
1 2 3 |
cd /home/akeneo/pim-community-standard apt-get install make NO_DOCKER=true make |
Now define the user and directory permission
1 |
chown -R akeneo:akeneo pim-community-standard |
Now hit the URL “http://your_public_IP/” on the browser, and finally, you have successfully set up Akeneo PIM.
Need Support?
Thank You for reading this Blog!
For further more interesting blogs, keep in touch with us. If you need any kind of support, simply raise a ticket at https://webkul.uvdesk.com/en/.
You may also visit our Odoo development services and quality Odoo Extensions.
For further help or query, please contact us or raise a ticket.