Laravel is a PHP framework used to develop PHP based applications . Laravel is specially designed for easy and faster development of web applications. It supports multi-platform you can simply install and use on your development system. This post will guide you to install Laravel 5 PHP Framework on Debian 9 (Stretch) system.
Server Requirements
The Laravel framework has a few system requirements. You will need to make sure your server meets the following requirements:PHP >= 7.1.3
BCMath PHP Extension
Ctype PHP Extension
JSON PHP Extension
Mbstring PHP Extension
OpenSSL PHP Extension
PDO PHP Extension
Tokenizer PHP Extension
XML PHP Extension
Ctype PHP Extension
JSON PHP Extension
Mbstring PHP Extension
OpenSSL PHP Extension
PDO PHP Extension
Tokenizer PHP Extension
XML PHP Extension
Install Laravel in Debian
apt-get update
apt install git unzip
Laravel utilizes Composer to manage its dependencies. So, before using Laravel, make sure you have Composer installed on your machine.
curl -sS https://getcomposer.org/installer | php
Make sure to place composer's system-wide vendor bin directory in your
$PATH
so the laravel executable can be located by your system.mv composer.phar /usr/local/bin/composer
Set permission to execute that composer.
chmod +x /usr/local/bin/composer
It's best practise to create a database for your Laravel application you might need it at one point. Login to your MySQL server and create MySQL database and user.
mysql -u root -p
CREATE DATABASE dbtest;
GRANT ALL PRIVILEGES ON *.* TO 'dbtest'@'%' IDENTIFIED BY 'dbtest' WITH GRANT OPTION;
FLUSH PRIVILEGES;
move to html directory to install git.
cd /var/www/html
Use
git
to download the latest version of Laravel from the official git
repository.git clone https://github.com/laravel/laravel.git
When the
git
clone finishes, move to the Laravel directorycd laravel
set the proper permissions on all files.
chown -R www-data.www-data /var/www/html/laravel
chmod -R 755 /var/www/html/laravel
chmod -R 777 /var/www/html/laravel/storage
rename the .evn.example file to .env. This is used to setup application environment for the project.
cp .env.example .env
chown -R www-data.www-data .env
use composer to install all dependencies required for Laravel framework.
composer install
generate base64 random number encryption key
php artisan key:generate
Application key set successfully.
Edit the
.env
configuration file and update the required settings. Also, make sure APP_KEY
is properly set as generated in above commandnano .env
# on line 3 make sure you see the app key
APP_KEY=base64:pPRKLYFCMJawhNYH6CITxHmTYJuOQKRvb6e1/tXAAnA=
# line 5 add the ip address that you will use to access the server
APP_URL=http://192.168.0.250
# from line 9 add necessary information to connect to your database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dbtest
DB_USERNAME=dbtest
DB_PASSWORD=dbtest
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 I have opt to edit the existing file. nano /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@internal.labnet
DocumentRoot /var/www/html/laravel/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/laravel>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
restart the apache server for changes to take effect
service apache2 restart
Once the above process is completed, open the browser with IP address to access it.