learn how to setup the minio object storage server on linux ubuntu 16.04 lts FROM SCRATCH
REQUIREMENTS
In order to complete this tutorial successfully, the following is a list of items that are needed. Please ensure to have these items available before taking implementation action on this tutorial to ensure success:
1) A desktop or laptop with 4GB RAM , a dual core processor and 50GB of free disk space.
2) Oracle VM VirtualBox 6.1 or any newer version
3) The Linux Ubuntu 16.04 LTS disk image file (ISO FILE)
4) VirtualBox guest additions software
5) The MINIO OBJECT STORAGE SERVER installation files and ubuntu system dependancies
OVERVIEW
1) Open virtualbox and create a new linux ubuntu virtual machine.
2) Start the virtual machine and install ubuntu
3) Open a new web browser tab and log into the MINIO WEB BASED DASHBOARD.
STEP 1: OPEN VIRTUALBOX AND CREATE A NEW LINUX UBUNTU VIRTUAL MACHINE.
1) Open the virtualbox applications thats installed on your computer and click on MACHINE > NEW or click on the NEW button on the virtualbox menu bar to open the virtual machine creation wizard. Set the name of the virtual machine to MINIO SERVER, set the TYPE to LINUX, set the VERSION to UBUNTU (64 BIT) and click on CONTINUE

2) Set the amount of memory to allocate to the virtual machine to 2GB or 2048 MB and click on CONTINUE. Ensure that the CREATE A VIRTUAL HARD DISK NOW option is selected and click on CREATE. Select the VDI hard disk file type and click on CONTINUE.
We recommend that you select the DYNAMICALLY ALLOCATED option when you are creating your virtual hard disk because dynamic virtual disk do not take up all of the allocated storage space but grow over take as more and more information is stored on them.

3) Set the size of the virtual hard disk to 80GB and click on CREATE. Once you click on CREATE, the VM will be deployed and ready for you to start the UBUNTU installation process.

4) Proceed by right click on the newly created virtual machine and click on SETTINGS. On the SETTINGS window, click on the NETWORK tab, click on ADAPTER1 and set it the ATTACHED TO parameter to BRIDGED ADAPTER also select the network interface with an active internet connection. Click on ADAPTER2 and set the ATTACHED TO parameter to HOST ONLY ADAPTER.

5) Next. click on the STORAGE tab and click on the ADD OPTICAL DRIVE button. Click on the ADD button, browse to the folder where the UBUNTU ISO FILE is located and click on SELECT. Click o the UBUNTU ISO image file and click on CHOOSE.
You should now see the the ubuntu iso image file attached on the CONTROLLER: IDE of the virtual machine

STEP 2: START THE VIRTUAL MACHINE AND INSTALL UBUNTU
6) Now, right click on the virtual machine and click on START > NORMAL START. Once the virtual machine boots up, use your keyboard arrow keys to select the INSTALL UBUNTU SERVER option and press ENTER.

7) Select your location, language keyboard layout preferences and on the command line prompts and once you are done, the installation process will begin

8) During the UBUNTU installation, you will be prompted to set a hostname for the server. Give the server a hostname for MINIO-SERVER then press TAB and press ENTER

9) Next set a username and password for the linux ubuntu server.

10) The ubuntu installer will now prompt and ask if you would like encrypt your home directory, use your keyboard arrow keys select NO, press TAB to highlight the CONTINUE button and press ENTER. The installer will also prompt if your timezone is correct, simply press TAB and press ENTER.

11) Next, you now need to select DISK PARTITIONING options before installing ubuntu. Select GUIDED – USE ENTIRE DISK AND SET UP LVM and press ENTER. The installer will then ask you to configure changes, press TAB to select the YES option and press ENTER. Press TAB to highlight the YES option and press ENTER on all other sections until the UBUNTU server installation process starts.

12) Once the UBUNTU server installation process is complete, reboot the server then after the reboot, log in using the user account that you created during the installation process. Once logged in run the following commands to allow SSH connections to the virtual machine:
sudo su
sudo ufw allow 22

13) Next, run the following commands to to check the ip address of the UBUNTU virtual machine and to connect to it using the MACOS or LINUX based terminal:
ifconfig
ssh administrator@ip-address-of-ubuntu-server

14) Once you have connected via SSH, run the following commands to download ubuntu system and package updates and upgrades:
sudo su
sudo apt-get update && apt-get upgrade

15) Next, run the following commands to download the minio installation files and to make the file executable:
wget https://https://dl.minio.io/server/minio/release/linux/amd64/minio
sudo chmod +x minio

16) Next, move the MINIO folder to the /usr/local/bin directory, add a minio user account and change the owner of the MINIO folder to the minio user account by running the following commands:
sudo mv minio /usr/local/bin
sudo useradd -r minio-user -s /sbin/nologin
sudo chown minio-user:minio-user /usr/local/bin/minio

17) Run the following commands to create directories for saving objects uploaded to minio as well as minio configuration files:
sudo mkdir /usr/local/share/minio
sudo chown minio-user:minio:user /usr/local/share/minio
sudo mkdir /etc/minio
sudo chown minio-user:minio-user /etc/minio

18) Next , run the following file to create a minio configuration file:
sudo nano /etc/default/minio
add the following configuration into this file:
MINIO_VOLUMES=”/usr/local/share/minio/”
MINIO_OPTS=”-C /etc/minio –address your-server-ip:9000
MINIO_ROOT_USER=”Administrator”
MINIO_ROOT_PASSWORD=”Simply123!”

19) The next step is to create a MINIO.SERVER file that will allow MINIO to run as a ubuntu service thereby making MINIO accessible and allow you to not have to start MINIO each time the UBUNTU server restarts. There is a ready made file that can be download from GITHUB. Run the following commands to DOWNLOAD and configure the file:
curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
Edit the minio.service file by running the command nano minio.service and remove the following lines:
User=minio.user
Group=minio-user
ProtectProc=invisible
Save and close the file by pressing CONTROL + O and CONTROL + X then move the minio.service file to the /etc/systemd/system directory by running the following commands:
sudo mv minio.service /etc/systemd/system
sudo systemctl daemon-reload
systemctl enable minio
systemctl start minio

20) You should now check the status of the minio service by running the command:
systemctl status minio
You should results as shown in the image below

STEP 3: Open a new web browser tab and log into the MINIO WEB BASED DASHBOARD
21) Open up a new web browser tab and type in the following address in the browser address bar:
https://ip-address-of-minio-server:9000
You will see a login page as show in the image below. Enter the username and password that you configured in the /etc/default/minio file and click on LOGIN

22) Once you have logged in, you should now see a dashboard as shown in the image below and you can now start to create buckets and upload objects to your buckets in the MINIO system.
