Marketing Automation with Mautic

While you may not have heard the term Marketing Automation before, you’ve certainly been exposed to it. This kind of software is designed to automate many of the tedious aspects of acquiring, communicating, and tracking subscribers and customers. Popular commercial Marketing Automation (abbreviated MA hereafter) platforms include Marketo, Eloqua, Pardot, Mailchimp, and Hubspot. I don’t have much experience with the commercial offerings for two simple reasons: They are expensive A fantastic open source alternative exists Enter Mautic. [Read More]
linux 

Project: Virtual Private Server

In Virtual Machines, I introduced the concept of a virtual machine (VM). To introduce you to Linux, I recommended and showed how to create a dedicated VM to install Ubuntu Linux. I didn’t get into the weeds of the host machine, because early explorations of the file system and CLI would not be bottlenecked by the host machine’s power. Then I laid out a series of posts (#1, #2, #3) illustrating Docker as a specialized tool to deploy containerized applications quickly and easily. [Read More]
linux 

Introduction to Shell Scripting

In Text Streams and Redirection, I went over some helpful CLI tools and shell operators to manage text streams. It’s all well and good to see examples of grep and tr, but it doesn’t give a full sense of how powerful the shell environment actually is. I recently wrote a script to help me automate a very tedious task, and I thought it would be useful to break it down here. [Read More]
linux 

Reverse Proxies

In the last post, we explored the idea of grouping and isolating related containers into separate networks. Isolation of services is inherently part of working with Docker, and a major reason why it’s so successful. Savvy admins cian use this to their advantage, reducing the attack surface of mission-critical applications. If you can control how traffic gets into your containers, you minimize the ability for compromise. If you are operating an Internet-facing server, odds are good that you’re exposing more than one service. [Read More]

Secure Shell

Now that we have a good understanding of users and the shell, we’re ready to tackle the concept of a remote terminal. A foundational advantage of Linux is easy access to the Secure Shell daemon, known as sshd. This service allows a user to establish an encrypted shell session from anywhere in the world. On top of basic remote shell access, sshd provides a few nice perks: Secure file transfer over the same encrypted protocol. [Read More]
linux 

Navigating the CLI

The purpose of this post is to provide a general overview of the command line interface (CLI), and how to interact with it. So far, I have shown many things that you can do from the CLI, but haven’t covered exactly what the CLI is, what options it presents you, and how you can use it powerfully to save time. What Is the CLI, Anyway? The technical term for the CLI in Linux is a shell. [Read More]
linux 

Text Streams and Redirection

In my very first Linux Learning Series post, I outlined one of the guiding philosophies of UNIX: Write programs to handle text streams, because that is a universal interface. This post will cover how to work with text streams of different forms. Text Editors The first and most obvious form of text is a file with a text stream saved inside. This is the form most of us are used to, so we will start here. [Read More]
linux 

Daemons at your Service

In the days of UNIX, there were programs, users, and daemons. The Devil doth decreed the daemon was good! A daemon is so-named after a thought experiment known as Maxwell’s Demon, in which a hypothetical demon worked in the background in such a way to theoretically violate the 2nd law of thermodynamics. The thermodynamics are not relevant here, but the concept of an autonomous “background operator” is. A UNIX daemon typically ends with a “d”, to signify its intended operation. [Read More]
linux 

Users and Permissions

Building off the previous post, we now explore the dual topics of users and permissions. Multiple Users Linux is inherently a multi-user operating system. This can be quite confusing for desktop users of Windows or MacOS, and completely foreign to smartphone/table users. Using Windows as an example, it’s common for someone to have a username that matches their real name. Once they open the computer and type their password, that’s about as far as they get. [Read More]
linux 

File System Structure

If you successfully followed the tutorial in the previous post, you now have a fully-functional VM running Ubuntu 20.04 LTS. Nice! Going forward, I will dedicate each new post in the Linux Learning Series to a narrow topic. This allows me to keep the post frequency high, and allows you to take small manageable bites from an otherwise unmanageable topic. In these early posts I may present some information that seems out of place. [Read More]
linux