我制作了一个脚本,该脚本本身可以填满所有ISPConfig表,现在,我只需要引发一些脚本来创建所需的虚拟主机和apache工作所需的其余符号链接。
由于我可以使用ISPConfig前端正确查看所有数据,因此我的脚本运行得很不错。
深入ISPConfig面板,我看到每次创建记录时都会触发一个RaiseEvent函数,但是我无法跟踪它的结尾以及它如何执行symblink的创建。
也许调用某些函数或cron可以正常工作。
我在Ubuntu Server 10.4上使用Apache 2 + PHP 5.3 + MySQL + ISPConfig 3
最佳答案
好吧,我回应自己。
从版本3开始,ISPConfig附带了一个简单的API,可让您执行一些操作,例如添加FTP用户,网站和数据库。
我在这里留下了如何创建数据库的示例:
$params_db = array(
'server_id' => '1',
'system_user' => "web10",
'system_group' => 'client0',
'active' => 'y',
'type' => 'mysql',
'database_name' => $NAME,
'database_user' => $NAME,
'database_password' => '123456',
'database_charset' => 'utf8',
'remote_access' => 'n',
);
接下来,我们必须在ISPConfig面板上创建一个“远程用户”,以允许使用Web服务进行通信。
$soap_username = 'whatever';
$soap_password = 'h4ck3m3';
$soap_location = 'http://localhost:8080/remote/index.php';
$soap_uri = 'http://localhost:8080/remote/';
$client = new SoapClient(null, array('location' => $soap_location, 'uri' => $soap_uri));
下一个是什么?
接下来,我们像这样调用webserver函数:
try
{
//* Login to the remote server
if( $session_id = $client->login($soap_username,$soap_password))
{
echo 'Logged into remote server sucessfully. The SessionID is '.$session_id. "\n";
$client->sites_database_add($session_id, $client_id, $params_db);
//* Logout
if($client->logout($session_id))
{
echo "DB Created\n";
}
}
}
catch (SoapFault $e)
{
die('SOAP Error: '.$e->getMessage());
}
有关更多信息,请查看howtogeek网站的以下链接:http://www.howtoforge.com/how-to-create-remote-api-scripts-for-ispconfig-3