webreinvent / laravel-cpanel
Laravel Package of CPanel API 2.0
Installs: 8 159
Dependents: 0
Suggesters: 0
Security: 0
Stars: 24
Watchers: 6
Forks: 11
Open Issues: 1
Requires
- php: ^7.4|^8.0
- ext-json: *
- dev-master
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-develop
- dev-release/v1.3.8
- dev-release/v1.3.7
- dev-release/v1.3.6
- dev-release/v1.3.5
- dev-release/v1.3.4
- dev-release/v1.3.3
- dev-release/v1.3.2
- dev-release/v1.3.1
- dev-release/v1.3.0
- dev-hotfix/v1.2.1
- dev-release/v1.2.0
- dev-release/v1.1.0
- dev-hotfix/v1.0.1
- dev-release/1.0.0
This package is auto-updated.
Last update: 2024-11-04 11:08:07 UTC
README
Laravel Package for CPanel UAPI
Please consider starring the project to show your ❤️ and support.
This laravel package allows you to manage you CPanel based hosting using CPanel UAPI.
Some practical usages are:
- Programmatically create database, sub domains, emails or accounts etc
- Programmatically create database users
- Programmatically set privileges on database of any user
Learn more about at CPanel UAPI
Installation
Step 1) Install the Package
Use following composer command to install the package
composer require webreinvent/laravel-cpanel
or
Add webreinvent/laravel-cpanel
as a requirement to composer.json
:
{
...
"require": {
...
"webreinvent/laravel-cpanel": "dev-master"
},
}
Update composer:
$ composer update
Step 2) Register the ServiceProvider
Add following service provider in config/app.php
/* * Package Service Providers... */ 'providers' => [ //... WebReinvent\CPanel\CPanelServiceProvider::class, //... ],
Step 3) Publish Configurations
Run following command:
php artisan vendor:publish --provider="WebReinvent\CPanel\CPanelServiceProvider" --tag=config
Step 4) Set CPanel details in .env
CPANEL_DOMAIN=
CPANEL_PORT=
CPANEL_API_TOKEN=
CPANEL_USERNAME=
or
$cpanel = new CPanel($cpanel_domain=null, $cpanel_api_token=null, $cpanel_username=null, $protocol='https', $port=2083);
To generate CPANEL_API_TOKEN
, login to the CPanel >> SECURITY >> Manage API Tokens >> Create
.
Usages & available methods
Make sure you import:
use WebReinvent\CPanel\CPanel;
To Create Database
Database name should be prefixed with cpanel username cpanelusername_databasename
If your CPanel username is foo
then your database name
| should be foo_website
.
$cpanel = new CPanel(); $response = $cpanel->createDatabase('cpanelusername_databasename');
Find More Details at CPanel UAPI - Mysql::create_database
To Delete Database
$cpanel = new CPanel(); $response = $cpanel->deleteDatabase('cpanelusername_databasename');
CPanel UAPI - Mysql::delete_database
To Get List of All Databases in the CPanel
$cpanel = new CPanel(); $response = $cpanel->listDatabases();
To Create Database User
$cpanel = new CPanel(); $response = $cpanel->createDatabaseUser($username, $password);
To Delete Database User
$cpanel = new CPanel(); $response = $cpanel->deleteDatabaseUser($username);
To Give All Privileges to a Database User On a Database
$cpanel = new CPanel(); $response = $cpanel->setAllPrivilegesOnDatabase($database_user, $database_name);
Those were the available method but you can also call all the method available at CPanel UAPI using following method:
$cpanel = new CPanel(); $response = $cpanel->callUAPI($Module, $function, $parameters_array);
Example if you want to add new ftp
account, documetation is available at CPanel UAPI - Ftp::add_ftp then use the method as represented below:
$cpanel = new CPanel(); $Module = 'Ftp'; $function = 'add_ftp'; $parameters_array = [ 'user'=>'ftp_username', 'pass'=>'ftp_password', //make sure you use strong password 'quota'=>'42', ]; $response = $cpanel->callUAPI($Module, $function, $parameters_array);
Support us
WebReinvent is a web agency based in Delhi, India. You'll find an overview of all our open source projects on github.
License
The MIT License (MIT). Please see License File for more information.