触发ISPConfig vhost文件夹创建

时间:2011-10-31 20:02:08

标签: php mysql scripting apache2 bind

我创建了一个自己填充所有ISPConfig表的脚本,现在我只需要编写一些脚本来创建所需的vhost以及apache工作所需的其余symblink。

我的脚本工作就像一个魅力,因为我可以使用ISPConfig前端正确查看所有数据。

进入ISPConfig面板,我看到每次创建记录时都会触发RaiseEvent函数,但我无法追踪它结束的位置以及它如何执行symblink的创建。

也许可以调用某个函数或cron它可以工作。

我在Ubuntu Server 10.4上使用Apache 2 + PHP 5.3 + MySQL + ISPConfig 3

1 个答案:

答案 0 :(得分:1)

好的我回应了自己。

由于版本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