Building Drupal 8 Website From Scratch - Part 1 (Domain name, Hosting)

It has been a while since Drupal 8 has been around. It took me some time before I actually started to develop Drupal 8 websites, sticking with more convenient Drupal 7 (Which I believe still is one of the best versions of Drupal out there. 

If you are familiar with Wordpress CMS, Drupal 8 will feel you comfortable, as the look and feels is pretty similar (This is the thing I don't like about Drupal 8). Anyhow, as I have been developing both Drupal 7and Drupal 8 websites, there is actually no difference for me - except there is a minor new learning curve with Drupal 8, but most of the basic things, like the power of the Drupal, the views module is already implemented in the core version (and many more neat options you could get from Drupal 7 with little tweaking)

With this article, I decided to start new Drupal tutorial series on how to develop Drupal 8 website from scratch. As usual, I will give live examples.

For this series - building a Drupal 8 niche website for passive affiliate income - https://cloudminingreview.info

The idea about Cloud Mining Review affiliate site come after I've been exposed a lot to crypto investments, both buying and mining cryptocurrency. There are already more than 50 articles published on my blog about cryptocurrency, and some 7-8 covers topics regarding cloud mining. These articles are good in terms of website traffic, so I decided to experiment both with building a new Drupal 8 website and make an extra income from the affiliate. To make it happen - I will need to work not only on website development but also on great articles and SEO.

Also, this will give me a good material to share with you.

Screenshot of cloudminingreview.info

Screenshot of cloudminingreview.info

This is the website I was able to build with Drupal 8 from scratch in some 4 hours (including 2 basic article writing). As you can see, there is nothing much, but some work has been already done, like setting up VPS (hosting), registering a domain name (GoDaddy), creating a sub-theme from Bootstrap, enabling a couple of modules. Pretty much the most basic stuff.

Back in 2013, when writing a series on How to develop a Drupal website from a scratch I make an introduction post, covering details on website planning - Building a Drupal site from scratch - part 1 - planing

Although many of the technical details covered in that article are already implemented out of the box in Drupal 8, that's still a good and valuable read. 

So before developing a website, be it a Drupal or not Drupal, before actually starting with technical know-how on how to buy a domain name or set up a hosting it's required to make a website planning:

A webpage is like an investment you make in your companies asset. Before building a website, no matter is it Drupal or it is not a Drupal, you must carefully plan - what about is this website? What value does it give? Is it a personal webpage/blog just for personal use, or it's made to attract new/more customers to your business? Attracting new customers - well, yes it sounds nice in theory, but what about taking care of already existing customers? To inform them about your companies activities, offers?

As with the case of Cloud Mining Review, I already knew what I'm trying to build - an affiliate income website covering articles and reviews about cloud mining.

Ok, you are ready, you have a plan for your website, now let's buy a domain name and set up a hosting

Step 1 - Buying a domain name

Personally, I use Godaddy for purchasing new or extending existing domain names. There are many of other domain name sellers, but I will stick with GoDaddy for the ease of this article.

Buying a domain name is simple and straightforward, go to goddady.com look for your desired domain name, add to the cart and purchase, you can pay by a VISA card or PayPal. Once you have bought your domain name, you will need to make some changes in godaddy's dashboard under domain management to point your domain name to the hosting of your choice. I will cover details on that in Step 2 - Hosting

Managing domain name Nameservers in Godaddy.com

Managing domain name Nameservers in Godaddy.com

Step 2 - Hosting

When it comes down to the hosting, you have zillions of options, you could go with a shared hosting (is there anybody still using such) up to a dedicated server. For the past five or 6 years, I've been working with a custom built VPS from companies like Linode, Digital Ocean and other.

As I'm a huge admirer of Linode, I will stick with a Linode for this tutorial. In fact, writing down a configuration for Linode would ask a separate article, which luckily I have, follow this guide to setup a Drupal 8 on Linode cloud hosting. 

How to Install Drupal 8 with Nginx, PHP-FPM, MySQL, phpMyAdmin on Ubuntu 16.04 - Linode Guide

If you find it too technical and complicated, you could start with some cheaper and probably one-click installation profile from companies like Bluehost (Bluehost VS Linode - Which VPS Hosting To Choose)

Now if you still have decided to stay with a Linode, after you have set up your Drupal 8 website on it, you should go to Linode dashboard and from DNS management enable your domain name. After what you should return to Godaddy.com and from domain name management (again DNS - change Nameservers to ns1.linode.com, ns2.linode.com).