How to install ZoneMinder – an open source CCTV surveillance tool (and Android phones as IP cameras)

There are millions of CCTV and IP Camera tools and options on the market. If we want to protect our property then a camera system is a good idea. Physical security companies provide solutions with hardware, software and consultation, but if we want to play with the possibilities and the technology, then ZoneMinder is a great option.

Continue reading “How to install ZoneMinder – an open source CCTV surveillance tool (and Android phones as IP cameras)”

How to protect sensitive data with encrypted files (or elements) in Ansible – Ansible Vault

When we automate configurations we cannot avoid providing secrets to Ansible. The last thing we want is our secret data running around in plain text files on our control node. Luckily Ansible has a tool for this.

Ansible Vault is an integrated encryption tool in Ansible to manage sensitive data like passwords, keys and certificates. As with most parts of Ansible, we can start simple, and complexity can come later on.

Continue reading “How to protect sensitive data with encrypted files (or elements) in Ansible – Ansible Vault”

How to install LAMP stack on Debian Bullseye – the old way

The traditional “LAMP stack” means Linux, Apache2, MySQL/MariaDB and PHP for many IT practitioners. It is a collection of software and services for running dynamic web applications with database backends.

Linux is the Operating System kernel on which we run these services. Apache2 is a general web server for running static web sites. MariaDB is a relational database engine for storing persistent data. PHP is a lightweight, interpreted language for writing dynamic server side code for web applications.

A large slice of the known web sites run on the LAMP stack today.

Continue reading “How to install LAMP stack on Debian Bullseye – the old way”

How to install and manage VMWare Workstation Pro virtual machines?

If we want a cool personal lab environment, then we have to use cool tools and technology. Virtual machines are one of the best inventions for learning and practicing IT in isolated environments. We can simulate and test Operating System changes, kernel modifications and even network configurations from our chair on our PC or notebook. Let’s build a basic test lab!

Continue reading “How to install and manage VMWare Workstation Pro virtual machines?”

How to install VMWare Workstation Pro on Windows 10?

VMWare is a famous name in virtualization technology. If you work in IT it is impossible that you don’t know about the VMWare products. A lot of companies use the vSphere infrastructure with vCenters and ESXi hosts. On the other end of their products there are the home users and small businesses. We can use the Workstation Player for free for non-commercial use of course, but the Workstation Pro has more powerful features that can help us building a personal home lab.

Continue reading “How to install VMWare Workstation Pro on Windows 10?”

Conditional statements – making decisions in Ansible code

In a playbook or in a role sometimes we want to run different tasks based on different conditions. In most cases it depends on a fact (detail about the managed host) or some data collected during the playbook run. Ansible conditionals are there to make it possible to run different tasks based on different conditions, or skip executing tasks entirely.

Continue reading “Conditional statements – making decisions in Ansible code”

Loops in the Ansible code – the basics of iteration

Ansible loops and conditional statements are very cool inventions, but they are a double edged sword as well. The limitless freedom they give us can turn our roles into horrible mess. It is our responsibility to balance on the edge and use just the right amount of them in our code while we keep in mind that YAML is not a programming language.

Continue reading “Loops in the Ansible code – the basics of iteration”

Creating an Ansible role from a playbook: modular, reusable code

After we ran ad-hoc commands and created a monolith playbook, we will increase our level of automation. We will separate our code much better with introducing modular, reusable file structures called roles. Ansible roles will load variables, handlers and tasks automatically for us based on a defined directory and file structure.

Continue reading “Creating an Ansible role from a playbook: modular, reusable code”

Getting started with Ansible for managing our personal lab – ad-hoc commands

After we installed Ansible and tested that it works well, then we want to make it work for us. There are three methods Ansible can operate. The first one is running so called ad-hoc commands with the ansible command line tool. The second option is to write re-usable code (playbooks, roles and variables) and run them with the ansible-playbook command. Both commands use the push mechanism to interact with the controlled nodes. A third option is a tool called ansible-pull that (as its name suggests) pulls the configuration onto a managed machine from a source code management repo. Let’s take a look at the easiest method, the ad-hoc commands first!

Continue reading “Getting started with Ansible for managing our personal lab – ad-hoc commands”