Запустить создание ISPConfig папок vhost - PullRequest
0 голосов
/ 01 ноября 2011

Я создаю сценарий, который заполняет все таблицы ISPConfig сам по себе, и теперь мне нужно всего лишь вызвать некоторый сценарий для создания необходимого виртуального хоста и остальную часть символьной ссылки, необходимой для работы apache.

Мой сценарийработает как чудо, так как я могу правильно просматривать все данные с помощью интерфейса ISPConfig.

Копаясь в панель ISPConfig, я вижу, что функция RaiseEvent срабатывает каждый раз, когда создается запись, но я не могу проследить, где она заканчивается и какон выполняет создание symblink.

Возможно, вызывая какую-то функцию или cron, чтобы он мог работать.

Я использую Apache 2 + PHP 5.3 + MySQL + ISPConfig 3 на Ubuntu Server 10.4

1 Ответ

1 голос
/ 02 ноября 2011

Хорошо, я отвечаю сам.

Начиная с версии 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 «удаленного пользователя», который позволит установить соединение с помощью веб-службы.

$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));

Итак, что дальше?

Далее мы вызываем функцию веб-сервера следующим образом:

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

...