<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>bildirgec.org - etiketler: otomatik subdomain olusturma</title>
    <link>http://www.bildirgec.org/</link>
    <language>tr-tr</language>
    <ttl>40</ttl>
    <description>bildirgec.org - etiketler: otomatik subdomain olusturma</description>
    <item>
      <title>.htaccess ile otomatik subdomain olu&#351;turma</title>
      <author>Redingot</author>
      <description>&lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/htaccess"&gt;htaccess&lt;/a rel="nofollow"&gt; ile ilgili &lt;a rel="nofollow" href="http://www.bildirgec.org/yazi/htaccess-dosyasi-ve-ozellikleri"&gt;buradaki&lt;/a rel="nofollow"&gt; yaz&#305;mdan sonra htaccess kullanarak kendinen alt alan adlar&#305; olu&#351;turmadan bahsedece&#287;im.&lt;br&gt;&lt;br&gt;

&lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/CPanel"&gt;CPanel&lt;/a rel="nofollow"&gt; ve benzeri kontrol panelleri &#252;zerinden elle (manual olarak) &lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/subdomain"&gt;subdomain&lt;/a rel="nofollow"&gt;ler olu&#351;turabilmekteyiz. Fakat diyelim ki sitemizde bulunan her kullan&#305;c&#305; i&#231;in bir subdomain vermek istiyoruz. O zaman kullan&#305;c&#305;lar&#305; kuyru&#287;a al&#305;p sonra cpanel &#252;zerinden elle alt alanadlar&#305; olu&#351;turmak bir hayli zahmetli ve an&#305;nda etkile&#351;imli olmayan bir i&#351;.&lt;br&gt;&lt;br&gt;

&lt;a rel="nofollow" href="http://www.hi5.com"&gt;Hi5.com&lt;/a rel="nofollow"&gt; ve benzeri sitelerde g&#246;r&#252;lece&#287;i &#252;zere, &#252;ye olan her kullan&#305;c&#305; subdomain sahibi olabilmekte.&lt;br&gt;&lt;br&gt;

&#350;imdi otomatik subdomaini manual olu&#351;turmaktan ba&#351;ka olarak iki &#351;eyden bahsedece&#287;im.&lt;br&gt;&lt;br&gt;

1. .htaccess ile:&lt;br&gt;

&lt;code&gt;RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^\.]+)\.bildirgec\.org$ [NC]
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule ^.*$ http://www.bildirgec.org/uye.php?kullaniciadi=%1 [R,L]&lt;/code&gt;&lt;br&gt;&lt;br&gt;




G&#246;r&#252;ld&#252;&#287;&#252; gibi www, ftp, mail haricinde t&#252;m kullan&#305;c&#305; adlar&#305; i&#231;in subdomain olu&#351;turulabilecektir.
Yaln&#305;z i&#351;lem bu kadar basit olabilece&#287;i gibi bu kadar kolay da olmayabilir. DNS ayarlar&#305; gerekebilir.&lt;br&gt;&lt;br&gt;



&lt;strong&gt;DNS ayarlar&#305;:&lt;/strong&gt;


