Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

DigitalOcean Community Blog:
How To Deploy a Basic PHP Application using Ansible, Part2
Jun 26, 2015 @ 09:53:33

Digital Ocean has continued their series about deploying "advanced PHP applications" on an Ubuntu instance via Ansible in part two of the series. If you missed the first part of the series, you can check it out here.

This tutorial is the second in a series about deploying PHP applications using Ansible on Ubuntu 14.04. The first tutorial covers the basic steps for deploying an application, and is a starting point for the steps outlined in this tutorial.

In this tutorial we will cover setting up SSH keys to support code deployment/publishing tools, configuring the system firewall, provisioning and configuring the database (including the password!), and setting up task schedulers (crons) and queue daemons. The goal at the end of this tutorial is for you to have a fully working PHP application server with the aforementioned advanced configuration.

You'll need to finish the first tutorial if you want to follow along here. They pick up where they left off to finish the whole process, starting with a switch to a more advanced example repository. They modify the Ansible configuration and run the playbook to update the host. From there they break things down into several more steps:

  • Setting up SSH Keys for Deployment
  • Configuring the Firewall
  • Installing the MySQL Packages
  • Setting up the MySQL Database
  • Configuring the PHP Application for the Database
  • Migrating the Database
  • Configuring cron Tasks
  • Configuring the Queue Daemon

While a good bit of these steps relate to something Laravel needs (what they use for the sample application), it's still a good overview of the wide range of things you can do with Ansible during deployment.

tagged: deploy ansible digitalocean setup tutorial configure laravel framework part2

Link: https://www.digitalocean.com/community/tutorials/how-to-deploy-an-advanced-php-application-using-ansible-on-ubuntu-14-04

SitePoint PHP Blog:
Deploying PHP apps to DigitalOcean with Dploy.io
Jun 22, 2015 @ 12:35:23

On the SitePoint PHP blog today editor Bruno Skvorc shows you how to deploy your PHP applications with Dploy.io, a service that aims to make deploying and hosting your applications simpler.

In this tutorial, we’ll take a look at how to deploy a PHP application with Dploy, a tool that’s free (and full-featured) for a single application, which makes for a perfect test case on whether or not it’s worth paying for. Before continuing, go ahead and sign up for a free account. Specifically, we’ll deploy a simple app I made on DigitalOcean.

He helps you get a Digital Ocean droplet set up with the necessary requirements, the software you'll need to install and the configuration changes to make. He then moves over to Dploy and shows how to set up a basic configuration through their web control panel. This includes the environment, deployment mode and the branch of the repository to pull from. He also includes instructions for setting the correct permissions on the system and how to start the deployment. He shows screenshots of the resulting status update and how to check to be sure everything's working as expected. He ends the post with a quick look at making deployments following this via the special "[deploy]" tag in the commit message.

tagged: deploy application tutorial dployio service digitalocean

Link: http://www.sitepoint.com/deploying-php-apps-digitalocean-dploy-io/

Deploy PHP Apps Easily with Laravel Forge
Jun 18, 2015 @ 08:27:04

The Scotch.io site has a new post that wants to help make your Laravel deployments on Forge a simple thing. Forge is a "frontend" to make deployment on the hosting platform of your choice simpler with features for configuring the server, application deployment and automation (like push to deploy).

Forge is an incredible tool in the family of Laravel products that helps developers focus on developing, not deploying and hosting. I personally use it when deploying Laravel applications and it does make life much easier. Many of the pain points of hosting are taken care of for you so you can get right back to developing. [...] We’ll be diving into how we can deploy a Laravel application to Forge using Digital Ocean and GitHub.

He starts with a brief introduction to how Forge works and cooperates with the Digital Ocean stack to create the server and deploy the application. He answers a few questions about "why should you use Forge" and then gets into the actual setup of the server. He walks you through:

  • Linking the project to a GitHub or BitBucket repository
  • Adding SSH keys to connect to use for connecting to the server
  • Creating a server

He also goes through some of the server management features Forge offers in its dashboard including monitoring services, server tools and basic site management controls. Once everything is set up, he shows how to deploy from the GitHub repository and how to use third-party integrations (like Slack or HipChat) and the use of environment variables.

tagged: tutorial deploy application laravel forge github digitalocean

Link: https://scotch.io/tutorials/deploy-php-apps-easily-with-laravel-forge

Using the Digital Ocean API to Manage Cloud Instances
Jun 05, 2015 @ 11:14:10

In a new tutorial on the NetTuts.com site they show you how to use a Digital Ocean PHP SDK to manage your cloud instances from a PHP-based application.

