DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Web Hosting, web serveri i operativni sistemi (http://www.devprotalk.com/forumdisplay.php?f=11)
-   -   kreiranje subdomene (http://www.devprotalk.com/showthread.php?t=1537)

dee 22. 09. 2006. 14:49

kreiranje subdomene
 
imam zahtjev za autoamtskim kreiranjem subromene (i foldera u kojem stoji sadrzaj za nju). kako da to najlakse odradim?

znaci, neki opci scenario je:

korisnik dodje na sajt i registrira se za x-dnevno probno koristenje aplikacije. skripte bi mu trebale automatski otvorit poddomenu: username.sajtaplikacije.com, u neki direktorij na sajtu kopirat sve potrebne fajlove (to mi ne treba, naravno), kreirat bazu (ne treba) i da covjek moze x dana isprobavat aplikaciju (cron dnevno provjerava expire date).

e sad, ne znam ovo s poddomenama kako da izvedem... moze li se to uopce do kraja automatizirat i ako da, kako? imate li neke konkretne primjere, savjete, smjernice?


bilo kakav savjet dobrodosao!

hvala unaprijed

artur_dent 22. 09. 2006. 17:08

Mozes koristeci Cpanel, tj WMH api.

Ilija Studen 22. 09. 2006. 18:04

Postoji par načina, a generalno zavisi od toga kako je konfigurisan web server. Npr, možeš kreirati virtualne domene za svaki poddomen (zahteva restart Apachea ako se ne varam), možeš koristiti mod_rewrite da bi matchovao HTTP_HOST promenljivu i redirektovao zahtev na odgovarajuć folder, možeš pomoću mod_rewritea registrovati da čovek zahteva poddomen, redirektovati ga na PHP skripticu koja se ponaša kao ruter (iz $_SERVER uzima vrednost hosta, vadi ime poddomena i dalje prosleđuje zahtev) itd.

Pitanje je samo koliku kontrolu ti imaš nad celim procesom. Najlakše je da imaš potpunu (dadicated server bez "pametnog" CP-a), ali ja sam nešto slično odradio u shared varijanti na TextDriveu (stvar je bila samo za testiranje i nije više online).

dee 22. 09. 2006. 18:10

da, to sam propustio navest... dedicated je server... oce li imat pametni CP to jos ne znam (ne ovisi o meni), ali bi ga zaobiso ako je moguce...

ovo mi nije palo na pamet da mod_rewrite koji samo preusmjerava na odredjeni folder... a posto je sve temporary (x dana evaluation perioda), cini mi se kao najelegantnije rjesenje...mislim da cu tako i napravit...

hvala Ilija!

dee 22. 09. 2006. 20:56

cek cek cek... nesto ipak ne stima :)

pazi, ovo mora otvarat nove poddomene automatski, znaci, korisnik sam bez da iko ista dira mora moc otvorit novu poddomenu a to, koliko je meni poznato, ne ide bez pristupa DNS serveru... molim da me se ispravi ako grijesim.

jer, npr...
ti dolazis, registriras se s usernameom ilijastuden i odma ti se mora otvorit ilijastuden.aplikacija.net tako da akd za sekundu to ukucas u browser dobijes ono sta se nalazi u www.aplikacija.net/ilijastuden/. ali bez updatea u DNS zoni osnovnog sajta, vratit ce 404, sta ne?

redirekcija/rewrite bi bili ok za postojece, ali za otvaranje novih ne kontam kako bi to moglo funkcionirat?

ivanhoe 22. 09. 2006. 21:08

da slazem se sa Ilijom, catch all virtual host *.sajt.com, onda mod_rewrite da to preusmeri gde treba, i linkovi ka core fajlovima (da ne bi morao da kopiras sve fajove stalno, nego samo konfiguracione). Pogledaj mod_rewrite opciju za RewriteMap, ona moze da ti bude jako zgodna za ovakve stvari, da ne moras da generises .htaccess

Alternativno moze i bez mod_rewrite-a nego da sve preusmeris na jedan index.php u kome ces da imas logiku koja inkluduje posebne konfiguracione fajlove za svaki subdomen. Ja bas pravim tako nesto za wordpress instalaciju da bih mogao sa jednom instalacijom da imam vise blogova na razlicitim subdomenima.

EDIT: na ovo pitanje sto si postavio u medjuvremenu odgovor ti je boldovan gore ^^

dee 22. 09. 2006. 21:49

sorry ako pitam/lupim glupost, al ko sto rekoh, prvi puta gledam ove stvari pa mi treba malo vremena. ako moze, da priupitam cisto da vidim kontam li ja uopce o cemu se tu radi...

dakle, kad browser zatrazi bla.domena.com, request ce ipak otic na osnovni hostname (odnosno njegovu IP adresu), jel tako? (ne ide odma 404?) recimo da je to www.domena.com. i gledat ce ima li nekakav virtual host bla.domena.com? ako ima, dat ce ono sta je u httpd.conf receno u virtual hostu, ako nema, vratit ce 404.

i ja sad moram u httpd.conf slozit da procita za sta je dosao request i preusmjerit bla.domena.com na www.domena.com/bla, jel tako?

drugim rijecima, pricamo li o ovome -> http://httpd.apache.org/docs/1.3/vhosts/examples.html ?


ps.
tnx na strpljenju...

dee 22. 09. 2006. 21:54

mozes li stavit malo 'mesa' (primjer koda) gdje sta radis za izvest ovako nesto?...

misk0 22. 09. 2006. 21:59

Mozes to ovako sa DNSom rjeseiti

www IN A 192.168.1.1
ftp IN A 192.168.1.2
mikimaus IN A 192.168.1.10
* IN CNAME www

i svi ostali zahtjevi idu na 1 :)

