On-Premises Object Storage for Testing

Many Customers and Partners are wanting to deploy an on-premises object storage for testing and learning purposes. How you can deploy a totally free of charge object storage instance for an unlimited time and unrestricted capacity in your own lab?

On this blog post, I will take you through the deployment and configuration of an on-premises object storage instance for test purposes so that you might learn more about the new feature.
For this test, I will use a product call Minio. You can download it from this link for free, and it is available for Windows, Linux and MacOS.
To get started, download Minio and run the installation.
On my CloudOasis lab, I decided to use a Windows core server to act as a test platform for my object storage. Read on to the steps below to see the configuration I used:

Deployment

By default, after the download of Minio Server, it will install as an unsecured service. The downside of this is that many applications out there need a secure URL over HTTPS to interact with the Object Storage. To fix this insecurity, we have to download GnuTLS to generate a private and public key facility to secure our Object storage connection.

Preparing Certificate

After GnuTLS has downloaded and extracted to a folder on your drive, for example, C:\GnuTLS, you now must add that path to Windows with the following command:

setx path "%path%;C:\gnutls\bin"

Private Key

The next step is to generate the private.key:

certtool.exe --generate-privkey --outfile private.key

After the private.key has been generated, create a new file called cert.cnf and past the following script into it:

# X.509 Certificate options # # DN options # The organization of the subject. organization = "CloudOasis" # The organizational unit of the subject. #unit = "CloudOasis Lab" # The state of the certificate owner. state = "NSW" # The country of the subject. Two letter code. country = "AU" # The common name of the certificate owner. cn = "Hal Yaman" # In how many days, counting from today, this certificate will expire. expiration_days = 365 # X.509 v3 extensions # DNS name(s) of the server dns_name = "miniosrv.cloudoasis.com.au" # (Optional) Server IP address ip_address = "127.0.0.1" # Whether this certificate will be used for a TLS server tls_www_server # Whether this certificate will be used to encrypt data (needed # in TLS RSA cipher suites). Note that it is preferred to use different # keys for encryption and signing. encryption_key

Public Key

Now we are ready to generate the public certificate using the following command: