Panduan administrator Spanel 1.3/API

Fungsionalitas inti Spanel ditaruh dalam modul dan fungsi Perl yang membentuk API (Application Programmer Interface) Spanel.

API ini dapat diakses lewat program Perl, lewat command-line, lewat soket Unix, maupun secara remote lewat Web.

 

Cara mengakses API

lewat program Perl

Contoh skrip pendek:

#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use lib "/c/lib/perl/cpan";
use lib "/c/lib/perl";

use Spanel::API::DiskFree;
my $res = Spanel::API::DiskFree::get();
die "Gagal" unless $res->[0] == 200;
my $info = $res->[2];
for (keys %$info) { print "Partisi $_, free=$info->{free} blocks\n" }

lewat shell/command-line (sebagai root)

Melihat daftar modul yang ada

# spanel api --list

Melihat fungsi API yang ada di sebuah modul

# spanel api <NAMA_MODUL> --list

Contoh:

# spanel api DiskFree --list

Melihat cara penggunaan sebuah fungsi API

# spanel api <NAMA_MODUL> <NAMA_FUNGSI> --help

Contoh:

# spanel api File list_volumes --help

Memanggil sebuah fungsi API

# spanel api <NAMA_MODUL> <NAMA_FUNGSI> [--ARGUMEN1 ... --ARGUMEN2 ... ...]

Hasil akan ditampilkan dalam bentuk tabel teks atau YAML. Exit code adalah 0 jika fungsi berhasil, atau >0 jika terjadi kesalahan.

Contoh:

# spanel api File list_volumes --account budi

Lebih detil, silakan gunakan: spanel api –help

lewat Unix socket

Cara ini dipakai oleh antarmuka web Spanel dan program command-line “spanel” saat ini.

Saat ini admin dianjurkan untuk menggunakan antarmuka program command-line “spanel” ketimbang mengakses langsung Unix socket. Sementara programer dianjurkan menggunakan antarmuka Web atau librari Perl langsung.

lewat Web/HTTP

Dengan cara ini, API Spanel dapat diakses secara remote.

Saat ini tersedia 2 cara:

http://HOSTNAME_SPANEL/api0.cgi

Cara ini saat ini dipakai untuk konektor ke WHMCS. Membutuhkan username/password user Unix admin/support-staff. Dokumentasi lengkap belum ada, dan cara ini akan di kemudian hari kemungkinan akan diganti.

https://HOSTNAME_SPANEL:1010/

Cara ini mengakses spanel-jobd, saat ini dipakai untuk transfer zona DNS antarserver Spanel. Membutuhkan sertifikat SSL. Dokumentasi lengkap belum ada dan cara ini di kemudian hari kemungkinan akan diganti.

cara ketiga

Pengganti kedua cara di atas sedang dikembangkan.

Resita has written 705 articles