Генератор форм

Для веб-мастера

Реклама

Автоматическое создание поддоменов в Cpanel и ISPManager из PHP скрипта

Рейтинг:
Дата: 18 мая 2012 Просмотры 15224 Комментарии 4

При разработке очередного проекта возникла необходимость в автоматическом создании поддоменов в Cpanel и ISPManager из PHP скрипта. Как оказалось, это решается довольно таки просто. Итак, от слов к делу.

Функция для автоматического создания поддоменов в Cpanel

function subdcpanel($domain, $sub, $login, $pass){

    $request = "http://".$domain.":2082/frontend/x3/subdomain/doadddomain.html?rootdomain=".$domain."&domain=".$sub;

    $ch = curl_init (); // инициализация
    curl_setopt($ch, CURLOPT_URL , $request); // адрес страницы
    curl_setopt($ch, CURLOPT_REFERER, $request);
    curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"); // каким браузером будем прикидываться
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookies.txt'); //куда будем сохранять куки
    curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookies.txt');
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);   //TIMEOUT
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  //Переходим по редиректам
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);  //Метод авторизации
    curl_setopt($ch, CURLOPT_USERPWD, $login.':'.$pass);  //Параметры авторизации
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); // нам нужно вывести загруженную страницу в переменную
    $content = curl_exec($ch); // скачиваем страницу
    $http_code  = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch); // закрываем соединение

    return $http_code==200;
}

Данная функция авторизуется в Cpanel, использую логин и пароль, после чего отправляет запрос на добавление нового поддомена. Использовать эту функцию можно так:

if(subdcpanel('maindomain.com', 'subdomain', 'login', 'pass')){
    echo 'Поддомен успешно создан';
}
else{
    echo 'Произошла ошибка';
}

Как видите все очень просто!

Функция для автоматического создания поддоменов в ISPManager

В ISPManager все намного проще, т.к. при создании www домена можно выбрать опцию «Авто поддомены» и для создания домена, достаточно будет создать поддиректорию внутри www домена. Ниже приведена функция для создания www доменов.

function subdisp($domain, $sub, $login, $pass){

    $domain_name = (!empty($sub)? $sub.".": "").$domain;

    $request="https://".$domain."/manager/ispmgr?authinfo=".$login.":".$pass."&out=text&func=wwwdomain.edit&sok=yes&domain=".$domain_name."&alias=www.".$domain_name."&docroot=www/".$domain_name."&owner=".$domain_name."&ip=&admin=webmaster@".$domain."&charset=utf-8&index=index.php&php=&autosubdomain=asdnone";

    $ch = curl_init (); // инициализация
    curl_setopt ($ch , CURLOPT_URL , $request); // адрес страницы для скачивания
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);   //TIMEOUT
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  //Переходим по редиректам
    curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 ); // нам нужно вывести загруженную страницу в переменную
    $result = curl_exec($ch); // скачиваем страницу
    curl_close($ch); // закрываем соединение

    $result = strtolower(trim($result));
    return $result == 'ok';
}

Надеюсь кому-то пригодятся эти функции. Удачи!

Оцените эту статью:



Интересно почитать

    Получать новые материалы этого сайта на свой email адрес?

    Отправлять мне комментарии по эл. почте?

Простая CRM

Нашли ошибку в тексте

Система Orphus
https://biznesguide.ru/coding/180.html
3,51 из 5 на основе 16 оценок.