İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Plesk Kontrol Paneli Otomatik Hosting Açma

TurkVista

0
İyinet Üyesi
Katılım
9 Mart 2005
Mesajlar
226
Reaction score
0
Bu gibi basit modüller veya otomasyonların zor olduğunu düşündüğümüzdenmidir bilinmez ama gerek AWBS gerek WHMCS olsun verdiğimiz paraların haddi hesabı yok. cPanel de hosting açma ile ilgili fonksiyonlar oldukça fazla olmasına karşın Plesk windows ve linux versiyonlarında bu tarz fonksiyonları hazır olarak verildiği konusunda bir bilgim yok. swsoft sitesinde bu modüllerin aslında kolayca nasıl yapılacağını anlatmış olsada işin içerisinden çıkamıyor gibiyiz.

Kısaca Plesk windows sunucularda PHP ve cUrl ile hosting işlemini panele girmeden nasıl yapılacağına dair bir fonksiyon hazırladım. Bu geliştirilebilir ve DB desteği sağlanabilir. Örnek vermek amacıyla buraya yazdığımı hatırlatmak isterim. Gerekli alt yapı olduğu sürece aşağıdaki fonksiyonlar ile basitce hosting açılabileceğini göreceksiniz. İleriki zamanlarda Directi ve Onlinenic ile API aracılığı ile alan adı işlemlerini nasıl yapıldığınıda fonksiyonlar ile anlatmaya çalışacağım.

Amacım AWBS gibi yazılımların basitçe hazırlanabileceğini anlatmak ve birazda olsa teşvik etmek. Umarım faydası olur....


Paket bilgilerinin yer alacağı bir metin dosyası (.txt) ile işe başlayacağız.
Bir metin belgesi açın ve aşağıdaki kodları içerisine yapıştırın, adını ekonomik.txt olarak kaydedin.

PHP:
PHP Kodu:
<packet version="1.4.2.0"> 
<domain> 
<add> 
   <gen_setup> 
      <name>--DOMAIN--</name> 
      <client_id>--BAYIID--</client_id> 
      <htype>vrt_hst</htype> 
       <ip_address>--IP--</ip_address> 
      <status>0</status> 
    </gen_setup> 

   <hosting> 
      <vrt_hst> 
      <ftp_login>--FTPUSER--</ftp_login> 
      <ftp_password>--FTPPASS--</ftp_password> 
      <ftp_quota>52428800</ftp_quota> 
      <ssl>false</ssl> 
      <php>true</php> 
      <cgi>true</cgi> 
      <mod_perl>true</mod_perl> 
      <asp>true</asp> 
      <asp_dot_net>true</asp_dot_net> 
      <webstat>webalizer</webstat> 
      <errdocs>false</errdocs> 
      <ip_address>--IP--</ip_address> 
     </vrt_hst> 
 </hosting> 

<limits> 
     
    <max_subdom>10</max_subdom> 
    <disk_space>52428800</disk_space> 
    <max_traffic>1073741824</max_traffic> 
    <max_db>1</max_db> 
    <max_box>5</max_box> 
    <mbox_quota>10485760</mbox_quota> 
             <max_mssql_db>0</max_mssql_db> 
             <mysql_dbase_space>52428800</mysql_dbase_space> 
    <max_shared_ssl_links>0</max_shared_ssl_links> 
    <max_maillists>1</max_maillists> 
    <max_webapps>5</max_webapps> 
    <max_odbc>3</max_odbc>     
     </limits> 
     <prefs> 
    <www>true</www> 
     </prefs> 
 <user> 
      <enabled>true</enabled> 
      <password>--CPSIFRE--</password> 
      <cname>--KONTAKADI--</cname> 
      <pname>--ADSOYAD--</pname> 
      <email>--EMAIL--</email> 
      <multiply_login>false</multiply_login> 
<perms> 
<manage_quota>true</manage_quota> 
<manage_subdomains>true</manage_subdomains> 
<manage_anonftp>false</manage_anonftp> 
<manage_webapps>true</manage_webapps> 
<manage_maillists>true</manage_maillists> 
<manage_drweb>true</manage_drweb> 
<make_dumps>true</make_dumps> 
<manage_crontab>true</manage_crontab> 
<manage_dns>true</manage_dns>        
<manage_phosting>true</manage_phosting> 
</perms> 
</user> 
    

</add> 

</domain> 

</packet>

Farkındaysanız txt olarak kaydettiğimiz dosya aslında bir xml dosyasıdır.
Biz txt olarak kaydettik çünkü konudan fazla sapmadan amaca ulaşmak istiyorum.
Bu text dosyasında anlatmak istediğim bazı kilit noktalar olacak, öncelikle trafik, disk alanı, mail kotaları gibi alanların boyut türü byte cinsinden hesaplanmak zorundadır. Bu plesk api nin istedigi bir mecburiyettir.
Yukarıdaki dosyada limitler şu şekildedir,
Disk alanı : 50MB
Trafik : 1GB
Mysql Kotası : 50MB
Posta Kutusu Kotası : 10MB

