Ana Sayfa

13 Ocak 2014 Pazartesi

Otomatik Subdomain Oluşturma

Merhabalar,

Dükkan açma mantığında kurulan sitelerde , üye olan kullanıcılara tek bir domain altındaki gibi ürünlerini satabiliyorlar.Örneğin emlak.net, sahibinden.com gibi sitelerde olduğu gibi ve böylelikle site sahibi sitenin verimliliğini artırarak üyelerin artmasına olanak sağlıyor. Siteyi kullanan üyelerde herhangi bir ücret ödemeden site sahibi olabiliyor.
             İnternet ortamında, Java Web olarak nasıl yapılacağı konusunda çok değinilmemiş. Detaylı bir bilgiye ulaşamadım. Bende Jsp(Java Server Page)'da yapmak istedim.
Normal bir hosting satın alarak bu işlemleri yapamayabilirsiniz. Bir çok hosting firmaları bu ayarları yapmanıza olanak sağlamaz ve size ait bir özel ip'niz olması gerekiyor.

Sizler için ben bir aylığına Vps Server kiraladım. İlk başta JDK ve Tomcat Kurulumunu yapmanız gerekiyor. Önceki makalemde bunu anlatmıştım. Oradan takip edersiniz.

Gerçekte oluşturduğumuz bir subdomain yok ama sanal subdomain oluşturcaz.
abc.domain.com                  ======>   bu domaine gelecek talepleri
domain.com/index.jsp?uye=abc  ===>   buraya yönlendirmiş oluyoruz
Uzun ve şık durmayan urllerden kurtulmuş olacağız.

Eclipse'de oluşturduğum dosyayı da direk buradan indirebilirsiniz
Tomcati nereye kurduysanız içindeki webapps klasörünün altında barındırmanız gerekiyor.

Bende "/var/opt/apache-tomcat-7.0.47/webapps/mysite"  olarak barındırdım.


index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mysite</title>
</head>
<body>
Hello <b>
<% if(request.getParameter("uye")!=null){%>
<%= request.getParameter("uye").split("\\.")[0] %></b>!
<% }%>
</body>
</html>


httpd.conf ayarlarını yapcaz. mysite.com.conf


Sadece 80 portun olduğu yeri kendi sahip olduğunuz domain'e göre değiştirmeniz  gerekiyor

<VirtualHost ipniz:80 >
    ProxyRequests On #ekleyin
    ProxyVia On     #ekleyin

    <Proxy *>    #ekleyin
    AddDefaultCharset Off
    Order deny,allow
    Allow from all
   </Proxy>

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(.+)\.mysite\.com$ [NC]    #ekleyin
    RewriteCond %1 !^(www|ftp|mail|siparis|sepet)$ [NC]   # bu domainler hariç
    RewriteRule ^(.*)$ http://mysite.com$1?uye=%{HTTP_HOST} [P,QSA] #ekleyin
    JkMount /* default

    ServerName "mysite.com:80"
        ServerAlias  "www.mysite.com"
        ServerAlias  "*.mysite.com"    # buraya * ekliyoruz
        ServerAlias  "ipv4.mysite.com"
        UseCanonicalName Off

ProxyPass / http://mysite.com:8080/mysite/  # 8080 portunu 80 portuna yönlendiriyoruz
ProxyPassReverse / http://mysite.com:8080/mysite/  

 #diğerleride aynen kalıyor

Şimdi Domainimizin Dns ayarları ile oynayacağız. Benim vps serverda plesk panel kuruluydu, sizde farklı panellerden de yapabilirsiniz.



“Record type” kısmını “A” Olarak seçiyorum
“Enter Domain Name” kısmınada “*” işareti koyuyorum.
“Enter IP Adres” kısmına domainimizin bulunduğu serverin ip adresini yazıyoruz.

Serverdaki yerinide vereyim size /var/named/run-root/var/mysite.com
mysite.com.   IN NS  ns.mysite.com.
ns.mysite.com.   IN A  --ipniz--
mysite.com.   IN A  --ipniz--
webmail.mysite.com.   IN A  --ipniz--
mail.mysite.com.   IN A  --ipniz--
ipv4.mysite.com.   IN A  --ipniz--
*.mysite.com.   IN A  --ipniz--
ftp.mysite.com.   IN CNAME  mysite.com.
*.webmail.mysite.com.   IN CNAME  mysite.com.
www.mysite.com.   IN CNAME  mysite.com.
mysite.com.   IN MX 10 mail.mysite.com.
mysite.com.   IN TXT  "v=spf1 +a +mx -all"

Terminalden Apache server'ı "service httpd restart" ile yeniden başlattın. 



İşletim Sistemi Seçenekleri: Centos 5.5 (64Bit)
Kontrol Paneli Seçenekleri: Plesk 11,9 Unlimited Domain
Apache Server 2.2 kurulu aldım.

Umarım faydalı olmuştur.

2 yorum: