Laravel Tutorial #10: Deployment

    More Tutorials on Web Development

    Finally, it’s time to deploy our project. Instead of doing everything manually, we use a server management panel, which is much more beginner-friendly.

    Setup a VPS

    First, let’s setup a new VPS by following this tutorial.

    Install Control Panel and Setup a New Website

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

    aaPanel Demo

    Connect to your server using SSH. 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, 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

    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.


    Leave a Reply

    Your email address will not be published. Required fields are marked *