There are many guideline for setting up Laravel in your localhost
and majority of them are quite good. However, I have realized the are not very complete and some are very confusing. Hence, I have decided to write a simple and short guideline on how to setup Laravel 5 quickly in your Ubuntu box.
The first thing you need to do is running the following commands to install LAMP.
$ sudo apt-get install apache2
$ sudo apt-get install mysql-server
$ sudo apt-get install php5 libapache2-mod-php5
$ sudo apt-get install phpmyadmin
$ sudo /etc/init.d/apache2 restart
Then the next step is installing and setting configuration of some Laravel dependencies
$ sudo apt-get install php5-curl
$ sudo apt-get install php5-mcrypt
$ sudo php5enmod mcrypt # Enable extension
$ sudo service apache2 reload # Restart Apache
$ curl -sS https://getcomposer.org/installer | sudo php
$ sudo mv composer.phar /usr/local/bin/composer
Now run the these commands to install Laravel 5.
$ cd /var/www/
$ composer create-project laravel/laravel your-project --prefer-dist
Or if you have existing project you can skip the above step and instead using your own project.
Now last step is configuring virtual server to point to your Laravel project which is assumed it is located under /var/www/laravel
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
$ sudo nano /etc/apache2/sites-available/example.com.conf
After you open example.com.conf
with the editor, you should add the following content to it or change the content accordingly.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/laravel/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
laravel>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Need to apply the changes and restart Apache server
$ sudo a2ensite example.com.conf
$ sudo service apache2 restart
The last step is to add a virtual server for pointing example.com domain to /var/www/laravel
$ sudo nano /etc/hosts
Then add the following line to the file and save it
127.0.0.1 example.com
Following are some useful materials that I have used to write this article,