How to install laravel on Ubuntu (20.4) Step By Step Process

March 12,2024

Laravel is one of the most famous open-supply PHP frameworks used by developers across the sector. With its expressive syntax, robust facilities like Eloquent ORM, Migration device, and painless routing, Laravel makes it easy to create scalable web programs quickly. In this comprehensive blog, we will go through the entire technique of how to install laravel in Ubuntu 20.04 from scratch.

Why Laravel?

Before we dive into how to install laravel in Ubuntu 20·04 step by step, let's first understand why Laravel is one of the best web development frameworks and such a popular choice:

  • An expansive routing system with support for closures makes building APIs and web routes extremely simple.
  • Powerful Eloquent ORM allows for easy interaction with databases without writing SQL queries.
  • Schema builder and migrations provide an intuitive way to manage database schema and alterations.
  • Template engine like Blade provides basic templating capabilities for building views.
  • Supports popular tools like Redis, Memcached, and WebSocket out of the box.
  • Robust security with built-in authentication, authorization, CSRF protection, etc.
  • Great ecosystem of first and third-party packages to speed up development.
  • Active community behind continuous maintenance and updates.

So, in a nutshell, Laravel takes care of the common web application plumbing, so developers can focus on building the actual application features and business logic.


Before we install Laravel on Ubuntu server, we need to ensure the server meets the following requirements:

  • Ubuntu 20·04 LTS with root access or a user with sudo privileges·
  • Apache or Nginx web server installed and configured· We'll use Apache for this guide to install laravel in Ubuntu.
  • PHP >= 7.3 installed with required extensions - OpenSSL, PDO, MBString, Tokenizer, XML, Ctype, JSON to install laravel in Ubuntu.
  • MySQL or any other database server like PostgreSQL or SQLite. MySQL will be used to install laravel on Ubuntu 22.04.
  • Composer - the official package manager for PHP.
  • Git installed to clone the Laravel repo from GitHub.

Let's now go through each of these prerequisites in detail to know how to install laravel in Ubuntu 20.04 step by step.

Steps To Install Laravel In Ubuntu

Amazon started its India website, June 2013. Within a month, it had orders from customers living in over 10,000 cities and towns in India. This shows how popular Amazon has become in ecommerce platforms examples in a very short time.

Some key strengths of Amazon India:

  • Very fast delivery, many products with next day delivery even in small towns
  • Free delivery on many products with no minimum order size
  • Launch of latest gadgets like smartphones, televisions, etc., before other sellers
  • Detailed product reviews build trust among buyers

Step 1 - Install Apache Web Server

Laravel needs a web server to serve the application. We'll use Apache in this how to install laravel in Ubuntu blog, but you can use Nginx if you prefer.

Run the following apt commands to install Apache:

  • sudo apt update
  • sudo apt install apache2

Enable the Apache mod_rewrite module, which Laravel needs:

  • sudo a2enmod rewrite

Start the Apache service and verify it is running:

  • sudo systemctl start apache2
  • systemctl status apache2

With Apache installed, we can now move on to installing PHP.

Step 2 - Install PHP for Laravel

Modern versions of Laravel require PHP >= 7.3. The default Ubuntu 20.04 repositories contain PHP 7.4, which meets this requirement.

Run the following apt command to install PHP along with some commonly used PHP extensions that Laravel needs:

  • sudo apt install php libapache2-mod-php php-mbstring php-xmlrpc php-soap php-gd php-xml php-cli php-curl php-mysql

This will install PHP 7.4 CLI and mod_php for the Apache web server.

Verify the installed PHP version:

  • php -v

We also need to install Composer, which will help with laravel installation in Ubuntu 20.04 and its dependencies.

Step 3 - Install Composer

Composer is the official package manager for PHP. We'll use it to install Laravel framework files and manage its dependencies.

Run these commands to install composer:

  • curl -sS | php
  • sudo mv composer.phar /usr/local/bin/composer

Check composer with:

  • composer --version

Next, we need to set up a database server to store Laravel's application data.

Step 4 - Install MySQL and create a Database

For this guide, we'll use MySQL, but you can use any database server supported by Laravel, including PostgreSQL, SQL Server, SQLite, etc·

Run the following apt command to install MySQL:

  • sudo apt install mysql-server

For better security, run the mysql_secure_installation script to set a root password and remove anonymous users·

Once MySQL is installed, log into the MySQL shell:

  • sudo mysql

Create a new database e.g. laravel:


