This guide will follow my process of installing the software to run on `mds-stage.com` and serve blogs on `mds-stage-blog.com`.
This guide will follow my process of installing the software to run on `mds-stage.com` and serve blogs on `mds-stage-blog.com`. If you follow along, you could have your own version up and running in a couple of hours.
### Designing The Network
I need at least one of each server type. I will, however, use two WebServers and have one on the west coast and another on the east coast. I will need six servers, and I will name them `panel`, `store`, `build`, `certbot`, `web-west`, `west-east`.
@ -90,7 +92,7 @@ Once I have these machines provisioned I lay out the information about them in t
For each of these machines, I update DNS records so that the domain maps to the public IP address for each machine.
Additionally, I add two DNS records for `*.mds-stage-blog.com`, one A record with `` and another A record with ``. This maps all sub-domains of `mds-stage-blog.com` to the web servers so that they may serve the blogs to people on the Internet.
Additionally, I add two DNS records for `*.mds-stage-blog.com`, one A record with `173.255.249.43` and another A record with `173.255.225.48`. This maps all sub-domains of `mds-stage-blog.com` to the web servers so that they may serve the blogs to people on the Internet. People on the Internet will go to one or the other server.
Before proceeding from this section, review the section checklist to ensure you have completed all item.
@ -102,8 +104,34 @@ Before proceeding from this section, review the section checklist to ensure you
| [ ] | Add DNS records for each machine |
| [ ] | Add wildcard DNS record for each WebServer |
### Running The Installation With Ansible
The installation process has been codified into a number of ansible roles that are included in this repository. I will need ansible installed so that I have access to the `ansible-playbook` command, and I will need to have SSH credentials to each of these machines so that ansible may install and configure the network.
I named the configuration file `env/stage/inventory.yml`, since this will be a staging environment. I placed this in its own directory because some environment specific files will be stored in the inventory directory, and keeping seperate directories will prevent file clobbering. One should pay special attention to go through this example config file and update it with details of their network. Once this is complete, the installation should be smooth sailing with ansible. I use the following command to get everything installed.