Tutorials
Direct admin API
Direct admin is een cotrol pannel voor Linux. En api staat voor application program interface. Dus in dit geval een aplicatie programa interface voor Directadmin. Via dit systeem kan je eenvoudig en automatisch email accounts, webhosting accounts en
Pagina 1
Wat is de Direct Admin API
Direct admin api bestaat uit een PHP bestand die kan includen in je eigen bestanden via deze tutorial ga een paar functies uit leggen die kan gebruiken voor de Directadmin api.
Welke kennis dien je minimaal te hebben?
Zolang je weet hoe Directadmin in elkaar zit kom je al een heel eind.
Welke kennis dien je minimaal te hebben?
Zolang je weet hoe Directadmin in elkaar zit kom je al een heel eind.
Pagina 2
Emails accounts toevoegen
Om een email account aan te maken moeten we eerst inloggen (Zie vorige hoofdstuk)
We maken een formulier waar we de gegevens kunnen invoeren:
En maken we gebruik van de volgende "query" om de gevens toe te voegen:
<?php
include('../da_api');
//het is een class dus we defineren het ook als een class
$sock = new HTTPSocket;
//maak verbinding met de server
$sock->connect('mijndomein',2222);
//we moeten ook vertellen wie we zijn en dat we willen inloggen.
$sock->set_login('mijndomein','mijn 1337 ww');
if(!empty($_POST['user']) && !empty($_POST['passwd']) is_numeric($_POST['quota'])){
$sock->query('/CMD_API_POP','domain=mijndomein"a='.$_POST['quota'].'&action=create&user='.$_POST['user'].'&passwd='.$_POST['passwd'].'');
echo $sock->result;
if(eregi('error=0', $sock->result)){
echo '<p>Email adress is aan gemaakt<br />
username: '.$_POST['user'].'@mijndomein.nl<br />
password: '.$_POST['passwd'].'<br />
Quota: '.$_POST['quota'].'<br />
POP3 server: mail.mijndoemin.nl<br />
SMTP server: mail.mijndomein.nl*</p>';
}
}
?>
Is afhankelijk van de provider.
Eigelijk is het voor de rest echt kinder spel en stelt het niets voor. Simpel wat formulieren werk en het werkt simpel en doel treffend.
Ik kan wel meer voorbeelden geven, maar de werken is ongeveer steeds het zelfde en opzich is het simpel en zeer duidelijk. Het verwijderen en updaten werking is exact het zelfde.
We maken een formulier waar we de gegevens kunnen invoeren:
<p>Voeg een email account toe:</p>
<form action="add_account.php" method="post">
<p>Email:<br />
<input type="text" name="user" value=""/>@mijndomein.nl<br />
Wachtwoord:<br />
<input type="password" name="passwd" value=""/><br />
Quota:<br />
<input type="text" name="quota" value=""/><br />
<input type="submit" value="Account aanmaken"/></p></form>
En maken we gebruik van de volgende "query" om de gevens toe te voegen:
<?php
include('../da_api');
//het is een class dus we defineren het ook als een class
$sock = new HTTPSocket;
//maak verbinding met de server
$sock->connect('mijndomein',2222);
//we moeten ook vertellen wie we zijn en dat we willen inloggen.
$sock->set_login('mijndomein','mijn 1337 ww');
if(!empty($_POST['user']) && !empty($_POST['passwd']) is_numeric($_POST['quota'])){
$sock->query('/CMD_API_POP','domain=mijndomein"a='.$_POST['quota'].'&action=create&user='.$_POST['user'].'&passwd='.$_POST['passwd'].'');
echo $sock->result;
if(eregi('error=0', $sock->result)){
echo '<p>Email adress is aan gemaakt<br />
username: '.$_POST['user'].'@mijndomein.nl<br />
password: '.$_POST['passwd'].'<br />
Quota: '.$_POST['quota'].'<br />
POP3 server: mail.mijndoemin.nl<br />
SMTP server: mail.mijndomein.nl*</p>';
}
}
?>
Is afhankelijk van de provider.
Eigelijk is het voor de rest echt kinder spel en stelt het niets voor. Simpel wat formulieren werk en het werkt simpel en doel treffend.
Ik kan wel meer voorbeelden geven, maar de werken is ongeveer steeds het zelfde en opzich is het simpel en zeer duidelijk. Het verwijderen en updaten werking is exact het zelfde.
Pagina 3
Wat heb je nodig:
- [li]Direct admin control panel[/li]
[li]De Direct Admin API is te downloaden op http://www.l0rdphi1.com/tools/httpsocket/httpsocket.phps We slaan dit bestand op als da_api.php[/li]
Let op: Uit veiligheidsoverwegingen kan ik geen voorbeelden plaatsen. Dit om spam en alle ellende te voorkomen.
Pagina 4
Lijst van emails
Alleen het opvragen van een lijst met bijvoorbeeld emails is iets anders.
<?php
include('../da_api');
//het is een class dus we defineren het ook als een class
$sock = new HTTPSocket;
//maak verbinding met de server
$sock->connect('mijndomein',2222);
//we moeten ook vertellen wie we zijn en dat we willen inloggen.
$sock->set_login('mijndomein','mijn 1337 ww');
$sock->query('/CMD_API_POP','action=list&domain=mijndomein.nl');
$row = $sock->fetch_parsed_body();
if(empty($row['list'])){
echo 'Er zijn geen email accounts aan gemaakt';
}else{
echo '<table><tr><th>Email adress</th></tr>';
for($i = 0;!empty($row['list'][$i]);$i++){
echo '<tr><td>'.$row['list'][$i].'</td></tr>';
}
echo '</table>';
}
?>
Voor de rest lijkt het me wel duidelijk en is het zeker niet lastig.
<?php
include('../da_api');
//het is een class dus we defineren het ook als een class
$sock = new HTTPSocket;
//maak verbinding met de server
$sock->connect('mijndomein',2222);
//we moeten ook vertellen wie we zijn en dat we willen inloggen.
$sock->set_login('mijndomein','mijn 1337 ww');
$sock->query('/CMD_API_POP','action=list&domain=mijndomein.nl');
$row = $sock->fetch_parsed_body();
if(empty($row['list'])){
echo 'Er zijn geen email accounts aan gemaakt';
}else{
echo '<table><tr><th>Email adress</th></tr>';
for($i = 0;!empty($row['list'][$i]);$i++){
echo '<tr><td>'.$row['list'][$i].'</td></tr>';
}
echo '</table>';
}
?>
Voor de rest lijkt het me wel duidelijk en is het zeker niet lastig.
Pagina 5
Verbinding maken met Direct admin
We moeten als eerste het PHP bestand includen. Voor de veiligheid zetten we het bestand 1 maap hoger en dus buiten de WWW dir.
<?php
include('../da_api');
?>
Nu moeten we nog een verbinding zien te maken. Opzich is dat niet lastig dat doen we als volgt.
<?php
include('../da_api');
//het is een class dus we defineren het ook als een class
$sock = new HTTPSocket;
//maak verbinding met de server
$sock->connect('user',2222);
//we moeten ook vertellen wie we zijn en dat we willen inloggen.
$sock->set_login('user','mijn 1337 ww');
?>
We hebben nu verbinding en kunnen doen wat we willen. Dit in de volgende hoofdstukken…
<?php
include('../da_api');
?>
Nu moeten we nog een verbinding zien te maken. Opzich is dat niet lastig dat doen we als volgt.
<?php
include('../da_api');
//het is een class dus we defineren het ook als een class
$sock = new HTTPSocket;
//maak verbinding met de server
$sock->connect('user',2222);
//we moeten ook vertellen wie we zijn en dat we willen inloggen.
$sock->set_login('user','mijn 1337 ww');
?>
We hebben nu verbinding en kunnen doen wat we willen. Dit in de volgende hoofdstukken…
Pagina 6
Handige links
Even wat handige links:
Wat is Direct admin: http://www.directadmin.com
Beschrijving van de API en functies: http://www.directadmin.com/api.html
Nog meer opties voor Directadmin die niet zijn beschreven in Beschrijving van de API: http://www.directadmin.com/search_versions.php?query=CMD_API
PHP class: http://www.l0rdphi1.com/tools/httpsocket/httpsocket.phps
Veel andere control panels hebben ongeveer de zelfde systeem alleen vaak de werking is anders. Helaas heb ik daarmee geen ervaring.
Wat is Direct admin: http://www.directadmin.com
Beschrijving van de API en functies: http://www.directadmin.com/api.html
Nog meer opties voor Directadmin die niet zijn beschreven in Beschrijving van de API: http://www.directadmin.com/search_versions.php?query=CMD_API
PHP class: http://www.l0rdphi1.com/tools/httpsocket/httpsocket.phps
Veel andere control panels hebben ongeveer de zelfde systeem alleen vaak de werking is anders. Helaas heb ik daarmee geen ervaring.
Reacties
0