Building a Perl DBD::Oracle Apache Docker container

Introduction

In my last post, I discussed building RPM packages for the Perl Oracle DB driver for Enterprise Linux. These packages were then used to build a Docker container running Apache and an Oracle client, which could be used to serve Perl CGI scripts. In this post I discuss installing this same module, but in a Debian-based Apache/HTTPD container, which is more lightweight and better-suited to running Apache than a full OS container. For me, this was a quick way to get a 90s-style Apache CGI environment up and running in order to start learning how to do some basic web development for systems administration (full disclosure: I am not a web developer).

Continue reading

Building Perl DBD::Oracle RPM packages for Enterprise Linux

Introduction

One of the many “hats” I wear in my job is an Oracle database administrator. In this role I write a number of Perl scripts that interact with the Oracle DB, and are used for purposes such as updating data and automating maintenance tasks. Over the years I’ve built up a fairly large library of scripts that I can clone off of when I need something new. With Perl and Oracle, one uses the DBI module for Oracle, DBD::Oracle. I’ve mostly used this on Red Hat systems—Enterprise Linux or EL, as I will refer to it here—distributed with an RPM package (instead of being installed using CPAN). Perhaps because it requires the installation of closed-source Oracle software, there aren’t pre-built RPMs of DBD::Oracle; I’ve always had to build these myself, using an RPM spec file I inherited from a colleague. However, I’ve wanted to revisit this and find a spec file from a source outside of work, one that I could use for experimentation in personal projects, as well as providing an improved version for my work. I was able to find a spec file from a public source, make some improvements, and build the packages for Enterprise Linux versions 7 through 10. This post documents those steps.

Continue reading

Running Proxmox VE inside KVM (nested virtualization)

Introduction

This will be a shorter post and somewhat of an extension of my last post on building a lab environment in Proxmox VE. Here I’ll explore running Proxmox VE inside of KVM virtual machines using nested virtualization, instead of on bare metal systems. This is useful if you want to experiment with Proxmox VE, but don’t have any extra PCs laying around to run it on. The performance is not as good when compared to running it on physical hardware, but at the same time it has the advantage of being to spin a cluster up and down without having to reinstall the OS on an actual computer. In this post, I will spin up the same Terraform lab environment in Proxmox VE, but with nested virtualization instead of running it on physical hardware. A “bonus” section will involve swapping out Bind and isc-dhcp-server for Dnsmasq in the lab environment.

Continue reading

Building a lab environment in Proxmox VE with Ansible and Terraform

Introduction

Recently I started experimenting with Proxmox Virtual Environment, while also evaluating it as a replacement for VMWare ESXi. This post discusses some of my experiences with configuring a Proxmox VE “lab environment” of virtual machines on a separate network segment, using Ansible and Terraform. For me at least, trying this stuff out and blogging about it helps motivate me to learn the stuff and document what I have learned. Like a lot of my posts, this one will delve into different topics and is not meant as a how-to guide (there are better examples of this out there); it is mainly to document what I’ve been working on. I do hope, however, that this provides ideas for someone else and perhaps they can improve on what I’ve done here.

Continue reading