In this tutorial, we will explain how to install and run the latest stable version of the Laravel 6.0 PHP Framework on Ubuntu 16.04 LTS (Long Term Support) with Apache2 and PHP 7.4 support.
Laravel is a lightweight and flexible open-source PHP framework solution with an MVC (Model-View-Controller) design structure. Laravel certainly focuses on building scalable and flexible web applications with ease. In addition, it has in-built features like caching, authentication, session management, routing, and unit testing. As a result, it becomes the first choice of many PHP developers.
Above all, An installed instance of Ubuntu 16.04 LTS is required with a privileged user for installation.
After that, Update your system sources and existing software packages using the following commands.
sudo apt-get update sudo apt-get upgrade
On the other hand, the following components are needed for Laravel 6.0 LTS.
- PHP >= 7.2.0
- BCMath PHP Extension
- Ctype PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
Install PHP 7.4 with required Extensions
PHP 7.4 is the latest stable version of PHP released on 28 November 2019. But the default repository of Ubuntu 16 is not providing packages for PHP7.4. So, Add the Ondrej PHP repository to install PHP 7.4 in Ubuntu by using the following command.
sudo apt -y install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update && apt-get upgrade
After that, install PHP 7.4 using the below command.
sudo apt-get -y install php7.4
Now, install the additional required PHP Extensions by using the following command.
sudo apt-get -y install libapache2-mod-php7.4 php7.4-bcmath php7.4-json php7.4-mbstring php7.4-xml zip
Meanwhile, when you install PHP packages the Apache webserver packages are installed with them automatically. You can verify that PHP and Apache are installed by using the following command.
sudo php -v sudo service apache2 status
Composer a dependency manager tool for PHP like node’s npm and ruby’s bundler. We will use it to download and install the Laravel Core and all the required Laravel components.
For download and install the latest version of Composer in Ubuntu 16.04 LTS run the following command.
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
To verify the install of the composer run the below command.
Output: Composer version 1.9.2 2020-01-14 16:30:31
Now we have composer installed. So let’s move to install Laravel 6.0 LTS on our Ubuntu 16.04 LTS Server.
Install Laravel 6.0 LTS
Now navigate to
/var/www/html directory, which is the public HTML directory for Apache in Ubuntu.
To install Laravel 6.0 LTS using Composer run the create-project command described below.
composer create-project laravel/laravel="6.0" my_webapp
For testing, you can run it in development mode by navigating to the project directory and then run the below command.
cd my_webapp php artisan serve
You can see output like the below image.
When you navigate to the URL you can see the below Laravel welcome page.
Configure Apache for Laravel
After installing Laravel, now we configure apache for serving Laravel.
Above all, give the appropriate permissions to the project folder by using the below commands.
sudo chown -R www-data:www-data /var/www/html/my_webapp sudo chmod -R 755 /var/www/html/my_webapp sudo chmod -R 775 /var/www/html/my_webapp/storage
In the above commands, replace
my_webapp with the name of your project directory.
After that, edit apache’s default site configuration to server our project directory. First of all, open the default site configuration of apache server.
And then, replace
/var/www/html/my_webapp/public and then save the config file. After that reload the apache server by using the below command to apply the changes.
sudo service apache2 reload
http://my_server_ip/ for verifying changes. Replace the my_server_ip with your Ubuntu machine’s IP address.
As a result, we have successfully installed and configure Laravel 6.0 LTS on Ubuntu 16.04 LTS with PHP 7.4 and Apache.
You can leave a comment below if have any questions.