Laravel provides not only a complete and developer-friendly framework for creating PHP web applications, it also provides a local server for configuring your app. In this article, you’ll learn how to create a complete Laravel development environment in your local server, which you can then upload to a live production environment. In order to follow along with this tutorial, you will need to have some comfort with the Linux command line. For these examples, I’ll be using the
apt package manager which comes bundled with Debian, Ubuntu, and some other Linux distributions. If you are using a different Linux distribution or alternate package manager, you should check to see what default packages are available, what you have installed, and veer where possible with the examples provided. Managing local and production Laravel apps is an ideal task for a managed or unmanaged VPS account. Learn more about VPS vs dedicated server hosting.
- Installing PHP For Your Laravel Development Environment
- Create a New Laravel App
Installing PHP For Your Laravel Development Environment
In order to start creating Laravel apps locally, you need to have access to PHP in the local server. (By local server, I mean your local computer. For the purposes of this tutorial, and other Laravel tutorials, it’s helpful to think of your local computer as a server.) With a running PHP installation, you can install and configure a virtually unlimited number of Laravel apps.
Not a Basic LAMP Stack
As you likely already know, PHP comes installed with a standard LAMP (Linux, Apache, MySQL, and PHP) stack. However, in order to run the necessary PHP scripts to run your Laravel development environment, you need PHP plus a few extra executable programs.
sudo apt install php7.4 php7.4-mysql php-common php7.4-cli php7.4-json php7.4-common php7.4-opcache libapache2-mod-php7.4 php7.4-mbstring php7.4-xml
Also, you will need to install the
composer package manager for PHP:
sudo apt install composer
Completing The Lamp Stack (Optional, But Recommended)
Optional, but recommended, you should complete the LAMP stack, especially if you want to create an app that uses a MySQL (or, in this case, MariaDB) database, or if you want to be able to administer those databases with phpMyAdmin.
Install Apache web server:
sudo apt install apache2
Check to see that
apache2 is running:
sudo systemctl status apache2
sudo apt install mariadb-server mariadb-client
Check to make sure that MariaDB is running:
sudo systemctl status mariadb
Create a New Laravel App
Make Sure You Have the Composer Path Added to Your Bash Profile
In order to properly run composer packages from the command line, like the Laravel installer, for example, you must make sure you have the path to the
/composer/vendor/ directory available in your bash configuration. You can ensure this by placing this
PATH= directive in your bash
if [ -d "$HOME/.config/composer/vendor/bin" ] ; then PATH="$HOME/.config/composer/vendor/bin:$PATH" fi
Install the Laravel Installer and Create a Laravel App
Now that you have a path for Composer to install and run apps, go ahead and install the Laravel installer:
composer global require laravel/installer
Now you can carry out the complete installation of a new Laravel app:
laravel new <name-of-project-working-directory>
To make sure that all services are installed and running,
cd (change directory) into your project working directory and run an update for Composer packages:
You should now see that your app working directory contains a
/vendor directory, where Composer packages and modules will be installed. To see your app in a browser, you can initiate the local server with PHP
php artisan serve
localhost:8000 and you can see your app served locally.
If you get an error about a security key, run this command:
php artisan key:generate
Reload your app with
php artisan serve again, and you should now see a fresh Laravel splash page to indicate that the process was successful. Your Laravel app and local development environment are complete. Now you can begin developing your app.