Dilediğiniz gibi geliştirebilirsiniz, referans olarak http://download1.swsoft.com/Plesk/Plesk8.2/Doc/plesk-8.2-api-rpc/28784.htm adresindeki dökümanı kullanınız.

Fonksiyonlarımızın yer alacağı php dosyası için plesk.php adında bir dosya oluşturup içerisine aşağıdaki kodları yapıştırıp kayıt edelim.

PHP:
<? 
//////////////////////// 
$cp_bayi_id = 1;  // plesk panelde oluşturulmuş reseller id 
$cp_ip = '66.199.199.199'; //plesk server ip 
$cp_user = 'setup'; //plesk (ADMIN veya RESELLER) kullanıcı adı  
$cp_pass = 'plesk'; //plesk şifre 
//////////////////////// 

function pleskwin_host($domain,$user,$pass,$paket) { 
        global $cp_bayi_id, $cp_ip,$cp_user,$cp_pass; 
         
$ch = curl_init(); 
define ('HOST', $cp_ip); 
define ('PORT', 8443); 
define ('PATH', 'enterprise/control/agent.php'); 

$url = 'https://' . HOST . ':' . PORT . '/' . PATH; 

$headers = array( 
      'HTTP_AUTH_LOGIN: '.$cp_user, 
      'HTTP_AUTH_PASSWD: '.$cp_pass, 
'Content-Type: text/xml');  

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_URL, $url); 

######################################## 
$dosya = fopen("./".$paket.".txt",'r'); 
$boyut = filesize("./".$paket.".txt"); 
$content = fread ($dosya, $boyut); 
############################################################## 
$content = eregi_replace("--DOMAIN--", $domain, $content); 
$content = eregi_replace("--BAYIID--", $cp_bayi_id, $content); 
$content = eregi_replace("--FTPUSER--", $user, $content); 
$content = eregi_replace("--FTPPASS--", $pass, $content); 
$content = eregi_replace("--CPSIFRE--", $pass, $content); 
$content = eregi_replace("--KONTAKADI--", $adsoyad, $content); 
$content = eregi_replace("--ADSOYAD--", $adsoyad, $content); 
$content = eregi_replace("--EMAIL--", $email, $content); 
$content = eregi_replace("--IP--", $cp_ip, $content); 
############################################################## 
fclose ($dosya); 
######################################## 
$packet = $content; 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $packet); 
$retval = curl_exec($ch);  
curl_close($ch);  
return $retval; 
} 
?>

paket bilgilerimizin yer aldığı text dosyası ile oluşturduğumuz plesk.php dosyasının aynı klasörde yer aldığına dikkat etmeliyiz.

plesk.php içerisinde sayfanın en üstünde ayarlanması gereken bazı değişkenler mevcut zaten yanlarında açıklamaları yer alıyor ayrıca anlatmaya gerek yok sanırım.

Önemli kısımları bitirdik, şimdi kodlarımızı test edelim.

olustur.php adında bir dosya oluşturalım ve aşağıdaki gibi düzenledikten sonra ekonomik.txt ve plesk.php ile aynı dizine kayıt edelim.

PHP:
<?php 
include('plesk.php'); 

$domain = 'merhabadunya.com'; 
$user = 'merhaba'; 
$pass = 'a1b2c3d4'; 
$paket = 'ekonomik'; // oluşturduğumuz txt dosyasının adı. 

echo pleskwin_host($domain,$user,$pass,$paket); 
?>

herşeyi tamamladık tarayıcımızdan olustur.php yi çağırdığımızda sonuç
aşağıdaki gibi olmalıdır

PHP:
<?xml version="1.0"?> 
<packet version="1.4.2.0"><domain><add><result><status>ok</status><id></id></result></add></domain></packet>

Böylece php ile uzaktan plesk windows sunucularda bir hesap açmış olduk. Örneklere istinaden erişim bilgilerimiz şöyle olacaktır,

Kontrol panel k.adı : merhabadunya.com
Kontrol panel şifre : a1b2c3d4
FTP kullanıcı adı : merhaba
FTP Şifre : a1b2c3d4

basit olarak Plesk kontrol panelinde PHP ile hosting oluşturmayı anlatmak istedim. Bu fonksiyonlar geliştirilebilir ve daha stabil bir hale getirilebilir.

Saygılarımla...
 

TurkVista

0
İyinet Üyesi
Katılım
9 Mart 2005
Mesajlar
226
Reaction score
0
vizra yı biliyorum burak6622 ben paylaştım sadece ayrıca vizra yı birazdaha incele istersen ;)
 

bilgenc

0
İyinet Üyesi
Katılım
29 Mart 2008
Mesajlar
0
Reaction score
0
error 1005 Protocol version '0.0.0.0' not supported. Current protocol version is '1.5.2.1'

bu şekilde bir hata alıyorum.
 

erdeala

0
İyinet Üyesi
Katılım
1 Ağustos 2008
Mesajlar
2
Reaction score
0
Peki bu komutlar şeklinde pleskden veri çekmek mümkünmüdür? misal sitenin istetistik bilgilerini sitemde yayınlıcam böyle birşey söz konusu olabilirmi?
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst