Cover image for Laravel Tutorial #8: Deploy

Laravel Tutorial #8: Deploy

ericnanhu profile image Eric Hu Originally published at techjblog.com ・4 min read

Setup a VPS

Read this post for instructions:


How to Setup A VPS on Vultr

Install Control Panel and Setup a New Website

There is a lot you can choose from. Here I’ll use aaPanel as an example.

aaPanel Demo

Connect to your server using SSH. If you don’t know how to do that, read the post on How to Setup A VPS on Vultr. Run the shellcode on the official site of aaPanel. Remember, if you choose to use aaPanel, make sure CentOS 7 is installed on your VPS. aaPanel is developed on CentOS, using other systems may cause errors.

After the installation process is finished. Follow the instructions on the screen and log into the panel.


From now on, everything should be straightforward. Just install the latest version of Apache or Ngnix (Not necessary, but highly recommended), MySQL and PHP. You can install other tools if you want, but for now, these are all we need.

After you’ve installed all the necessary components, go to “Website”, and click on “Add Site”.


Type in the domain you mapped to this server, and create a database. Remember the login information for the database, you’ll need it later on.

You can upload the entire project to the site’s root folder, but the problem is if you want to make modifications to it, you are gonna have to upload the files over and over again.


I recommend using GitHub. Download and install the GitHub Desktop on your PC and make a new repository for your project. Push it to the origin.


And now you can clone the repository to the root folder of your site. Every time you update your project, just push it to the origin, and then pull it to your server using the command git pull.

Here is a cheat sheet for git commands:



After you pulled the project to the root folder of your site, notice that the .env file is not included. Copy the .env.example and rename it .env. Remember to put in the database information.

APP_URL=change to your site's URL


DB_DATABASE=your database name
DB_USERNAME=database user name

Run composer install to install dependencies:


Generate APP_KEY:

php artisan key:generate

Link storage:

php artisan storage:link

Run migrations:

php artisan migrate


Install Voyager:

php artisan voyager:install
php artisan voyager:admin your@email.com --create

Configure the BREAD like we did in previous section.


Finally, open the .env file again, change APP_ENV to production and APP_DEBUG to false. This is important, or your site will have security issues.

Add some new posts, and now you should be able to access your blog.



storage/logs/laravel.log Permission Denied

Change the permission for /storage/ to 775.


“Specified key was too long” Error


xxx Function Disabled For Security Reason

Go to the control panel for your server, and configure PHP.


Go to disabled functions and delete the functions that you need to use


Now we got a blog with the most basic functions, in the next section of this tutorial, we will talk about some more complicated ones.

Next Post: Laravel Tutorial #9: Search, Pagination, Related Posts and Other Functions

Related Articles

How to Make Your Server More Secure

Laravel Tutorial For Beginners

Django Tutorial For Beginners

Posted on by:


markdown guide