Image

Deploy PHP!

A video series on reliable,
fully-automated deployments
for your PHP apps!

Image Buy Now!    ($79.00)

Finally create a solid PHP deployment strategy

We'll start simple and progress our way to professional
fully-automated, zero-downtime deployments.

Image

Server setup and security

We'll install some basics, setup new users, set firewalls, install some security software, and harden server access.

Image

Simple to Professional

We'll start with simple file-copy operations over SSH and then incorporate Fabric to build a zero-downtime deployment strategy with rollbacks.

Image

Deployment with Teams

We'll centralize deployments with a build server, creating a process to automate application builds, deploy code, send notifications and log deploy history.


The Course Modules

All the Videos:

Groundwork

Building a Web Server
(Config & Security)

Image 08:50 #1

Connecting via SSH

Image 05:45 #2

User Setup

Image 03:31 #3

User Access/Security

Image 13:25 #4

Configuring Firewalls

Image 05:01 #5

Fail2Ban to Montior Access Attempts

Image 11:21 #6

Application Server Setup (PHP, etc)

Basic Deployments
(Copying Files)

Image 02:42 #7

Our SSH Setup

Image 03:14 #8

Copying Files with SCP

Image 05:30 #9

Improving Our Process with Rsync

Image 09:43 #10

Deploying with Git Securely

Scripting Deployments

Advanced Deployment

Image 08:34 #11

Using Fabric to Script Deployments

Image 06:48 #12

Sudoers for Sudo Commands

Image 09:16 #13

Symlinks to Reduce Downtime

Image 07:24 #14

Scripting the Symlink Process

Image 05:48 #15

Handling Rollbacks

Image 11:02 #16

Handling Migrations

Image 03:22 #17

Other Services We Can Use

Automating Deployments

Building a Deploy Service

Image 03:19 #18

Automating Fabric

Image 10:23 #19

Creating a Build Server

Image 06:58 #20

Using a Web Listener to Trigger Deployments

Image 09:17 #21

Setting up GitHub Webhooks

Image 07:39 #22

Setup a Deployment Queue with SQS

Image 07:45 #23

Taking Jobs from the SQS Queue to Trigger Deployments

Image 05:07 #24

Adding Slack Notifications

Image 08:19 #25

Staying UP & Running (Process Monitoring)

Packaging Your Application

Image 05:47 #26

What is a Packaged Application?

Image 09:50 #27

Application Packaging Process

Image 10:15 #28

Deploying a Packaged Application

Image 03:24 #29

Wrap Up


The process: Zero to Automated

Here's what you'll learn:

Essentials

A Server to Deploy To

  • Server Installation
  • Network Security
  • SSH & User Security
  • A PHP Application Server

SSH & Copying Files

  • SSH Configuration
  • Copying with SCP
  • Syncing with Rsync
  • User Permissions for Deployment
  • Git/GitHub for Deployment

Scripting Deployments

The Deploy Process

  • Fabric - SSH Task Runner
  • Sudoers/Sudo Usage
  • Zero-Downtime with Symlinks
  • Rollbacks
  • Migrations
  • Similar Services

Automating Deployments

Centralizing & Refining

  • Centralizing Deployments
  • Automating calls to Fabric
  • Listening for Manual & GitHub Webhooks
  • Separating Concerns with Queues
  • Notifying of Deployment Status
  • Building App Assets & Dependencies First
  • Monitoring Node/Python Listeners

Building the Application

  • Setting up the App for Building
  • Building App Assets & Dependencies First
  • Building on the Build Server
  • Deploying a Built Site

Purchase Deploy PHP!

Purchase this video series and get:

Video Series:

Get 30 videos 🎉 all about building a secure, full automated deployment process for your PHP applications.

Ansible Roles:

Get a set of Ansible roles 💪🏻 to get you started creating a load balanced environment and a deploy-server to get you up and deploying quickly! A video and full writeup on its usage is also included.

Info & Extra Videos!

Sign up to get a small email course where you'll see:

  • • A preview of a fully-automated server setup and deployment
  • • A video on web apps, permissions, & decisions made in this course

Who am I?

@fideloper

I'm Chris Fidao. I wrote the Servers for Hackers eBook, and publish related videos at the Servers for Hackers video site.

I also curate the Servers for Hackers newsletter, which is read by over 12,000 programmers who want to learn about servers.

I'm an experienced programmer with a foot firmly in the world of DevOps.

FAQ

Who is this for?

This video course is for those who don't yet have a solid deployment process for their PHP applications. If you have questions about SSH keys, automating tasks, listening for GitHub web hooks, how to determine when to deploy, and server setup, this is for you!

Why PHP?

The deployment process for most languages is basically the same when following similar strategies. However, there are enough "gotchas" per language to make generalizing overly challenging. The quality and usefulness of this course would suffer tremendously.

Still, you'll likely find this course useful even for your NodeJS, Python or Ruby applications. However you'd have to go elsewhere to find specifics & gotchas about each language's package managers & environment setup.

Returns?

In return for your feedback on why the course wasn't for you, I'll be honoring full refunds! Think of it as a money-back guarantee!