I have started (again) preparing the machines for the house. Now, I've decided to use CentOS.

In this article, I will go through the steps of setting up the machine and install all the common software I need for all of them. It's based on my experiences so far :)

Prerequisites

To start off, I have ESXi 6.7, and I will use CentOS 8. In general, all machines have:

  • 8GB of RAM,
  • 4 CPUs
  • 24 GB of disk (on a RAID1 SSD)

Note: Allocate a bit more CPUs and RAM when you set up the VM. I've started a VM by mistake with 1 CPU and 2GB of RAM and I had to stop and rebuild the VM properly!

Install CentOS

I am starting from the default installation of CentOS:

CentOS summary

Here I do the following modifications:

  1. Time & Date - set it to my timezone Europe/Brussels
  2. Installation Destination - I just select the disk allocated by default
  3. Network and Host Name - I enable it (it's disabled by default) and set up the name (e.g. db.home.lan)

Enable the network

If you forgot to enable the net connection, you can do it later from the console. As root, run:

nmtui

Initial configuration

Some software like ansible and docker is not found on the main repo. For this, we need to enable several repos. Ansible for example is available on EPEL (Extra Packages for Enterprise Linux). Run the following commands to enable it:

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo rpm --import https://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8
sudo dnf config-manager --set-enabled PowerTools

NOTE: The second command is designed to import the GPG keys for the repo.

Install Open VM Tools

VMWare recommends the open VM tools package and its install couldn't be simpler:

sudo dnf install -y open-vm-tools

If you still prefer to install the VMWare tools, see below.

Install VMWare tools (obsolete)

On the ESXi console, mount the VMWare tools:

mount the tools

Let's log in on the host machine and run the following commands as root:

mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

Then, unpack the tools:

mkdir /tmp/VMWare
cd /tmp/VMWare

Now extract the archive:

# Replace the x.x.x-yyyy with the actual numbers on your tools
# I use the TAB completion
#
tar zxpf /mnt/cdrom/VMWareTools-x.x.x-yyyy.tar.gz

Once the extraction is finished:

# Install perl
#
sudo dnf install -y perl

cd VMWare-tools-distrib
sudo ./VMWare-install.pl

Set up Docker repository

Docker is another tool which is not included in the default CentOS repo. We need to set it up:

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo rpm --import https://download.docker.com/linux/centos/gpg

You can then install Docker via command line:

sudo yum install docker-ce docker-ce-cli containerd.io

Or you can use Ansible :)