Skip to content

Latest commit

 

History

History
91 lines (76 loc) · 3.45 KB

README.md

File metadata and controls

91 lines (76 loc) · 3.45 KB

serverpilot-php

Latest Stable Version Total Downloads License

This simple PHP API client binds to ServerPilot's RESTful API that allows you to manage ServerPilot resources. All responses return JSON objects, including errors.

Installation

You can install the bindings via Composer. Add this to your composer.json:

	{
		"require": {
			"daverogers/serverpilot-php": "1.*"
		}
	}

...and then install

	composer.phar install

Or you can include manually:

	include_once('/path/to/this/lib/ServerPilot.php');

Usage

With your API key and id from ServerPilot, set up the config values and pass them to the ServerPilot class. You may alternatively include a 'decode' => false config value if you just want the raw JSON-encoded value returned.

	$config = array(
		'id' => 'cid_YOURID',
		'key' => 'YOURKEY');
	$sp = new ServerPilot($config);

From there, you can call any number of functions to manage your ServerPilot servers, apps, system users, databases, etc.

###Get lists:

$servers    = $sp->server_list();
$users      = $sp->sysuser_list();
$apps       = $sp->app_list();
$databases  = $sp->database_list();

###Get info on a particular resource:

$server     = $sp->server_info('SERVERID');
$user       = $sp->sysuser_info('SYSUSERID');
$app        = $sp->app_info('APPID');
$database   = $sp->database_info('DBID');
$action     = $sp->action_info('ACTIONID');

###Create a resource:

$server     = $sp->server_create('SERVERNAME');
$user       = $sp->sysuser_create('SERVERID', 'SYSUSERNAME', 'PASSWORD');
$app        = $sp->app_create('APPNAME', 'SYSUSERID', 'RUNTIME', ['DOMAINS']) );
$database   = $sp->database_create('APPID', 'DBNAME', 'DBUSER', 'DBPASSWORD');

###Update a resource:

$server     = $sp->server_update('SERVERID', (bool)FIREWALL, (bool)SYSUPDATE);
$user       = $sp->sysuser_update('SYSUSERID', 'PASSWORD');
$app        = $sp->app_update('APPID', 'RUNTIME', ['DOMAINS']);
$database   = $sp->database_update('DBID', 'DBUSERID', 'PASSWORD');

###Delete a resource:

$server     = $sp->server_delete('SERVERID');
$user       = $sp->sysuser_delete('SYSUSERID');
$app        = $sp->app_delete('APPID');
$database   = $sp->database_delete('DBID');

###SSL functions (requires paid plan):

$ssl = $sp->ssl_add('APPID', 'PRIVATEKEY', 'CERTIFICATE', 'CACERTS');
$ssl = $sp->ssl_delete('APPID');

##Notes

ServerPilot site: https://serverpilot.io/
ServerPilot's API doc: https://github.com/ServerPilot/API
This project's Packagist link: https://packagist.org/packages/daverogers/serverpilot-php
Getting started with Composer: https://getcomposer.org/doc/00-intro.md
If this isn't your style, check out James West's PHP lib here: https://github.com/jameswestnz/ServerPilot-API-PHP-Wrapper