The Digital Ocean API allows you to manage Droplets and resources in a simple, programmatic way using HTTP requests. All of the functionality that you are familiar with in the Digital Ocean control panel is also available through the API, allowing you to script the complex actions that your situation requires. For this tutorial, we'll integrate developer Antoine Corcy's Digital Ocean V2 PHP API Library into a Yii-based console application.

They walk you through the full process of the setup - getting your access keys, getting the PHP SDK and setting up a component as an interface for the rest of the Yii2 application to use. From there, he shows three examples of the types of commands to can issue:

  • Fetching Droplets
  • Fetching Images
  • Automating Snapshots

Each example comes with the code to implement it and screenshots of both how the same functionality looks in the Digital Ocean control panel and the output of their script.

tagged: digitalocean manage cloud instance sdk tutorial yii2

Link: http://code.tutsplus.com/tutorials/using-the-digital-ocean-api-to-manage-cloud-instances--cms-22864

DigitalOcean Community Blog:
How To Deploy a Basic PHP Application using Ansible on Ubuntu 14.04
May 13, 2015 @ 10:15:16

If you've ever been interested in learning Ansible and how to use it in deploying your PHP applications, you should check out this new tutorial from Stephen Rees-Carter on the DigitalOcean blog. He walks you through the full process for getting the server and application set up and configured just the way you need it (on a Ubuntu server).

This tutorial covers the process of provisioning a basic PHP application using Ansible. The goal at the end of this tutorial is to have your new web server serving a basic PHP application without a single SSH connection or manual command run on the target Droplet. We will be using the Laravel framework as an example PHP application, but these instructions can be easily modified to support other frameworks and applications if you already have your own.

He starts with a list of the things you'll already need installed and things to know including a basic understanding of Ansible and two servers (they use their own Droplets in the examples). From there, they walk you through a seven step process to get the automated deployment up and running:

  • Installing Ansible
  • Installing Required Packages
  • Modifying System Configuration Files
  • Cloning the Git Repository
  • Creating an Application with Composer
  • Updating Environment Variables
  • Configuring Nginx

Some of the steps here are Laravel-specific as mentioned but if you're familiar with the setup of your own application, it's pretty easy to adapt. Each step includes the configuration changes and commands you'll need to complete it.

tagged: deploy ansible digitalocean setup tutorial configure laravel framework

Link: https://www.digitalocean.com/community/tutorials/how-to-deploy-a-basic-php-application-using-ansible-on-ubuntu-14-04

Alex Bilbie:
Setup Jenkins and test a PHP project
Apr 20, 2015 @ 10:14:32

Alex Bilbie has posted a new tutorial to his site showing you how to set up Jenkins to test a PHP project. Jenkins is a popular automated build tool that can be used to do helpful things like automatically run unit tests and execute other tasks when code changes happen (or on an automated schedule).

After a chat with some other developers on Twitter the other day I offered to write a tutorial on how to setup Jenkins from scratch and create a job to test a PHP project. For this tutorial I'm going to use a Digital Ocean droplet (get $10 free credit with this link) but you can use a server from anywhere. Once I've installed and setup Jenkins I'm going to create a job to test my Proton framework.

He walks you through the setup of the server (Ubuntu running on a Digital Ocean instance) and the commands you'll need to get the required tools installed, including Jenkins. He configures Nginx to work as a proxy for the Jenkins installation (config included) and how to secure the installation. This is done via a GitHub OAuth connection and plugin. He helps you get Composer installed, an SSH in place for committing back to GitHub and creating a first job. He also includes a listing of several helpful tools that can be used to test your scripts and applications to provide more detail and better quality to the resulting code.

tagged: jenkins test setup project tutorial digitalocean ubuntu

Link: http://alexbilbie.com/2015/04/setting-up-jenkins/

David Adams:
PuPHPet and Digital Ocean (Screencast)
Sep 26, 2013 @ 10:39:30

Over on YouTube David Adams has posted a video showing you how to use PuPHPet with Digital Ocean. PuPHPet is a easy to use, graphical tool to help make building Vagrantfiles quick and easy. Digital Ocean bills itself as a cloud service "built for developers" that lets you spin up cloud servers quickly.

The video's about 30 minutes long, but it walks you through the entire process. It's a screencast you can easily follow along with. Unfortunately some of the text is a bit small (and hard to read full-screen) but he talks you through the commands too, which helps.

You can find out more about Digital Ocean's "droplets" here.

tagged: screencast video digitalocean puphpet vagrant setup configuration

Link: https://www.youtube.com/watch?v=dHkTxWffGGA