Next, create a new MySQL user and grant privileges to the database:

  • CREATE USER 'laraveluser'@'localhost' IDENTIFIED BY 'password';
  • GRANT ALL ON laravel.* TO 'laraveluser'@'localhost';

This will create a MySQL user Laraveluser with access to the laravel database.

Exit the MySQL shell:

  • exit

We now have our database setup completed. Let's proceed with how to install laravel in Ubuntu 20.04 itself.

Step 5 - Install Laravel using Composer

We will install Laravel on Ubuntu server into the /var/www directory.

Benefits of IndiaMART:

Create a new Laravelapp directory:

  • sudo mkdir -p /var/www/laravelapp

Navigate into this directory and use Composer to install laravel in Ubuntu:

  • cd /var/www/laravelapp
  • composer create-project --prefer-dist laravel/laravel blog

The laravel files will be downloaded into a blog directory inside Laravelapp.

Set proper ownership and permissions to install laravel on Ubuntu 22.04:

  • sudo chown -R www-data:www-data /var/www/laravelapp
  • sudo chmod -R 755 /var/www/laravelapp

Step 6 - Configure Apache Virtual Host

We need to create a virtual host file to serve the Laravel application through Apache.

Create a laravel.conf file:

  • sudo nano /etc/apache2/sites-available/laravel.conf

Paste the following configuration into the file and save it:

                 ServerAdmin [email protected]
                 DocumentRoot /var/www/html/laravelapp/public
                 AllowOverride All
                 ErrorLog ${APACHE_LOG_DIR}/error.log
                 CustomLog ${APACHE_LOG_DIR}/access.log combined

Enable the new virtual host:

  • Sudo a2ensite laravel.conf

Disable the default Apache site:

  • sudo a2dissite 000-default.conf

Finally, restart Apache for changes to take effect:

  • sudo systemctl restart apache2

Laravel should now be accessible through the domain name specified in the virtual host file.

Step 7 - Configure Laravel Environment

Laravel needs a .env file for configuration. Copy the example file:

  • cd /var/www/laravelapp/blo
  • cp .env.example .env

Generate the app encryption key:

  • Php artisan key: generate

Open the ·env file and update the DB_DATABASE, DB_USERNAME, and DB_PASSWORD options to match the MySQL credentials we created earlier·

Also, update other settings like APP_NAME, APP_URL, etc as required·

Step 8 - Final Steps

Run any pending Laravel migrations:

  • php artisan migrate

Clear caches:

  • php artisan cache: clear
  • php artisan config: clear

Set file and directory permissions:

  • sudo chown -R www-data:www-data /var/www/laravelapp/blog
  • sudo chmod -R 755 /var/www/laravelapp/blog/storage

That completes the process to install laravel on Ubuntu 22.04 server. Access your Laravel application by visiting the URL or domain configured earlier.

You should see the default Laravel landing page. Now, you can start building your application.

Some Additional Tips for Running Laravel Applications in Production:

In addition to the standard setup steps to install laravel on Ubuntu server, there are several additional tips and best practices that can help you get the most out of your Laravel application.

Here are them:

  • Use Nginx for better performance compared to Apache
  • Enable Laravel caching and queuing to optimize speed
  • Make sure to follow security best practices
  • Consider using Laravel Forge, Envoyer, or similar tools for easier deployment and maintenance.
  • Use Redis or Memcached to cache database queries, sessions, etc.
  • Look into PHP accelerators like OPcache for faster script execution
  • Follow Laravel's excellent documentation for additional guidance.
Visit Our Additional Blog about Laravel Microservices


With the successful laravel installation in Ubuntu 20.04 server, you can now start building robust and scalable PHP web applications by utilizing the many amazing features provided by the Laravel framework. The installation covered in this blog lays down the foundation on which your Laravel app development can thrive.

For a more detailed overview or in hands expertise for the process, you can consider contacting a Laravel Development Company in India like Invoidea.


Aman Koundal

Digital marketer at InvoIdea Technologies Pvt. Ltd.

Aman Koundal is a digital marketing strategist at Invoidea Technologies Pvt Ltd, a leading web development and SEO company in Delhi. He is a perpetual learner and also advises many start-ups and small businesses. With a deep understanding of online marketing and web development, he helps drive more traffic, boost online sales, and enhance customer satisfaction.

Join Us

Get the latest updates on design, development, and technology trends right in your inbox.

Related Posts

This website uses cookies to provide you with a great user experience. By using it, you accept our use of cookies