Use OpenSSL to work with SSL Certificates, CSR and Private Keys

OpenSSL is a robust, commercial-grade, and full-featured toolkit on the Linux that can be used for a large variety of tasks related to Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general purpose cryptography library. It is licensed under an Apache-style license, which basically means that you are free to get and use it for commercial and non-commercial purposes subject to some simple license conditions.

It is already installed out of the box on the most linux distributions or available in the trusted package repositories. OpenSSL has been kind of standard in the open source domain to work with SSL and TLS protocols. If for some reason, it is not already installed, you can install it by using your distribution specific commands. Continue reading “Use OpenSSL to work with SSL Certificates, CSR and Private Keys”

Install dotnet core SDK and runtime on Ubuntu OS

.NET Core is the cross platform and open-source framework based on .NET framework.  It is maintained by both Microsoft and the community at https://github.com/dotnet/core on Github. In this blog post, we’ll learn to install dotnet core on the  Ubuntu. For the post’s purpose we’ll use Ubuntu 16.04 since that is latest LTS release from Ubuntu which has the support from almost all software vendors.

Register Microsoft key and feed

Before installing .NET, you’ll need to register the Microsoft key, register the product repository, and install required dependencies by running the following commands: Continue reading “Install dotnet core SDK and runtime on Ubuntu OS”

Install Subversion and Create a new source code repository

Subversion needs no introduction to the world of source code management. Subversion is a modern, network-aware version control system. It is an open source project distributed under Apache license by Apache foundation. The open source community has used Subversion widely: for example in projects such as Apache Software Foundation, Free Pascal, FreeBSD, GCC and SourceForge. CodePlex offers access to Subversion as well as to other types of clients. There are other large enterprises where Subversion is the first choice for version control purposes.

Subversion was created by CollabNet Inc. in 2000, and is now a top-level Apache project being built and used by a global community of contributors.

In this blog post, we’ll learn how to download and install subversion and create a new source code repository for us.
Continue reading “Install Subversion and Create a new source code repository”

Getting started with Terraform

One of the core philosophies of the DevOps is to treat everything as code. So it does the same with Infrastructure and treats Infrastructure as Code (or IaC). Treating Infrastructure as Code allows one to deploy infrastructure in a predictable and consistent manner, document all changes, mark each change or a group of change as separate version. So all cloud providers have supported this philosophy in some manner. For example, with Microsoft Azure, you can use Azure ARM templates, for AWS you can use Cloud Formation. However, these days, multi cloud deployment scenarios are becoming common. So instead of learning what each cloud provider supports, one can also learn Terraform.   Continue reading “Getting started with Terraform”

Install Azure CLI 2.0 on Ubuntu

Azure CLI or Azure command line interface is a cross platform command line tool offered by Microsoft to work with Microsoft Azure and manage azure resources. One can use it in the browser (in the azure cloud shell) or it can also be installed or major Operating Systems of one’s choice. Azure CLI 2.0 is optimized for managing and administering Azure resources from the command line, and for building automation scripts that work against the Azure Resource Manager.

Do note that azure is the prefix for old CLI – Azure CLI (i.e. version 1.0) , and that az is the prefix for the new CLI – Azure CLI 2.0.

In this blog post, we’ll learn how to install Azure CLI 2.0 on Ubuntu machine.
Continue reading “Install Azure CLI 2.0 on Ubuntu”

Load balance Azure Web Apps Using Nginx Server

Azure Web Apps is a peculiar case as it uses ARR (Application Request Routing) by using cookies. By enabling this, they get the functionality of the sticky sessions. A session is called as sticky session when subsequent requests that are made within an established session get processed by the same instance of an app that served the very first request of the session. However if you’ve built your app to be stateless ARR actually limits scalability of your system. It also disallows the Azure Web Apps to be configured behind a highly efficient web server like nginx.

In this blog post, we’ll learn how to configure nginx server so that you can configure multiple Azure Web Apps behind it.  Continue reading “Load balance Azure Web Apps Using Nginx Server”

Stop a script from running if it’s not root

This is a very short post and relies on the knowledge that UID of root user is always 0 regardless of the name of the root account. If the effective UID returned by id -u is not zero, the user is not executing the script with root privileges. Below simple code can be used to check against if script is running as root or not:

#!/bin/sh

if [ "$(id -u)" -ne 0 ]; then
        echo 'This script must be run by root user' > &2
        exit 1
fi