Install Laravel 5 on Debian 9

Laravel is one of the best open source, MVC PHP framework, designed for the faster development of web applications. You can simply install and use on your development system. This article will help you to install Laravel 5 PHP Framework on Debian 9 (Stretch) system.

Laravel required following software and extensions to be installed on your system:

  • Apache
  • MySQL/MariaDB
  • PHP >= 7.0.0
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Step 1 – Prerequsiteis

To start with Laravel, we first need to set up a running LAMP server. If you have already running LAMP stack skip this step else use followings commands to set up the lamp on Debian 9 system.

Install PHP 7

sudo apt-get install git python-software-properties
wget -q -O- | sudo apt-key add -
echo "deb stretch main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt install php php-mcrypt php-gd php-mbstring php-xml

Install Apache2

sudo apt install apache2 libapache2-mod-php

Install MySQL

sudo apt install mysql-server php-mysql

Step 2 – Install PHP Composer

The composer is required for installing Laravel dependencies. So use below commands to download and use as a command in our system.

curl -sS | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer

Step 3 – Install Laravel on Debian 9

Download the latest version of Laravel from the official git repository. Use the below command to clone the master branch of the Laravel from GitHub.

cd /var/www
git clone

Navigate to Laravel code directory and use composer to install all dependencies required for Laravel framework.

cd /var/www/laravel
sudo composer install

The dependencies installation may take some time as per your network speed. After successfully installing all dependencies, set the proper permissions on all files.

chown -R www-data.www-data /var/www/laravel
chmod -R 755 /var/www/laravel
chmod -R 777 /var/www/laravel/storage

Step 4 – Set Encryption Key

Now, rename the .evn.example file to .env in projects main directory. This will use to setup application environment for the project.

mv .env.example .env

Now generate base64 random number encryption key, which used by the Illuminate encrypter service.

php artisan key:generate

Application key [base64:Wer9JfZHN4qYQt9i8Hn1hLt8LWPeT3urzdI0hVqfzJM=] set successfully.

Edit the .env configuration file and update the required settings. Also, make sure APP_KEY is properly set as generated in above command.

vi .env

Step 5 – Creating MySQL Database

You may also require creating a database for your Laravel application. Login to your MySQL server and create MySQL database and user.

mysql> CREATE DATABASE laravel;

mysql> GRANT ALL ON laravel.* to 'laravel'@'localhost' IDENTIFIED BY 'secret_password';


mysql> quit

DB_CONNECTION=mysqlEdit the .env file and update database settings.


Step 6 – Apache Configuration

You can create a new Apache configuration file or edit Apache default virtual host configuration file 000-default.conf and update DocumentRoot to Laravel public directory as below.

vim /etc/apache2/sites-available/000-default.conf

Update configuration as:

<VirtualHost *:80>

ServerAdmin [email protected]
DocumentRoot /var/www/laravel/public

<Directory />
Options FollowSymLinks
AllowOverride None
<Directory /var/www/laravel>
AllowOverride All

ErrorLog $/error.log
CustomLog $/access.log combined


Reload Apache configuration changes by restarting service using below command

sudo service apache2 restart

Step 7 – Access Laravel Application

Laravel PHP framework has been successfully configured on your system. Access Laravel application in your favorite web browser as per configured Apache.

Install Laravel 5

Let’s start building an awesome application using Laravel PHP Framework.