Laravel is a very popular open-source PHP framework aimed at easy development of applications. If you are looking for a new PHP framework, you should give Laravel a try.
Summary
The following steps will show you how to install and run Laravel on an Ubuntu 18.04 LTS based Apache server. This tutorial works for Ubuntu 17.x as well. But for servers, you should prefer to use an Ubuntu LTS release like the current Ubuntu 18.04 LTS. Learn how to set up Laravel in Ubuntu.
After showing you how to set up this PHP framework in Ubuntu, we’ll be showing you what it takes to set up your Laravel Application using the Bunnyshell Platform.
How to set up Laravel in Ubuntu
Pre-Requisites
We will assume that you have a basic server based on Ubuntu running.
Before proceeding with the installation, it’s always a good idea to make sure your sources and existing software are updated.
sudo apt-get update
sudo apt-get upgrade
Before Laravel, we need to install other components that are essential.
Installing Apache and PHP 7.2
Next step is to install PHP along with several extra packages that would prove useful if you are going to work with Laravel.
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install apache2 libapache2-mod-php7.2 php7.2 php7.2-xml php7.2-gd
php7.2-opcache php7.2-mbstring
Even though Ubuntu’s own repository has PHP, it’s better to add a 3rd party repository here because it gets more frequently updated. You can skip that step and stick to Ubuntu’s version if that’s what you prefer.
Installing Laravel
Before we finally delve into it, we also need Git version control to be installed. If you have it installed, you can skip the following step.
Download and install Git for Linux:
sudo apt-get install git
Once the installation has successfully completed, the next thing to do is to set up the configuration details of the GitHub user.
git config --global user.name "user_name"
git config --global user.email "email_id"
To install Laravel, we need to install Composer first. It is a tool for dependency management in PHP that allows you to package all the required libraries associated with a package as one. To install Laravel and all its dependencies, Composer is required.
cd /tmp
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
The curl command downloads composer.phar package to your /tmp directory. But we would want composer to run globally hence we need to move it to /usr/local/bin/ directory under the name ‘composer’. Now we can run composer from anywhere.
To install Laravel, move to the public html directory on your system. Since we are on Ubuntu and using Apache, we will install it in the /var/www/html directory.
cd /var/www/html
sudo composer create-project laravel/laravel your-project --prefer-dist
The above command will create a “your-project” directory with Laravel installation in it. Composer uses Git to download and install all the packages and modules that Laravel requires for functioning.
Configuring Apache
Now that we have installed Laravel, we move onto the step of configuring Apache webserver.
Give proper permissions to the project directory:
sudo chgrp -R www-data /var/www/html/your-project
sudo chmod -R 775 /var/www/html/your-project/storage
Go to the /etc/apache2/sites-available directory and use the following command to create a configuration file for our Laravel install:
cd /etc/apache2/sites-available
sudo nano laravel.conf
Add the following content to the file and close it after saving. Replace yourdomain.tld with the domain name of your website inside the file:
ServerName yourdomain.tld
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/your-project/public
<Directory /var/www/html/your-project>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
We have to enable this newly created .conf file and disable the default .conf file that is installed with the default Apache install. Also, we need to enable mod_rewrite so that permalinks can function properly:
sudo a2dissite 000-default.conf
sudo a2ensite laravel.conf
sudo a2enmod rewrite
sudo service apache2 restart
Your Laravel installation is now complete. Visit the IP address or domain name of your server with a web browser.
Looking for an easier way? Check the full tutorial to see how to set up Laravel using Bunnyshell.
Top comments (0)