The Installation Guide

A detailed set of instructions guiding you through the installation of Blade Control Panel on any linux/unix OS or webhost.

Welcome to the Blade CP Installation 101 class. To get your website up and running, follow the set of instructions in this guide. If you have any questions along the way, please feel free to PM or email me.

Video URL: https://www.youtube.com/watch?v=0lz6KFiOxdA


Prerequisites

There are a basic set of prerequisites that you need in order to run Blade CP successfully. 

  1. PHP Version >= 7.1.2
  2. Composer
  3. MySQL or MariaDB.

Installation

Follow the steps below to successfully install your copy of Blade CP after making sure that you've got all the pre-requisites installed.

  1. Download your copy of Blade Control Panel from your dashboard.
  2. Unzip the copy and find yourself in the bladecp folder with 2 main folders in the root directory - main and packages. This is a fixed folder structure of your directory and you shouldn't change it unless you know what you're doing.
  3. Open up terminal and enter into the main directory.
  4. Run the following command: composer install
  5. Now run the following command: php artisan vendor:publish --all
  6. The above command publishes all required components from our packages. Once this is done, lets configure the environment file.
  7. Wait for composer to finish installing all dependencies. Once that's done, copy the .env.example file in the folder and create a new file called '.env' (without the '.example') with its contents.
  8. Now we have the environment file and we need to configure it.


The Environment File

This is the main file that our application will read for environment configuration. It's just another configuration file but kept separate for convenience. Before going ahead to open it, run the following command -

php artisan key:generate --ansi

This command generated an encryption key and saves it into the .env file we just created. The encryption key is important and as Laravel's documentation says in bold terms - 

If the application key is not set, your user sessions and other encrypted data will not be secure!

Now open up the environment file and you'll see that the key has been set. Along with this, you'll see other configurations that must be set here. Lets take a look - 

BLADECP_CLIENT_ID=
BLADECP_CLIENT_SECRET=
# OR
#BLADECP_PERSONAL_ACCESS_TOKEN=

In order to run Blade CP with your purchased license, you must enter one of two ways for Blade CP Servers to verify your license. The first method is by generating an OAuth Client ID and Secret pair, and the other is via a Personal Access Token. Both of these can be done from your dashboard on our website. Only one of these two methods are required, but please note that a Personal Access Token is never saved with us and will require you to create a new one if lost (but just as easily).

APP_ENV=

The APP_ENV setting defines the environment of the application, this can either be `local` or `production`. Local would mean that it is being used for testing, while the production environment would mean that it is being run on a live website. The latter enforces precautions and asks for confirmations before actions that may overwrite files/tables on the server.

APP_DEBUG=

The APP_DEBUG setting can be set to either true or false. If set to true, all environment variables and keys will be visible publicly when the application encounters an error. Please make sure that you really never set this to true on your live or web servers.

APP_URL=

This is the full URL of your application's domain. Example, the demo site of Blade CP is hosted at http://demo.bladecp.xyz and that is what the APP_URL setting in its configuration file is set to.

DB_* Settings

The settings prefixed with DB_ are database settings. Before configuring these, please take a few seconds to understand how Blade CP's database connections work. Blade CP has its own database and set of tables that are not hosted in the same server or environment as your ragnarok servers. Ragnarok server database information is set in config/ragnarok.php for each of your servers. So, create a new database called bladecp or whatever you wish and grant a database user privileges to modify this database. Then enter those details for this setting.

MAIL_* Settings

The settings prefixed with MAIL_* are for your mail server and your application will use these settings to send emails to every user. This is important if you want to give your users a better experience.

P.S. > The other settings in the environment files shouldn't be touched unless you are sure about what you're changing.

Ragnarok Server Configuration

Now we're ready to configure our ragnarok servers. Please go ahead and configure your servers in the config/ragnarok.php file. All the settings are documented in the file itself, for convenience.

  1. Configure config/ragnarok.php.
  2. For all Ragnarok related imagery to show up correctly, extract your grfs in the 'storage/ragnarok/*' folder, without the root data folder.

Once we're through with the Ragnarok configuration, it is time to migrate all tables to the databases. We do this by typing in the following command - 

php artisan migrate --seed

Once this is complete, your application is ready to be used! If you're on a web server, you may want to set your document root to the 'public' folder in the main project. If you're using the application in a local environment, type in the following command -

php artisan serve

This starts up PHP's internal server and your application will be available to use from http://localhost:8000

That's it! Blade CP is now installed!