Step 1 – Install LAMP
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 lamp on Ubuntu system.
Install PHP 5.6
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php5.6 php5.6-mcrypt php5.6-gd
Install Apache2
$ apt-get install apache2 libapache2-mod-php5
Install MySQL
$ apt-get install mysql-server php5.6-mysql
Step 2 – Install Composer
Composer is required for installing Laravel dependencies. So use below commands to download and use as a command in our system.
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer
Step 3 – Install Laravel
To download latest version of Laravel, Use below command to clone master repo of laravel from github.
$ cd /var/www
$ git clone https://github.com/laravel/laravel.git
Navigate to Laravel code directory and use composer to install all dependencies required for Laravel framework.
$ cd /var/www/laravel
$ sudo composer install
Dependencies installation will take some time. After than set proper permissions on files.
$ chown -R www-data.www-data /var/www/laravel
$ chmod -R 755 /var/www/laravel
$ chmod -R 777 /var/www/laravel/app/storage
Step 4 – Set Encryption Key
Now set the 32 bit long random number encryption key, which used by the Illuminate encrypter service.
$ php artisan key:generate
Application key [uOHTNu3Au1Kt7Uloyr2Py9blU0J5XQ75] set successfully.
Now edit config/app.php
configuration file and update above generated application key as followings. Also make sure cipher is set properly.
'key' => env('APP_KEY', 'uOHTNu3Au1Kt7Uloyr2Py9blU0J5XQ75'),
'cipher' => 'AES-256-CBC',
Step 5 – Create Apache VirtualHost
Now add a Virtual Host in your Apache configuration file to access Laravel framework from web browser. Create Apache configuration file under /etc/apache2/sites-available/
directory and add below content.
$ vim /etc/apache2/sites-available/laravel.example.com.conf
This is the Virtual Host file structure.
<VirtualHost *:80>
ServerName laravel.example.com
DocumentRoot /var/www/laravel/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/laravel>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Finally lets enable website and reload Apache service using below command.
$ a2ensite laravel.example.com
$ sudo service apache2 reload
Step 6 – Access Laravel
At this point you have successfully completed Laravel 5 PHP framework on your system. Now make host file entry to access your Laravel application in web browser. Change 127.0.0.1
with your server ip and laravel.example.com
with your domain name configured in Apache.
$ sudo echo "127.0.0.1 laravel.example.com" >> /etc/hosts
And access http://laravel.example.com in your favorite web browser as below.