&lt;code&gt;
DNS Functions &amp;gt; Edit DNS Zone k&#305;sm&#305;nda 
DNS: *.bildirgec.org (ya da sadece *)
TTL: 14400
IN: IN
Record Type: A (Kay&#305;t T&#252;r&#252;)
&lt;/code&gt;

&#351;eklinde ayarlan&#305;r.&lt;br&gt;&lt;br&gt;


Bu ayar ile subdomain'lerin hostunuzun bulundu&#287;u ip adresine d&#252;&#351;mesi sa&#287;lan&#305;r.
Ayr&#305;ca  &lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/host"&gt;Host&lt;/a rel="nofollow"&gt; firman&#305;z&#305;n &lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/DNS"&gt;DNS&lt;/a rel="nofollow"&gt; &lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/wildcard"&gt;wildcard&lt;/a rel="nofollow"&gt;'&#305; aktifle&#351;tirmi&#351; olmas&#305; gerekmektedir.&lt;br&gt;&lt;br&gt;


Bu t&#252;m subdomain'lerin hesab&#305;n&#305;za y&#246;nlenmesini sa&#287;layacakt&#305;r. Bu i&#351;lem de &lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/ServerAlias"&gt;ServerAlias&lt;/a rel="nofollow"&gt; direktifleri ile &lt;a rel="nofollow" href="http://www.bildirgec.org/etiket/httpd.conf"&gt;httpd.conf&lt;/a rel="nofollow"&gt; ile yap&#305;l&#305;r.&lt;br&gt;&lt;br&gt;


&lt;strong&gt;httpd.conf ayar&#305;:&lt;/strong&gt;

&lt;code&gt;&amp;lt;VirtualHost 255.255.255.0&amp;gt;
DocumentRoot /home/username/public_html
ServerName www.bildirgec.org
ServerAlias bildirgec.org
ServerAlias *.bildirgec.org
&amp;lt;/VirtualHost&amp;gt;
&lt;/code&gt;&lt;br&gt;&lt;br&gt;







2. PHP'de CPanel ile Etkile&#351;erek:&lt;/strong&gt; 
Siteniz PHP dilini destekliyorsa&lt;br&gt;&lt;br&gt;

&lt;code&gt;
&amp;lt;?php
define(&#8217;CPANELKADI&#8217;,'cpanel_kullanici_adini_buraya_giriniz&#8217;);
define(&#8217;CPANELPAROLA&#8217;,'cpanel_parolasini_buraya_giriniz&#8217;);
define(&#8217;METIN_DOSYA&#8217;,'altalan.txt&#8217;); // istersek alt alan adlar&#305;n&#305; bir txt dende &#231;ekebilirsiniz
define(&#8217;CPANEL_SABLON&#8217;,'rvblue&#8217;); // T&#252;rk&#231;e cpaneller genelde rvblue d&#252;r ancak ingilizce ise genellikle x kullan&#305;l&#305;r. Tam olarak &#246;&#287;renmek i&#231;in cPanelinize giriniz ve urlde frontend/ ifadesinden sonra ne yazd&#305;&#287;&#305;na bak&#305;n&#305;z.
define(&#8217;DOMAIN&#8217;,&#8217;siteadresi.com&#8217;);
function getVar($ad, $def = &#8221;) {
if (isset($_REQUEST[$ad]) &amp;&amp; ($_REQUEST[$ad] != &#8221;))
return $_REQUEST[$ad];
else
return $def;
}
$cpanelkadi=getVar(&#8217;cpanelkadi&#8217;, CPANELKADI);
$cpanelparola=getVar(&#8217;cpanelparola&#8217;, CPANELPAROLA);
$cpanel_sablon = getVar(&#8217;cpanelsablon&#8217;, CPANEL_SABLON);
if (isset($_REQUEST[&#8221;subdomain&#8221;])) {
$doms = array( getVar(&#8217;domain&#8217;, DOMAIN) . &#8220;;&#8221; . $_REQUEST[&#8221;subdomain&#8221;]);
if (getVar(&#8217;domain&#8217;, DOMAIN) == &#8221;) die(&#8221;Ge&#231;ersiz kullan&#305;c&#305; ad&#305;&#8221;);
}
else {
$doms = @file(METIN_DOSYA);
if (!$doms) {
echo &#8221;
Metin dosyas&#305; bulunamad&#305;. L&#252;tfen bilgileri manuel giriniz.&lt;br&gt;&lt;br&gt;
&amp;lt;form method=&#8217;post&#8217;&amp;gt;
Altalan (Subdomain):&amp;lt;input name=&#8217;subdomain&#8217;&amp;gt;
Domain:&amp;lt;input name=&#8217;domain&#8217;&amp;gt;&amp;lt;br&amp;gt;
cPanel Kullan&#305;c&#305; Ad&#305;:&amp;lt;input name=&#8217;cpanelkadi&#8217;&amp;gt;&amp;lt;br&amp;gt;
cPanel Parola:&amp;lt;input name=&#8217;cpanelparola&#8217;&amp;gt;&amp;lt;br&amp;gt;
cPanel &#350;ablon:&amp;lt;input name=&#8217;cpanelsablon&#8217;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;T&#252;rk&#231;e cpaneller genelde rvblue d&#252;r ancak ingilizce ise genellikle x kullan&#305;l&#305;r. Tam olarak &#246;&#287;renmek i&#231;in cPanelinize giriniz ve urlde frontend/ ifadesinden sonra ne yazd&#305;&#287;&#305;na bak&#305;n&#305;z.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
&amp;lt;input type=&#8217;submit&#8217; value=&#8217;Yarat&#8217; style=&#8217;border:1px solid black&#8217;&amp;gt;
&amp;lt;/form&amp;gt;&#8221;;
die();
}
}
function subd($host,$port,$sahibi,$parolaci,$talep) {
$sock = fsockopen(&#8217;localhost&#8217;,2082);
if(!$sock) {
print(&#8217;Socket error&#8217;);
exit();
}
$yetkilendir = &#8220;$sahibi:$parolaci&#8221;;
$pass = base64_encode($yetkilendir);
$in = &#8220;GET $talep\r\n&#8221;;
$in .= &#8220;HTTP/1.0\r\n&#8221;;
$in .= &#8220;Host:$host\r\n&#8221;;
$in .= &#8220;Authorization: Basic $pass\r\n&#8221;;
$in .= &#8220;\r\n&#8221;;
fputs($sock, $in);
while (!feof($sock)) {
$sonuc .= fgets ($sock,128);
}
fclose( $sock );
return $sonuc;
}
foreach($doms as $dom) {
$satirlar = explode(&#8217;;',$dom);
if (count($satirlar) == 2) {
$domain = trim($satirlar[0]);
$subd = trim($satirlar[1]);
}
else {
$domain = getVar(&#8217;domain&#8217;, DOMAIN);
$subd = trim($satirlar[0]);
}
$talep = &#8220;/frontend/$cpanel_sablon/subdomain/doadddomain.html?rootdomain=$domain&amp;domain=$subd&#8221;;
$sonuc = subd(&#8217;localhost&#8217;,2082,$cpanelkadi,$cpanelparola,$talep);
$goster = strip_tags($sonuc); //teknik bilgi. scriptlerinizde echo yapt&#305;rmay&#305;n.
echo $goster;
}
?&amp;gt;
&lt;/code&gt;&lt;br&gt;&lt;br&gt;


kodu ile olu&#351;turabilirsiniz. Bu &#351;ekilde subdomain olu&#351;turulabiliyor fakat i&#351;lem bir hayli yava&#351; s&#252;rebiliyor.&lt;br&gt;&lt;br&gt;

Ben CPanel i&#231;in PHP kodlar&#305;n&#305; denedim, DNS Zone'da *.domain.com ekleyerek subdomain'leri ip'ye d&#252;&#351;&#252;rmeye ba&#351;ard&#305;m fakat httpd.conf'a eri&#351;imim olmad&#305;&#287;&#305; i&#231;in ayarlamas&#305;n&#305; yapamad&#305;m. Fakat olu&#351;an subdomainler i&#231;in htaccess &#231;al&#305;&#351;maktad&#305;r. Denemekte, kurcalamakta ve ara&#351;t&#305;rmakta fayda var.&lt;br&gt;&lt;br&gt;

Bu konuyla ilgili olarak &lt;a rel="nofollow" href="http://javam.org/otomatik-subdomain-yaratma/"&gt;Altan Tanr&#305;verdi'nin yaz&#305;s&#305;&lt;/a rel="nofollow"&gt; okunmal&#305;d&#305;r. Yaz&#305;da ge&#231;en kodlar bu  sitede yer almaktad&#305;r. DNS ile ve httpd.conf i&#231;in de &lt;a rel="nofollow" href="http://jam.jrox.com/docs/index.php?article=76"&gt;buraya&lt;/a rel="nofollow"&gt; bakabilirsiniz.&lt;p&gt;&lt;strong&gt;ilgili yaz&#305;lar&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.bildirgec.org/yazi/htaccess-ile-ilgili-yazilar"&gt;htaccess ile ilgili yaz&#305;lar&lt;/a&gt; (0)&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;p&gt;Bu yaz&#305; &lt;a href="http://www.bildirgec.org/uye/Redingot"&gt;Redingot&lt;/a&gt; taraf&#305;ndan &lt;a href=" http://www.bildirgec.org/yazi/htaccess-ile-otomatik-subdomain-olusturma "&gt;bildirgec.org&lt;/a&gt; adresli sitede yay&#305;mlanmak &#252;zere yaz&#305;lm&#305;&#351;t&#305;r. Kaynak g&#246;sterilmeksizin kopyalanamaz.&lt;/p&gt;&lt;hr&gt;Pilli Projeleri: &lt;a href="http://pilli.com"&gt;Pilli.com: Kolektif Ba&#287;&#305;ms&#305;z &#304;&#231;erik&lt;/a&gt; | &lt;a href="http://sosyomat.com"&gt;Sosyomat.com: Arkada&#351;&#305;n&#305; Etiketle&lt;/a&gt; | &lt;a href="http://put.io"&gt;Put.io: Online Cloud Storage&lt;/a&gt;</description>
      <pubDate>Thu, 17 Jul 2008 11:04:00 GMT</pubDate>
      <guid isPermaLink="false">72327@http://www.bildirgec.org/</guid>
      <link>http://www.bildirgec.org/yazi/htaccess-ile-otomatik-subdomain-olusturma</link>
      <category>dns</category>
      <category>hosting</category>
      <category>subdomain</category>
      <category>host</category>
      <category>kontrol paneli</category>
      <category>htaccess</category>
      <category>.htaccess</category>
      <category>virtual hosting</category>
      <category>cpanel</category>
      <category>httpd.conf</category>
      <category>rewrite engine</category>
      <category>otomatik alt alanadi olu&#351;turma</category>
      <category>otomatik subdomain olu&#351;turma</category>
      <category>otomatik subdomain olusturma</category>
      <category>otomatik alt alanadi olusturma</category>
      <category>automatic subdomain creator</category>
      <category>edit dns zone</category>
      <category>wildcard</category>
      <category>serveralias</category>
      <category>control panel</category>
      <category>virtualhost</category>
    </item>
  </channel>
</rss>