tako da skines DNS s vrata :)

ivanhoe 22. 09. 2006. 23:55

treba ti da je DNS podesen tako da svi domeni i subdomeni pokazuju na istu IP adresu (mada to je obicno default), znaci kao ovo sto je Misk0 napisao (ja to pisem staromodno sa punim domenima, ali to je to :) )

Zatim ti treba virtual host kome ces da kazes sledece:
ServerName pera.com
ServerAlias *.pera.com

time hvatas sve subdomene istim virtualnim hostom. Zatim ti treba mod_rewrite koji ce da bude u webroot-u tog virt. hosta i da radi preusmeravanje ka user verzijama instalacije:

RewriteCond %{HTTP_HOST} ^([a-z0-9_\-]+)\.pera\.com$ [NC]
RewriteRule ^(.*) /user-direktorijumi/%1/$1 [L]

Ovo iznad znaci otprilike: za svaki zahtev pogledaj HTTP_HOST header i ako postoji subdomen u url-u zapamti ga (namestio sam da subdomen moze da ima slova A do Z, brojeve, povlaku i donju crtu, to je onaj [a-z0-9_\-] deo ). Flag [NC] znaci no case, odnosno da zanemari velikai mala slova. Podaci capture-ovani u RewriteCond se pamte u promenjivoj %1. Ukoliko je RewriteCond ispunjen, onda ce se izvrsiti RewriteRule koji ce da izvrsi unutrasnji (nevidljivi za korisnika) redirect na putanju po zelji (ja namestio /user-direktorijumi/%1/$1)

Primer: ako neko pristupi sa ivan.sajt.com/test.php on ce biti redirektovan u /user-direktorijumi/ivan/test.php (a u browseru ce mu i dalje pisati njegova prvobitna putanja). Pazi da ti svi linkovi budu u skladu sa ovim, ako zelis da sakrijes cinjenicu da nemas zasebne virt. hostove...

to ti je to, ovo sam sve kucao iz glave tako da mi ne veruj na rec, mozda ima neka sitna greskica, ali to ti je prinpic..


Vreme je GMT +2. Trenutno vreme je 06:27.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.