PHP Script cPanel автоматично добавяне на субдомейн API

C++ JAVA
Post Reply
User avatar
Ticketa
Турист
Турист
Posts: 521
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

PHP Script cPanel автоматично добавяне на субдомейн API

Post by Ticketa » Sat May 09, 2020 2:56 pm

Привет
Дали има как да се направи АПИ което да ми създава субдомейн за cpanel ?

Целта ми е да не ползвам root акаунт , а АПИ което е ограничено и да ползва само и единствено достъп за добавяне / изтриване на субдомейн

User avatar
muti
Турист
Турист
Posts: 272
Joined: Thu Nov 14, 2019 7:03 am
Answers: 2

Re: PHP Script cPanel автоматично добавяне на субдомейн API

Post by muti » Sun May 10, 2020 3:15 pm

cPanel си имат API. Тоест API-то им в новите версии е заменено с UAPI но може да се ползва.

User avatar
Ticketa
Турист
Турист
Posts: 521
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Re: PHP Script cPanel автоматично добавяне на субдомейн API

Post by Ticketa » Tue May 12, 2020 8:09 am

Реших да опитам чрез htacess

Обаче всеки субдомейн , който отварям ми дава грешка

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.


Субдомейните се отварят(съхраняват) от папка:
/home/user/web/www/USERNAME

/home/user/.htaccess

Code: Select all

DirectoryIndex index.php
Options +FollowSymLinks
Options -Indexes
Options -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule (.*) https://%1/$1 [R=301,L]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{REQUEST_URI} !=/server-status
RewriteCond %{REQUEST_URI} !=/server-info
RewriteRule ^.*$ index.php [L,QSA]

В папката /web/index.php
Имам пренасочване към субдомейн

Code: Select all

if ( SITE_URL != reset_url($_SERVER['HTTP_HOST']) ) {
		header( "Location: https://" . SITE_URL . $_SERVER['REQUEST_URI'], true, 301 );
		exit;
	}
	
	// прехвърляне сайта
	if ( ! empty($_SERVER['REQUEST_URI']) && ($redirect = json_get("seo.redirect")) ) {
		$request_uri = urldecode( trim($_SERVER['REQUEST_URI'], '/') );
		foreach ( $redirect as $key => $val ) {
			if ( $val[0] == $request_uri ) {
				header( "Location: /" . $val[1], true, 301 );
				exit;
			}
		}
		unset( $redirect, $request_uri );
	}
	
	// основни модули
	require WEB_DIR . '/engine/engine.php';
	
Всеки субдомейн си има и . htaccess
/Home/user/web/www/user/.htacess

Code: Select all

Options +FollowSymLinks
Options -Indexes
Options -MultiViews

RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule (.*) http://%1/$1 [R=301,L]

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ index.php [L,QSA]
index.php

Code: Select all

<?php

define ( 'ROOT_DIR', '../../..' );
define ( 'SITE_DIR', __DIR__ );

include_once ROOT_DIR . '/web/index.php';

?>
Всичко това си работеше коректно докато не направих главния домейн да е добавен чрез Add-on към друг cpanel потребител (ограничих cpanel users поради лимитите които наложиха)

Сега към момента домейна майка site.com работи, но неговите дъщерни НЕ demo.site.com, bla.site.com

User avatar
Ticketa
Турист
Турист
Posts: 521
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Re: PHP Script cPanel автоматично добавяне на субдомейн API

Post by Ticketa » Tue May 12, 2020 9:49 am

Интересно , че когато добавя wilcard



*.site.com - субдомейните не работят

Но ако добавя директно някой от субдомейните

demo.site.com - конкретния домейн работи

User avatar
Ticketa
Турист
Турист
Posts: 521
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Re: PHP Script cPanel автоматично добавяне на субдомейн API

Post by Ticketa » Tue May 12, 2020 5:19 pm

Грешката, която е записана в error_log файла е следната:
AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

uphero
Потребител
Потребител
Posts: 759
Joined: Mon Feb 20, 2012 12:26 pm
Answers: 32
Location: Казанлък
Contact:

Re: PHP Script cPanel автоматично добавяне на субдомейн API

Post by uphero » Wed May 13, 2020 5:09 am

Каква е крайната цел?

User avatar
Ticketa
Турист
Турист
Posts: 521
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Re: PHP Script cPanel автоматично добавяне на субдомейн API

Post by Ticketa » Wed May 13, 2020 6:41 am

Създадох чрез API2 добавяне на субдомейни и реших нещата.

Въпроса е че АПИ се логва чрез парола и потребител - това ме притеснява

Как мога да го направя да работи чрез ТОКЕН с ограничени права?

https://github.com/CpanelInc/xmlapi-php - ползвам това

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 891
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 63

Re: PHP Script cPanel автоматично добавяне на субдомейн API

Post by Revelation » Wed May 13, 2020 5:37 pm

Ticketa wrote:
Wed May 13, 2020 6:41 am
Създадох чрез API2 добавяне на субдомейни и реших нещата.

Въпроса е че АПИ се логва чрез парола и потребител - това ме притеснява

Как мога да го направя да работи чрез ТОКЕН с ограничени права?

https://github.com/CpanelInc/xmlapi-php - ползвам това
https://docs.cpanel.net/cpanel/security ... in-cpanel/

И ако е само за създаване на поддомейни, можеш да си ползваш директно техните библиотеки.

https://documentation.cpanel.net/displa ... +PHP+Class
https://documentation.cpanel.net/displa ... dsubdomain

Code: Select all

$cpanel = new CPANEL(); // Connect to cPanel - only do this once.
  
// Create a subdomain.
$addsubdomain = $cpanel->api2(
    'SubDomain', 'addsubdomain',
        array(
        'domain'                => 'subdomain',
        'rootdomain'            => 'example.com',
        'dir'                   => '/public_html/directory_name',
        'disallowdot'           => '1',
    )
);

Post Reply