Plesk динамически создает поддомены и базы данных

Я пытаюсь создать поддомены и базы данных с помощью PHP в Plesk. Я смотрю их документацию по API, но не могу понять, как сделать и то, и другое, поэтому, если бы вы могли мне помочь, было бы здорово!


person user1524462    schedule 15.07.2012    source источник
comment
Что это за проблема? Вы должны создать домен, затем создать поддомен и, наконец, создать базу данных.   -  person rdo    schedule 16.07.2012


Ответы (2)


Чуть позже. Чтобы создать поддомен:

/usr/local/psa/bin/subdomain -c %subdomain% -www-root %subdomain% -php true -ssi true -d %domain%

Базу данных я обычно создаю непосредственно в MySQL с помощью CREATE DATABASE.

person jhernandis    schedule 15.03.2013

Нет возможности создать базу данных для поддомена, только для домена / подписки. Вот запрос API:

<packet version="1.6.3.0">
<database>
<add-db>
   <webspace-id>2</webspace-id>
   <name>MyBase</name>
   <type>mysql</type>
</add-db>
</database>
</packet>

где webspace-id - это id домена (не поддомена) вашего поддомена.

Если вы попытаетесь создать базу данных на поддомене, вы получите следующий ответ:

<?xml version="1.0" encoding="UTF-8"?>
<packet version="1.6.3.0">
  <database>
    <add-db>
      <result>
        <status>error</status>
        <errcode>1023</errcode>
        <errtext>This object can be created **only in a webspace**.</errtext>
      </result>
    </add-db>
  </database>
</packet>

Итак, в первую очередь вам нужно получить информацию о родительском домене поддомена:

<packet version="1.5.2.0">
<subdomain>
<get>
   <filter>
      <name>sub.domain.com</name>
   </filter>
</get>
</subdomain>
</packet>

Затем получите идентификатор родителя:

<packet version="1.6.3.0">
<webspace>
<get>
   <filter>
      <name>domain.com</name>
   </filter>
   <dataset>
      <gen_info/>
   </dataset>
</get>
</webspace>
</packet>

Затем создайте базу данных по родительскому объекту, используя полученный идентификатор.

person Oleg Neumyvakin    schedule 20.03.2013