SysadminCasts Short linux sysadmin screencasts containing tutorials, tips and tricks. Great for both novice and experienced Sysdmins. https://sysadmincasts.com/ #50 - Static Sites using AWS S3, CloudFront, and Route 53 (3/5) In this episode, we going to look at an example deployment workflow, for syncing static website files from a local directory, to a remote S3 bucket. Wed, 29 Apr 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/50-static-sites-using-aws-s3-cloudfront-and-route-53-3-5 https://sysadmincasts.com/episodes/50-static-sites-using-aws-s3-cloudfront-and-route-53-3-5 #49 - Static Sites using AWS S3, CloudFront, and Route 53 (2/5) In this episode, we will create a S3 bucket to store static website content. We will review the AWS management console at a high level, talk about S3 bucket permissions, along with manual S3 file uploads. Fri, 17 Apr 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/49-static-sites-using-aws-s3-cloudfront-and-route-53-2-5 https://sysadmincasts.com/episodes/49-static-sites-using-aws-s3-cloudfront-and-route-53-2-5 #48 - Static Sites using AWS S3, CloudFront, and Route 53 (1/5) In this episode series, I thought we would take a look at hosting static websites on AWS, using S3, CloudFront, and Route 53. The plan is to register a domain, create a simple static site, and have it running on AWS, all for just a few dollars a month. Thu, 09 Apr 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/48-static-sites-using-aws-s3-cloudfront-and-route-53-1-5 https://sysadmincasts.com/episodes/48-static-sites-using-aws-s3-cloudfront-and-route-53-1-5 #47 - Zero-downtime Deployments with Ansible (Part 4/4) In this episode, we will do a zero-downtime rolling website deployment, across a cluster of nginx web nodes, sitting behind a haproxy load balancer. We will use Ansible to orchestrate the deployment in a repeatable and consistent way. Thu, 02 Apr 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/47-zero-downtime-deployments-with-ansible-part-4-4 https://sysadmincasts.com/episodes/47-zero-downtime-deployments-with-ansible-part-4-4 #46 - Configuration Management with Ansible (Part 3/4) In this episode, we are going create a load balanced web cluster by way of our Vagrant environment. The goal is to demonstrate how Ansible can solve real world problems by building up infrastructure from scratch. Thu, 26 Mar 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/46-configuration-management-with-ansible-part-3-4 https://sysadmincasts.com/episodes/46-configuration-management-with-ansible-part-3-4 #45 - Learning Ansible with Vagrant (Part 2/4) In this episode, we are going to play around with Ansible via four Vagrant virtual machines. We will install Ansible from scratch, troubleshoot ssh connectivity issues, review configuration files, and try our hand at common commands. Thu, 19 Mar 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/45-learning-ansible-with-vagrant-part-2-4 https://sysadmincasts.com/episodes/45-learning-ansible-with-vagrant-part-2-4 #44 - Patching the GHOST glibc gethostbyname CVE-2015-0235 bug In this episode, we are going to be patching CentOS and Debian systems against glibc gethostbyname function bugs. System library security bugs present a special case, where even through you have patched the bug, you are likely still running vulnerable code, unless you reboot. Wed, 28 Jan 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/44-patching-the-ghost-glibc-gethostbyname-cve-2015-0235-bug https://sysadmincasts.com/episodes/44-patching-the-ghost-glibc-gethostbyname-cve-2015-0235-bug #43 - 19 Minutes With Ansible (Part 1/4) In this episode series, we will be looking at Ansible, which is an easy to use configuration management and orchestration tool. My goal for this series, is to show you what Ansible is, how it works, and the steps to get going on your own. Tue, 13 Jan 2015 00:00:00 +0000 https://sysadmincasts.com/episodes/43-19-minutes-with-ansible-part-1-4 https://sysadmincasts.com/episodes/43-19-minutes-with-ansible-part-1-4 #42 - Crash Course on Vagrant (revised) In this episode, I wanted to give you a crash course on what Vagrant is, along with how I use it. Vagrant is my go to tool for launching virtual test environments, and once you start to learn how to use it, you will wonder how you ever lived without it. Tue, 16 Dec 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/42-crash-course-on-vagrant-revised https://sysadmincasts.com/episodes/42-crash-course-on-vagrant-revised #41 - CLI Monday: apt-file and yum provides In this episode, we are going to look at using apt-file on Ubuntu, and yum provides on CentOS, to see which package provides that file you are missing. Tue, 02 Dec 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/41-cli-monday-apt-file-and-yum-provides https://sysadmincasts.com/episodes/41-cli-monday-apt-file-and-yum-provides #40 - Simple Project Planning for Sysadmins (Part 1 of 3) In this episode, we are going to look at a system for managing small projects from start to finish. This episode series has been broken into three logical sections covering: gathering user requirements, planning and executing, and finally sign-off and delivery. Thu, 27 Nov 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/40-simple-project-planning-for-sysadmins-part-1-of-3 https://sysadmincasts.com/episodes/40-simple-project-planning-for-sysadmins-part-1-of-3 #39 - CLI Monday: How to Keep Your SSH Sessions Alive In this episode, we are go to review a common cause of broken ssh sessions when connecting from home, coffee shops, or hotels. It can be very annoying to be working on something, going to grab a coffee, and coming back to a dropped or frozen ssh connection. Mon, 17 Nov 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/39-cli-monday-how-to-keep-your-ssh-sessions-alive https://sysadmincasts.com/episodes/39-cli-monday-how-to-keep-your-ssh-sessions-alive #38 - Crash Course on MySQL In this episode, we are going to cover common tasks associated with looking after a single MySQL server. We will discuss installing and securing the server, useful debugging techniques, common SQL statements, user access and permissions, and finally backup and restore options. Wed, 08 Oct 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/38-crash-course-on-mysql https://sysadmincasts.com/episodes/38-crash-course-on-mysql #37 - ZFS on Linux (Part 2 of 2) In this episode, lets continue our look at ZFS on Linux. In part one, we covered the basic ins and outs of ZFS, so in this episode, lets focus on some of the more advanced filesystem features offered by ZFS. Wed, 10 Sep 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/37-zfs-on-linux-part-2-of-2 https://sysadmincasts.com/episodes/37-zfs-on-linux-part-2-of-2 #36 - CLI Monday: column and tr In this episode, we are going to review the column and translate commands. These two command are great at manipulating text, so as an example, we will look at converting log data into an easily read format. Mon, 01 Sep 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/36-cli-monday-column-and-tr https://sysadmincasts.com/episodes/36-cli-monday-column-and-tr #35 - ZFS on Linux (Part 1 of 2) In part one, of this two part episode, we are going to look at ZFS on Linux. I will cover the basics of what ZFS is, how to create and work with ZFS pools, along with how to recover from common failures modes. Mon, 25 Aug 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/35-zfs-on-linux-part-1-of-2 https://sysadmincasts.com/episodes/35-zfs-on-linux-part-1-of-2 #34 - CLI Monday: Python SimpleHTTPServer In this episode, I will show you a quick and easy way of serving web content via Pythons SimpleHTTPServer and http.server modules. This can be really useful for quickly sharing files, or testing website content, via a browser to systems on your network. Mon, 18 Aug 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/34-cli-monday-python-simplehttpserver https://sysadmincasts.com/episodes/34-cli-monday-python-simplehttpserver #33 - Git to Puppet Deployment Workflow In this episode, we will be looking at a Git to Puppet deployment workflow pattern. I want to cover how puppet code gets from your workstation, onto production servers, and the bits in between. Fri, 15 Aug 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/33-git-to-puppet-deployment-workflow https://sysadmincasts.com/episodes/33-git-to-puppet-deployment-workflow #32 - CLI Monday: history In this episode, we are going to cover command history. If you spend any amounts of time at the command prompt, being able to recall complex or obscure command options from the history, should result in a productivity boost. Mon, 11 Aug 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/32-cli-monday-history https://sysadmincasts.com/episodes/32-cli-monday-history #31 - Introduction to Docker In this episode, we are going to be looking at Docker. I have broken this episode into two sections. First, we will cover what Docker is at a high level and touch on the container workflow. Second, we will look at a live demo of Docker in action. Mon, 28 Jul 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/31-introduction-to-docker https://sysadmincasts.com/episodes/31-introduction-to-docker #30 - CLI Monday: lsof In this episode, I wanted to show you the lsof command. We are going to review several issues and how the lsof command can be used to troubleshoot what is going on. Mon, 21 Jul 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/30-cli-monday-lsof https://sysadmincasts.com/episodes/30-cli-monday-lsof #29 - Introduction to Amazon Web Services (AWS) In this episode, I wanted to give you an introduction to Amazon Web Services (commonly referred to as AWS). AWS is one of the premier cloud providers, which is drastically changing the way many think about IT. This introductory episode lays the foundation for more advanced AWS episodes to come. Sat, 19 Jul 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/29-introduction-to-amazon-web-services-aws https://sysadmincasts.com/episodes/29-introduction-to-amazon-web-services-aws #28 - CLI Monday: cat, grep, awk, sort, and uniq In this episode, I would like to show you a series of commands for reviewing log data, how to extract event counts from that data, and finally how to create sparklines from those counts. This can be extremely useful for pointing you in the right direction while troubleshooting issues. Mon, 14 Jul 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/28-cli-monday-cat-grep-awk-sort-and-uniq https://sysadmincasts.com/episodes/28-cli-monday-cat-grep-awk-sort-and-uniq #27 - LVM Linear vs Striped Logical Volumes In this episode, I wanted to look at the performance characteristics between linear and striped logical volumes using LVM. We will examine what is happening behind the scenes along with some preliminary benchmarks using an AWS i2.8xlarge instance with 8x800GB SSD disks, 244GB of RAM, and 32 virtual cores. Tue, 08 Jul 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/27-lvm-linear-vs-striped-logical-volumes https://sysadmincasts.com/episodes/27-lvm-linear-vs-striped-logical-volumes #26 - CLI Monday: head, tail, and wc In this episode, I wanted to introduce a new episode type called CLI Monday. The idea being, we will review useful command line utilities every Monday. Today, we are going to review the head, tail, and wc commands. Mon, 07 Jul 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/26-cli-monday-head-tail-and-wc https://sysadmincasts.com/episodes/26-cli-monday-head-tail-and-wc #25 - Bits Sysadmins Should Know The following is a crash course on what I think goes into the making of a well rounded Linux Sysadmin. This episode is a semi-organized brain dump of bits I have learned throughout my career, which will be used as a type of guide, or road map, for future episodes on this site. Tue, 27 May 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/25-bits-sysadmins-should-know https://sysadmincasts.com/episodes/25-bits-sysadmins-should-know #24 - Introduction to Containers on Linux using LXC In this episode, I wanted to give you an Introduction to Containers on Linux using LXC. We will look at what Containers are as a concept, why they are useful, and then move onto a live demo of what a Container looks like on a real system using LXC. Wed, 30 Apr 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/24-introduction-to-containers-on-linux-using-lxc https://sysadmincasts.com/episodes/24-introduction-to-containers-on-linux-using-lxc #23 - Root Privileges and Automated Tasks In this episode, we will discuss giving automated tasks narrow root privileges via the sudo command using the nopasswd option. Sun, 27 Apr 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/23-root-privileges-and-automated-tasks https://sysadmincasts.com/episodes/23-root-privileges-and-automated-tasks #22 - Common Archive and Compression Formats In this episode, I wanted to talk about common archive and compression formats that you are likely to encounter on Linux machines. We will review the differences between archive and compression formats and then focus on how to create and extract these formats using various utilities. Thu, 24 Apr 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/22-common-archive-and-compression-formats https://sysadmincasts.com/episodes/22-common-archive-and-compression-formats #21 - Anatomy of a SQL Injection Attack leading to Code Execution In this episode, I am going to show you what a SQL injection attack is, along with how it works, and then we will look at several methods to prevent them. We will also look at how a SQL injection attack can reach far beyond the database. Thu, 02 Jan 2014 00:00:00 +0000 https://sysadmincasts.com/episodes/21-anatomy-of-a-sql-injection-attack-leading-to-code-execution https://sysadmincasts.com/episodes/21-anatomy-of-a-sql-injection-attack-leading-to-code-execution #20 - How to write an Incident Report / Postmortem In this episode, I wanted to look at how to write an Incident Report, also referred to as a Postmortem. Rather than give you something of my own creation, lets look at a Google Incident Report from early 2013, which I think serves as a great example. Tue, 19 Nov 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/20-how-to-write-an-incident-report-postmortem https://sysadmincasts.com/episodes/20-how-to-write-an-incident-report-postmortem #19 - Crash Course on Man Pages In this episode, I wanted to look at how we can use the man command to view manual pages for various commands, configuration files, and system libraries. Thu, 14 Nov 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/19-crash-course-on-man-pages https://sysadmincasts.com/episodes/19-crash-course-on-man-pages #18 - Managing Iptables with Puppet In this episode, I wanted to show you the Puppet Labs Firewall module. We are going to use what we learned in episode #8, about Vagrant and Puppet, and apply that to managing iptables firewall rules with Puppet. Tue, 12 Nov 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/18-managing-iptables-with-puppet https://sysadmincasts.com/episodes/18-managing-iptables-with-puppet #17 - Why you should use a Wiki In this episode, I wanted to talk about why you should be using a Wiki for keeping track of internal documents, policies and procedures, as well as other information about your infrastructure, then in the latter part of the episode, we will cover how to install MediaWiki on a CentOS 6.4 box. Thu, 07 Nov 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/17-why-you-should-use-a-wiki https://sysadmincasts.com/episodes/17-why-you-should-use-a-wiki #16 - Hard and Symbolic Links In this episode, I wanted to talk about the differences between hard and symbolic links. We will look at why links are useful, the pros and cons of hard vs symbolic links, then have a look under the hood at inodes and filesystem metadata to see how links actually work. Mon, 04 Nov 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/16-hard-and-symbolic-links https://sysadmincasts.com/episodes/16-hard-and-symbolic-links #15 - The IT Disconnect In this episode, I wanted to do something a little different, rather than highlight a piece of technology, I wanted to talk about how IT should be proactively improving communication with other departments within your organization. Mon, 07 Oct 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/15-the-it-disconnect https://sysadmincasts.com/episodes/15-the-it-disconnect #14 - Introduction to Linux Control Groups (Cgroups) In this episode we are going to review Control Groups (cgroups), which provide a mechanism for easily managing and monitoring system resources, by partitioning things like cpu time, system memory, disk and network bandwidth, into groups, then assigning tasks to those groups. Thu, 03 Oct 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/14-introduction-to-linux-control-groups-cgroups https://sysadmincasts.com/episodes/14-introduction-to-linux-control-groups-cgroups #13 - Crash Course on Common Commands In this episode, I will give you a crash course on how to use common commands for getting around the filesystem, reviewing running processes, looking at disk utilization, and editing files. Tue, 20 Aug 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/13-crash-course-on-common-commands https://sysadmincasts.com/episodes/13-crash-course-on-common-commands #12 - Crash Course on the Filesystem Hierarchy Standard In this episode, I will give you a crash course on the Filesystem Hierarchy Standard (FHS). The Filesystem Hierarchy Standard gives a great overview of what a UNIX-like filesystem should look like, for example, what directories should exist, and what their contents should be. Thu, 15 Aug 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/12-crash-course-on-the-filesystem-hierarchy-standard https://sysadmincasts.com/episodes/12-crash-course-on-the-filesystem-hierarchy-standard #11 - Internal Git server with Gitolite In this episode I wanted to talk about setting up a central Git sever and using Gitolite to manage user access. You might put this on an internal company network, where you and your colleagues can develop together. Mon, 29 Jul 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/11-internal-git-server-with-gitolite https://sysadmincasts.com/episodes/11-internal-git-server-with-gitolite #10 - Openfire XMPP/Jabber on CentOS In this episode, I wanted to talk about setting up the Openfire XMPP server on CentOS. Lets say, for example, that you want to improve internal communication around the office, you might want to try an internal XMPP server, because it allows you to quickly chat with colleagues via instant messages. Sat, 20 Jul 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/10-openfire-xmpp-jabber-on-centos https://sysadmincasts.com/episodes/10-openfire-xmpp-jabber-on-centos #9 - Yum Versionlock In this episode, we will look at a method for locking rpm packages at a particular version. For example, that you have a package installed on a server, and that a package update is coming, which will likely break your configuration. You would like to somehow exclude this package from getting updated. We will use a yum plugin called versionlock to solve this problem. Wed, 03 Jul 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/9-yum-versionlock https://sysadmincasts.com/episodes/9-yum-versionlock #8 - Learning Puppet with Vagrant In this episode I wanted to introduce you to Puppet. Puppet allows you to quickly automate many sysadmin tasks, like deploying new machines, pushing changes out to existing machines, and helps you verify the configs of existing machines. We will also be setting up development environment for testing and playing around with puppet using Vagrant. Tue, 25 Jun 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/8-learning-puppet-with-vagrant https://sysadmincasts.com/episodes/8-learning-puppet-with-vagrant #7 - Why you should use a password safe In this episode we are going to take a look at centralized password management. How a password safe can be a simple and effective tool for you and your team, and why you should be using one. Tue, 18 Jun 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/7-why-you-should-use-a-password-safe https://sysadmincasts.com/episodes/7-why-you-should-use-a-password-safe #6 - Locate files by name In this episode we are going to review the locate and updatedb commands provided by the mlocate package. Locate is a useful command for finding files quickly. We will also look at updatedb.conf, reviewing the PRUNEPATHS option, using this to limit the stress on your servers. Sun, 09 Jun 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/6-locate-files-by-name https://sysadmincasts.com/episodes/6-locate-files-by-name #5 - Create a Vagrant box with Veewee In this episode we will create a Vagrant box with Veewee. We will use Veewee to create a working Vagrant SL (Scientific Linux) 6.4 box from a SL 6.3 template. I'll demonstrate the process end-to-end. This process should work with RHEL and CentOS too. Wed, 05 Jun 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/5-create-a-vagrant-box-with-veewee https://sysadmincasts.com/episodes/5-create-a-vagrant-box-with-veewee #4 - Vagrant In this episode we will review Vagrant. Vagrant makes it easy to create disposable environments for testing scripts and infrastructure changes. Fri, 31 May 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/4-vagrant https://sysadmincasts.com/episodes/4-vagrant #3 - SystemRescueCd In this episode we will review SystemRescueCd. SystemRescueCd is a very handy tool for troubleshooting problem. I've used it to re-install grub boot menus, transfer files from nonbootable machines, and a host of other issue. You can also use SystemRescueCd to launch Memtest86+ and DBAN. Sun, 05 May 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/3-systemrescuecd https://sysadmincasts.com/episodes/3-systemrescuecd #2 - RPM Changelog In this episode we will learn how to query and review rpm package information and the changelog history. This can be very helpful in determining whether a bug or CVE security issue has been fixed in a given rpm package. Sat, 04 May 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/2-rpm-changelog https://sysadmincasts.com/episodes/2-rpm-changelog #1 - VirtualBox and CentOS 6.3 In this episode we will use Oracle's VirtualBox to create a CentOS 6.3 virtual machine. Follow along as I download the install media, create a new virtual machine, and install CentOS 6.3. You can also download the CentOS 6.3 virtual machine which was created in this episode. Fri, 19 Apr 2013 00:00:00 +0000 https://sysadmincasts.com/episodes/1-virtualbox-and-centos-6-3 https://sysadmincasts.com/episodes/1-virtualbox-and-centos-6-3