Editar DNS de un subdominio desde script

Iniciado por ZharkD, 14 Marzo 2010, 00:40 AM

0 Miembros y 1 Visitante están viendo este tema.

ZharkD

Buenas,

Me pregunto si alguien podria ayudarme con esta idea loca que me trae a vueltas desde ya varios dias.
Mi idea es basicamente comprar un dominio (123.com)
En ese dominio proporcionar membresias gratis a los usuarios (bajo un foro probablemente o bien un script independiente). Una vez que el usuario se registre, tendra permiso para crear 3 subdominios: dom1.123.com, dom2.123.com y otro.123.com y cada uno de esos dominios estara a puntado a  NS o IP que el usuario desee.
Se que esto lleva mucha programacion avanzada y la verdad soy algo novato en php y sql, segun lei esto se hace con apache pero la verdad no encuentro fruto para buscar algo especifico.

Alguien me puede auxiliar a que funciones (php o en apache) me podrian ayudar para hacer esto?

Tengo host dedicado y tengo acceso a WHM como reseller, por si eso ayudaria.

Encontre este script pero creo que solo crea re-direcciones como tinyurl.com:
<?
###########################################
# Subdomains 0,51
# Released under the terms of the GNU General Public License.
# Please refer to the README file for more information.
############################################
############################################
# PLEASE EDIT THE FOLLOWING VARIABLES:
############################################

# Your domain name. NO "www." IN FRONT OF IT. NO SLASHES ("/").
# Just the actual domain name, i.e. "yourdomain.com"
$domain = "yourdomain.com";

# The default page that the visitors should be redirected to if
# they don't request a sub domain or they request a non-existing
# sub domain. This page could be named "welcome.html",
# "front_page.html" or something similar. The page should be
# located in your document root. If you can view the page by
# entering "http://yourdomain.com/welcome.html" in your browser,
# then it is located in the document root.
$default_page = "welcome.html";

# Do you want to use frames?
$use_frames = "yes";

###########################################
# THAT'S IT! NO MORE EDITING NECESSARY.
###########################################



$underdomaene = $HTTP_HOST;
$underdomaene = eregi_replace("\.".$domain, "", $underdomaene);
$underdomaene = eregi_replace("www\.", "", $underdomaene);
$underdomaene = strtolower($underdomaene);

# If the sub domain is the name of a directory in the document root...
if (is_dir("$DOCUMENT_ROOT/$underdomaene")) {
# The frames version:
if ($use_frames == "yes") {
echo "<html><head><title>$domain/$underdomaene</title>\n\n";
echo "<!---------------------------------------------------------------------\n";
echo " The sub domains at $domain were created using\n";
echo " the PHP script \"Subdomains\"\n";
echo "---------------------------------------------------------------------->\n\n";
echo "</head>\n\n\n\n";
echo "<frameset cols=100%,* frameborder=no border=0 framespacing=0>\n";
echo "<frame src=http://$domain/$underdomaene>\n";
echo "<noframes>\n";
echo "<body bgcolor=black link=silver alink=black vlink=gray>\n";
echo "<font face=helvetica color=white><center>\n";
echo "This page uses frames, but it seems that your browser does not support this feature.\n";
echo "To move on, click here:<br><a href=http://$domain/$underdomaene>$domain/$underdomaene</a>\n";
echo "</center></font>\n";
echo "</body>\n";
echo "</noframes>\n";
echo "</frameset></html>\n";
}

# The non-frames version:
else {
header("Location: http://$domain/$underdomaene");
}
}

# If the sub domain is NOT the name of a directory in the document root...
else {
if (!$REQUEST_URI || $REQUEST_URI == "/") {
include("$DOCUMENT_ROOT/$default_page");
}
else {
header("Location: http://$domain$REQUEST_URI");
}
}
?>


Desde ya agradezco mucho sus aportes y disculpen los inconvenientes, la verdad me resulta dificil encontrar algo ya que por mas que busco no tengo algo "especifico" que buscar.

ZharkD

Buenas,

Disculpen molestar pero... Alguien tiene alguna idea de esto?
La verdad que por mas que busco no encuentro algo "especifico".

ZharkD


el-brujo

buf lo que quieres hacer es realmente complicado.... sobretodo hacerlo vía php, MySQL.

Lo más fácil es apuntar *.123.com a una ip en el servidor DNS y de esta manera loquesea.123.com siempre funcionará.

Luego tendrás que hacer un script en php para editar el fichero (añadir) vhosts en el httpd.conf (fichero conf del Apache) y añadir el vhost loquesea.123.com al public_html que tu quieras.

Pero claro si quieres que cada usuario ponga su subdominio a una ip cualquiera, entonces la cosa se complica... ¿pero no darías tu el hosting de todos los subdominios?


ZharkD

Hola,

Gracias por tu respuesta.
No, yo no proporcionare hosting, solamente subdominios de mi dominio principal.
Tenia entendido que con httpd.conf se configuraban vhost como mencionas aputnando a un folder en mi directorio root, pero lo que busco es que lo apunten al host de cada usuario usando una IP o DNS :)

jdc

Entonces buscas que por ejemplo elhacker.123.com lleve a elhacker.net? Eso es mas facil. Pero se te hará mas largo lo que quieres de crear un sistema de usuarios y enlazarlo con un foro y eso :)

Yo daria un dominio por usuario, pero sólo usa redireccion no te metas con dns e ip que se te hará eterno.


ZharkD

@janito24
No, lo que busco es algo como co.cc proveer sub-dominios y que cada usuario lo apunte a su IP/DNS del host donde tenga su web :)