Install Magento 2.x on Ubuntu 18.04 with Nginx, MariaDB, PHP 7.1 —

Install Magento 2.x on Ubuntu 18.04 with Nginx, MariaDB, PHP 7.1:

This article shows how anyone can install Magento 2.x on Ubuntu 18.04 with Nginx, MariaDB and PHP 7.1. (LEMP)


Nginx HTTP Server represents the E in the LEMP stack… It’s probably the second most popular web server in use… so install it, since Magento needs it.

sudo apt update
sudo apt install nginx
sudo systemctl stop nginx.service
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Step 2: Install MariaDB Database Server

MariaDB database server is a great place to start when looking at open source database servers to use with Magento… To install MariaDB run the commands below…

sudo systemctl stop mysql.service
sudo systemctl start mysql.service
sudo systemctl enable mysql.service
sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
  • Enter current password for root (enter for none): Just press the Enter
  • Set root password? [Y/n]: Y
  • New password: Enter password
  • Re-enter new password: Repeat password
  • Remove anonymous users? [Y/n]: Y
  • Disallow root login remotely? [Y/n]: Y
  • Remove test database and access to it? [Y/n]: Y
  • Reload privilege tables now? [Y/n]: Y

Step 3: Install PHP 7.1-FPM And Related Modules

PHP 7.1 may not be available on Ubuntu default repositories… in order to install it, you will have to get it from third-party repositories.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo nano /etc/php/7.1/fpm/php.ini
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
cgi.fix_pathinfo = 0
date.timezone = America/Chicago

Step 4: Restart Nginx

After installing PHP and related modules, all you have to do is restart Nginx to reload PHP configurations…

Step 5: Create Magento Database

Now that you’ve installed all the packages that are required for Magento to function, continue below to start configuring the servers. First run the commands below to create a blank Magento database.


Step 6: Download Magento Latest Release

Next, visit Magento site and register for a free account. You must register before you’re allowed to download a copy. The community edition is what you’ll want to download.

sudo mkdir /var/www/html/magento/
sudo tar -zxvf ~/Downloads/Magento-CE*.tar.gz -C /var/www/html/magento/
sudo chown -R www-data:www-data /var/www/html/magento/
sudo chmod -R 755 /var/www/html/magento/

Step 7: Configure Nginx Magento Site

Finally, configure Nginx configuration file for Magento. This file will control how users access Magento content. Run the commands below to create a new configuration file called magento

upstream fastcgi_backend {
server unix:/run/php/php7.1-fpm.sock;
server {
listen 80;
listen [::]:80;
index index.php index.html index.htm;

client_max_body_size 100M;
set $MAGE_ROOT /chirag/worksace/magento;
set $MAGE_MODE developer;
include /var/www/html/magento/nginx.conf.sample;

Step 8: Enable The Magento Site

After configuring the VirtualHost above, enable it by running the commands below, then restart Nginx server…

STEP 9: Check Our Magento Website



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store