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.

    https://www.techjblog.com/index.php/2019/11/how-to-setup-your-own-vps/

    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.

    img

    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”.

    img

    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.

    img

    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.

    img

    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:

    git-cheat-sheet-educationDownload

    Configuration

    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_NAME=Laravel
    APP_ENV=local
    APP_KEY=
    APP_DEBUG=true
    APP_URL=change to your site's URL
    
    LOG_CHANNEL=stack
    
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your database name
    DB_USERNAME=database user name
    DB_PASSWORD=password

    Run composer install to install dependencies:

    img

    Generate APP_KEY:

    php artisan key:generate

    Link storage:

    php artisan storage:link

    Run migrations:

    php artisan migrate
    img

    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.

    img

    Leave a Reply

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