WWU DevOps Bootcamp
  • Get Involved
    • Mailing list
    • IRC
    • Website & Curriculum
    • Meetings
  • Policies
    • “The Deal”
    • Attendance
    • Laptops
    • Target Audience
  • Curriculum
    • Lesson 1: The Very Basics
    • Lesson 2: Single System Fundamentals
    • Lesson 3: Editors & Git
    • Lesson 4: Scripting & Troubleshooting
    • Lesson 5: Services & Deploying a Web App
    • Lesson 6: Boot Process & Filesystem Hierarchy
    • Lesson 7: Databases
    • Review of VM and App Setup
    • Lesson 8: Security & Authentication
    • Lesson 9: Networking overview
    • Lesson 10: DNS
    • Lesson 11: Automation and DevOps
    • Lesson 12: Configuration Management
    • Lesson 13: Open Source & Hands-On
  • BootCamp Guide
    • Administrative Stuff
  • Recommended Resources
    • Scripting
    • Systems Administration Tutorials
    • Open Source
    • Culture
  • FAQ
    • Is this a for-credit class?
    • What does it cost?
    • I don’t know about computers! Can I still join?
    • When will meetings be?
    • Is this only for students?
    • What’s the difference between BootCamp and regular LUG meetings?
    • I wasn’t able to participate during Fall term. Can I still join?
    • I have a question?
  • What is DevOps?
  • Purpose of DevOps BootCamp
    • From front page:
    • From FAQ:
    • “The Deal”
    • Target Audience
  • Vagrant
    • Trying Linux as a virtual machine with Vagrant
    • Installing Virtualbox
    • Installing Vagrant
    • Testing Vagrant
    • Cloning the Vagrant Repo
    • Using Vagrant
    • Troubleshooting
  • DevOps Bootcamp Introduction
    • What’s DevOps?
    • What’s BootCamp?
    • Why are we doing this?
    • What you’ll do:
    • Can you do it?
    • Career Paths:
    • OSL Hiring:
    • What next?
  • Lesson 1: The Very Basics
    • Today’s Agenda
    • A note about notation
    • How to get (to) Linux
    • Trying Linux on a Virtual Machine
    • Installing Linux on Virtualbox
    • Vagrant & VirtualBox
    • Vagrant cheat sheet
    • The Terminal
    • Basic Shell Commands
    • Invoking a script
    • File Paths
    • Special Characters
    • Type less
    • Help, get me out of here!
    • Knowledge Check
    • More about Man Pages
    • Documentation
    • Asking for help
    • IRC
    • A Client
    • Networks
    • Channels
    • Commands
    • Useful tricks
    • Screen & Irssi Hints
    • Etiquette
    • Terminology
    • Review
  • Lesson 2: Single System Fundamentals
    • Housekeeping
    • Today’s Topics
    • What are users?
    • Users have
    • Managing users
    • Passwords
    • Root/Superuser
    • Acting as another user
    • What are groups?
    • Hands-On: Users and Groups
    • What are files?
    • File extensions
    • ls -l
    • Types of files
    • ACLs
    • Hands-On: Files and Permissions
    • Package Management
    • RPM & yum (RedHat, CentOS, Fedora)
    • DPKG & Apt (Debian, Ubuntu)
    • Language-specific Package Managers
    • Other Package Managers
    • Installing from source
    • Hands-on: Package Management
    • Questions:
  • Lesson 2: Homework
  • Lesson 3: Editors & Version Control
    • Check in from last week
    • What we’ll discuss
    • How do you edit files?
    • No. Never, Ever edit code in Word/LibreOffice
    • Then what should you use?
    • Integrated Development Environments
    • Sysadmin tools
    • Features of an editor
    • Text Editors
    • Emacs
    • Vim
    • How to choose
    • Modes
    • Commands
    • Moving Around
    • Configuration / customization
    • Learning Resources
    • Regular expressions
    • Editor questions?
  • Lesson 3: Intro to Git
    • Version Control is Hard
    • Why Bother?
    • Better Options: Version Control
    • Git
    • Using Git Locally
    • More on commits
    • What Not To Do
    • Daily workflow
  • Lesson 3: GitHub
    • Let’s Walk Through
    • Help, Everythings’s Broken!
    • Learn More
    • Hands-On
  • Lesson 4: Scripting, Troubleshooting, & Workflow
    • Agenda
    • Scripting
    • What’s a script?
    • What’s a scripting language?
    • Common Scripting Languages
    • Bash
    • Python
    • Why Python?
    • Troubleshooting
    • Informal method
    • If it used to work
    • If it’s never worked for you
    • After finding the problem
    • Formal method
    • How to get help
    • Documentation
    • Sources of trouble
    • Tickets
    • Tickets vs. Issues
    • Some Examples
  • Lesson 5: Web Applications
    • What is a web app?
    • What is this Virtual Environment thing?
    • Frameworks
    • The SystemView app
    • Setting Up
    • Setting Up
    • Get the Code
    • Run the Code
    • Fail
    • Pip
    • Install What’s Missing
    • Run and Test!
    • Branch and Modify
    • Homework
  • Lesson 6: Boot and the Filesystem Hierarchy
    • The Linux Filesystem Hierarchy
    • Filesystem can mean:
    • The File System
    • Installed programs and utilities
    • User-Specific Data & Configuration
    • Where are drives mounted?
    • Space on drives
    • Three Tiers of Filesystem Hierarchy
    • Common Directories
    • Common Directories
    • /proc has lots of useful system information
    • Commands for working with filesystems
    • devfs
    • Blocks and dd
    • Filesystem Consistency
    • More about Journaling
    • The Boot Process
    • Bootstrapping
    • Steps in boot process
    • Booting
    • Boot Loaders (Grub)
    • Single User Mode
    • Startup Script Tasks
    • System-V Boot Style
    • /etc/inittab
    • init.d Scripts
    • Starting services on boot
    • Configuring init.d Scripts
    • Shutting Down
    • Homework
  • Lesson 7: Databases
    • Filesystems Review Questions
    • But what about our poor data?
    • Enter the Database
    • Structure
    • Relational Algebra Visualized
    • Installing MariaDB (better, open source MySQL)
    • Managing MariaDB
    • Configuration
    • Users & Permissions
    • Importing Data
    • Installing PostgreSQL (Usually pronounced Postgres)
    • Managing PostgreSQL
    • Configuration
    • Users & Permissions
    • Importing Data
    • Basic Queries
    • SELECT
    • Practice
    • INSERT
    • Practice
    • UPDATE
    • Practice
    • DELETE
    • Further Reading, Resources, etc.
    • Hands-On: Make a Database
    • Databases in Applications
    • Native SQL
    • Introducing the ORM
    • Life With a Python ORM
    • Setting Up the Magic - SqlAlchemy
    • Let’s Databasify Systemview
    • Hands On
    • Hands On (Cont...)
    • Goals
  • Lesson 8: Security & Authentication
    • What is security?
    • Types of security
    • Authentication vs. Authorization
    • Identity
    • Identity
    • Principle of Least Authority
    • System Security
    • Other Attacks
    • What to do if you discover a vulnerability
    • Passwords
    • Good Passwording
    • Server Side
    • Password Managers
    • Keys
    • Key Exchange
    • RSA
    • SSH
    • Brief History of Time (line of GPG)
    • GPG
    • Ways to use GPG
    • Certificates and HTTP
    • Man in the Middle
    • WiFi
    • Crypto-wares
    • Math!
    • One Last Thing
  • Lesson 8: Web application security
    • Web application security
    • Code Injection
    • Web Server-Specific Attacks
    • Problems with Design and Implementation
    • What Not to Do: The Exercise
    • Getting Up to Date
    • Let’s Check out Dean’s (not so) Awesome Code
  • Lesson 9: Networking
    • Who is this talk for?
    • What is a network?
    • What is a protocol?
    • The OSI Model
    • Layer 1: Physical
    • Layer 2: Data Link
    • Layer 3: Network
    • Layer 4: Transport
    • Get your hands dirty
    • Example output:
    • Netmask:
    • Netmask Example:
    • Netmask Example:
    • Netmask Example:
    • Routes
    • Bootstrapping
    • Static Configuration
    • Dynamic Configuration
    • Reserved IPv4 Addresses
    • Public vs Private Address
    • Network Devices
    • Network Devices
    • Control Layer
    • Collisions
  • Lesson 10: Networking part 2
    • Agenda
    • Networking Review
    • Networking Review
    • Networking Review
    • Networking Review
    • Networking Review
    • Intro to DNS
    • How do I know where the page came from?
    • OSL
    • DNS
    • Hierarchy of domains
    • Pop quiz
    • Recursive DNS
    • Non-recursive
    • Another Quiz
    • Caching
    • /etc/resolv.conf
    • /etc/hosts
    • Load Balancing
    • Records
    • Reverse DNS
    • Web Apps: A Bit of Review
    • What We Want To Do
    • Why?
    • What is a Web Server
    • Webservers Talk HTTP
    • A Digression: AJAX, JSON and APIs
    • AJAX
    • JSON
    • XML
    • APIs
    • Let’s Install a Web Server!
    • Apache
    • Let’s Serve Some Web
    • But First, Config Files
    • Wait, What am I Writing Again?
    • Voila!
    • But I Want to Run Code!
    • What Went Wrong?
    • Voila, Again.
    • Ok, But I Want To Serve a Python App...
    • Sounds Great, Let’s Go!
    • Don’t Forget Virtualenv!
    • What Makes an App WSGI?
    • Configuring Apache for Systemview
    • Even More Voila
    • Homework
  • Lesson 11: Devops & Configuration Management Intro
    • Session Summary
    • Devops Introduction
    • Definition of Devops
    • The old view
    • History of Devops
    • The Agile Approach
    • Adapting Agile to Ops
    • Better Tools enable Devops
    • It’s not NoOps
    • What is Devops Video
    • Devops Explained: No Horse Manure
    • Configuration Management
    • History of CM
    • Infrastructure as code
    • CM Platforms
    • CM Platforms (part 2)
    • Puppet Example
    • Chef Example
    • CM Platform Comparison
    • References
    • Traditional Development Workflow
    • Email #1
    • Email #2
    • Email #3
    • Email #4
    • Email #5
    • Email #6
    • DevOps Workflow
    • IRC #1
    • IRC #2
    • IRC #3
    • IRC #4
    • Non-DevOps
    • DevOps
  • Lesson 12: Configuration Management
    • Large site management
    • What config management does
    • Configuration Management
    • CF Management Tools
    • Puppet
    • Declarative Configuration
    • Puppet Resources
    • Resources Have Attributes
    • Puppet Manifests
    • Pull the Strings
    • Declarations Are Idempotent
    • Packages and Services
    • Puppet Config
    • /etc/puppet
    • The Site Manifest
    • But First, Nodes
    • An Example Site Manifest
    • The Master and the Agent
    • The Agent
    • Modules
    • Module Structure
    • The Bootcamp Apache Module
    • Site.pp Modularized
    • Community Modules
    • The Bootcamp Mysql Module
    • Databases, Users, and Grants
    • Test It Out
    • Further Reading
  • Lesson 13: Contributing to Open Source
    • Getting started in Open Source
    • Joining vs Starting a Project
    • Know your licenses
    • Assessing a new community
    • Getting involved
    • Finding a project
    • First steps
    • DevOps Concerns
    • Your Homework
    • Questions?
  • Lesson 14: Review
    • Today’s Goals
    • How to set up a VM
    • Enable VirtualBox (VT extensions)
    • Linux
    • IRC
    • GitHub Account
    • Joining the Github Org
    • Installing the Web App
    • Prerequisite tools
    • The Magic Script
    • Branches
    • Connecting to the App
    • Where am I?
    • In virtual machine?
    • In a repo?
    • On a branch?
  • Lesson 16: Email
    • Email: System Components
    • Email: System Components
    • Transport Agents
    • Delivery Agents & Message Stores
    • Anatomy of a Mail Message
    • MTA Log Files
    • Configuring Postfix
    • Sendmail
    • Email: Viruses & Spam
    • Email: Infrastructure Implementation
    • Email: Security
 
WWU DevOps Bootcamp
  • Docs »


© Copyright 2013, OSU OSL & OSU LUG.

Sphinx theme provided by Read the Docs