10/10/2018, 10:33

Tạo Subdomain với php

<?php

################################################## #############
# cPanel Subdomains Creator 1.1
################################################## #############
# Visit http://www.zubrag.com/scripts/ for updates
################################################## #############
#
# Can be used in 3 ways:
# 1. just open script in browser and fill the form
# 2. pass all info via url and form will not appear
# Sample: cpanel_subdomains.php?cpaneluser=USER&cpanelpass=P ASSWORD&domain=DOMAIN&subdomain=SUBDOMAIN
# 3. list subdomains in file. In this case you must provide all the defaults below
#
# Note: you can omit any parameter, except "subdomain".
# When omitted, default value specified below will be taken
################################################## #############

// cpanel user
define('CPANELUSER','user');

// cpanel password
define('CPANELPASS','pass');

// name of the subdomains list file.
// file format may be 1 column or 2 columns divided with semicilon (
// Example for two columns:
// rootdomain1;subdomain1
// rootdomain1;subdomain2
// Example for one columns:
// subdomain1
// subdomain2
define('INPUT_FILE','domains.txt');

// cPanel skin (mainly "x")
// Check http://www.zubrag.com/articles/deter...panel-skin.php
// to know it for sure
define('CPANEL_SKIN','x');

// Default domain (subdomains will be created for this domain)
// Will be used if not passed via parameter and not set in subdomains file
define('DOMAIN',');


/////////////// END OF INITIAL SETTINGS ////////////////////////
////////////////////////////////////////////////////////////////

function getVar($name, $def = ') {
if (isset($_REQUEST[$name]) && ($_REQUEST[$name] != '))
return $_REQUEST[$name];
else
return $def;
}

$cpaneluser=getVar('cpaneluser', CPANELUSER);
$cpanelpass=getVar('cpanelpass', CPANELPASS);
$cpanel_skin = getVar('cpanelskin', CPANEL_SKIN);

if (isset($_REQUEST["subdomain"])) {
// get parameters passed via URL or form, emulate string from file
$doms = array( getVar('domain', DOMAIN) . ";" . $_REQUEST["subdomain"]);
if (getVar('domain', DOMAIN) == ') die("You must specify domain name");
}
else {
// open file with domains list
$doms = @file(INPUT_FILE);
if (!$doms) {
// file does not exist, show input form
echo "
Cannot find input file with subdomains information. It is ok if you are not creating subdomains from file.<br>
Tip: leave field empty to use default value you have specified in the script's code.<br>
<form method='post'>
Subdomain:<input name='subdomain'><br>
Domain:<input name='domain'><br>
cPanel User:<input name='cpaneluser'><br>
cPanel Password:<input name='cpanelpass'><br>
cPanel Skin:<input name='cpanelskin'><br>
<input type='submit' value='Create Subdomain' style='border:1px solid black'>
</form>";
die();
}
}

// create subdomain
function subd($host,$port,$ownername,$passw,$request) {

$sock = fsockopen('localhost',2082);
if(!$sock) {
print('Socket error');
exit();
}

$authstr = "$ownername:$passw";
$pass = base64_encode($authstr);
$in = "GET $request ";
$in .= "HTTP/1.0 ";
$in .= "Host:$host ";
$in .= "Authorization: Basic $pass ";
$in .= " ";

fputs($sock, $in);
while (!feof($sock)) {
$result .= fgets ($sock,128);
}
fclose( $sock );

return $result;
}

foreach($doms as $dom) {
$lines = explode(';',$dom);
if (count($lines) == 2) {
// domain and subdomain passed
$domain = trim($lines[0]);
$subd = trim($lines[1]);
}
else {
// only subdomain passed
$domain = getVar('domain', DOMAIN);
$subd = trim($lines[0]);
}
// http://&#91;domainhere]:2082/frontend/x/...n.html?domain=[subdomain here]&rootdomain=[domain here]
$request = "/frontend/$cpanel_skin/subdomain/doadddomain.html?rootdomain=$domain&domain=$subd";
$result = subd('localhost',2082,$cpaneluser,$cpanelpass,$req uest);
$show = strip_tags($result);
echo $show;
}

?>


Đây là hàm em tìm trên GG.
Các bác gíp em giải thích với.
Giả sử em có doamin abc.com
nay muốn tự động tạo sub domian: 123.abc.com thì làm thế nào?
khuongCOMPUTER viết 12:44 ngày 10/10/2018
Hàm này chạy cho các host có cPanel, tạo subdomain bằng cách sử dụng cơ chế tạo sub của cPanel.
Như hướng dẫn thì đưa file này lên host, chạy theo cấu trúc:
cpanel_subdomains.php?cpaneluser=USER&cpanelpass=P ASSWORD&domain=DOMAIN&subdomain=SUBDOMAIN
vd user đăng nhập cpanel là admin, pass là 1234, domain chính là abc.com, domain phụ là 123.abc.com thì ta dùng trình duyệt truy cập đến
cpanel_subdomains.php?cpaneluser=admin&cpanelpass= 1234&domain=abc.com&subdomain=123
thuyduongcd viết 12:39 ngày 10/10/2018
- Save cái file này với tên cpanel_subdomains.php
- Up lên host
- Dùng trình duyệt gọi file
http://{CPANEL_URL}/cpanel_subdomains.php?cpaneluser={USER}&cpanelpass ={P ASSWORD}&domain={DOMAIN}&subdomain={SUBDOMAIN}
Trong đó:
{CPANEL_URL}: địa chỉ host control panel
{USER},{PASSWORD}: tài khoản đăng nhập control panel
{DOMAIN}: tên domain muốn tạo sub. Ex: abc.com
{SUBDOMAIN}: tên sub domain muốn tạo. Ex: 123
xcode viết 12:43 ngày 10/10/2018
Cái này là API của cPanel mà.
sonden1 viết 12:38 ngày 10/10/2018
các bác toàn cao thủ. Em copy về mà mãi ko hiểu được
Cảm ơn các bác nhé
______________________
subdmain with php
Bài liên quan
0