Laravel Tutorial #10: Deployment

Please note that this post may contain affiliate links, and for every purchase you make, at no extra cost to you, a commission fee will be rewarded to me.

You can download the source code of this tutorial here.

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.

img

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

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
Tags:

Leave a Reply

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