Install latest Ruby version using rbenv

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. Yukihiro “Matz” Matsumoto created it in the mid-1990s, using his influence from other prpgramming languages i.e. Perl, Ada, Lips, Eiffel, and Smalltalk. Ruby was released in 1995. Like Python (released few years earlier), ruby also has dynamic typing and implicit memory management

Continue reading “Install latest Ruby version using rbenv”

Install Java 8 on CentOS/RHEL 7.x

If you have a fresh installation, it is recommended to run the update first
yum update
Usually Java comes installed on CentOS 7 (Everything), for CentOS 7 minimal you may need to install Java for various setups. On a CentOS 7 Everything, you can verify it by simply checking the version:
java -version

The output:

# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
Java 1.8.0_111-b15 is the latest available, ‘1.8.0’ states it is Java 8, ‘u111’ means update 111, and ‘b15’means build 15.
For CentOS 7 minimal, the same command will give a different output:
# java -version
-bash: java: command not found
Which means Java is not installed. The latest Java version currently is Java 8.

Continue reading “Install Java 8 on CentOS/RHEL 7.x”

Syncing Date and Timezone – Install and configure ntpd

For various cluster or distributed application setups it’s an explicit requirement to have date and timezone (TZ) on each node synced. The difference in date or TZ may result in serious issues, for example in case of Puppet Master/Agent setup it’s a must requirement to have the data and TZ synced across all the nodes, if not, Puppet master server being the certificate authority may issue agent certificate from the distant past or future, which other nodes will treat as expire.
For syncing data and timezone across all the nodes, for whatever reason the tool at hand is ntpd.
The Network Time Protocol daemon (ntpd) is an operating system program that maintains the system time in synchronization with time servers using the Network Time Protocol (NTP).

Continue reading “Syncing Date and Timezone – Install and configure ntpd”

Installing open-source standalone Puppet on CentOS 7

Puppet is an open-source configuration management tool – for infrastructure orchestration, or automated provisioning, or configuration automation, and lot more. The simplest use case is for automated provisioning i.e. the tasks we need to perform once our machine/VM comes up for the first time (or even after it), like installing webserver, DB server, etc. Instead of manually performing the tasks/running the tasks we can use any of the available configuration management tools (like Puppet) to automate the boring repetitive tasks, and also making configuration consistent across all the servers.

Continue reading “Installing open-source standalone Puppet on CentOS 7”

Installing Vagrant on CentOS 7

Vagrant is virtual machine configuration and provisioning utility – uses VirtualBox, VMWare, KVM, etc for virualization and Puppet, Chef, Ansible, or shell scripts for provisioning.

Step 0 – Pre-requisites for Vagrant

The setup just requires VirtualBox to be installed – as Vagrant runs on top of a virtualization software. Here is a previous post – “Install VirtualBox 5.1 for CentOS 7/RHEL 7“. I am also listing the steps/commands here:
# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
# yum update -y
# yum -y install epel-release
# yum -y install gcc make patch  dkms qt libgomp
# yum -y install kernel-headers kernel-devel fontforge binutils glibc-headers glibc-devel
# yum -y install VirtualBox-5.1

Step 1 – Install Vagrant

You can download the Vagrant as per your platform – for this post we’ll be downloading it for CentOS 7. The latest available version is 1.8.6.
# wget https://releases.hashicorp.com/vagrant/1.8.6/vagrant_1.8.6_x86_64.rpm

Continue reading “Installing Vagrant on CentOS 7”