Foros del Web » Programando para Internet » PHP »

Subdominios desde PHP

Estas en el tema de Subdominios desde PHP en el foro de PHP en Foros del Web. Veran tengo el siguiente script el cual si crea la carpeta y el subdominio pero no crea el archivo index.php Código PHP: <?php ini_set ( ...
  #1 (permalink)  
Antiguo 14/03/2005, 21:06
 
Fecha de Ingreso: enero-2004
Mensajes: 431
Antigüedad: 20 años, 2 meses
Puntos: 6
Subdominios desde PHP

Veran tengo el siguiente script el cual si crea la carpeta y el subdominio pero no crea el archivo index.php

Código PHP:
<?php
ini_set
('display_errors'1);

$host "miwebsite.com"// domain name
$port 2082//cpanel port (always 2082)
$path "/frontend/rvblue/subdomain/doadddomain.html?domain=".$_POST['subdomain']."&rootdomain=".$host// cpanel subd action

// cpanel login info
$cpaneluser "*****";
$cpanelpass "******";
$authstr "$cpaneluser:$cpanelpass";
//****************************

// Set auth str
$pass base64_encode($authstr);

$fp fsockopen($host$port$errno$errstr$timeout 30);

if(!
$fp){
// error tell us
echo "$errstr ($errno)\n";

}else{

// server request

fputs($fp"POST $path HTTP/1.1\r\n");
fputs($fp"Host: $host\r\n");
fputs($fp"Authorization: Basic $pass \r\n");
fputs($fp"Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp"Content-length: ".strlen($poststring)."\r\n");
fputs($fp"Connection: close\r\n\r\n");
fputs($fp$poststring "\r\n\r\n");

while(!
feof($fp)) { fgets($fp4096); }
//close fp - we are done with it
fclose($fp);
}
print 
"Your subdomain ".$_POST['subdomain'].' was created. URL : <a href="http://'.$_POST['subdomain'].'.'.$host.'/">http://'.$_POST['subdomain'].'.'.$host.'</a>';

// The following is the start of the creation of the index.php, it will chmod the directory,
// then create the redirection php file, once done it will have a subdomain and a redirection script

// I finally got this code to work! (below code)
// Note to self - Do not touch this part.
$subdomain $_POST['subdomain'];
chmod("/".$_POST['subdomain']."/"0777);  // took me forever to figure out the chmod line
$fp fopen("/".$_POST['subdomain']."/index.php","a");
if(!
$fp) {
   exit;
}
$url $_POST['redsite'];
$html "<? Header'Location: ".$url."'); ?>";
$stringtowrite $html;
fwrite($fp$stringtowrite);
fclose($fp);

?>
Error que muestra:

Warning: chmod(): No such file or directory in /home/usr/public_html/subdomain.php on line 47

Warning: fopen(/test/index.php): failed to open stream: No such file or directory in /home/usr/public_html/subdomain.php on line 48
__________________
El que teme preguntar, se averguenza de aprender.
  #2 (permalink)  
Antiguo 15/03/2005, 11:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y .. tu estás seguro que esta ruta:
/home/usr/public_html/subdomain.php

es la real para tu caso concreto .. es decir .. de la ubicación de tu sub-domino creado en tu servidor. Normalmente en un servidor compartido .. la ruta absoluta hacia tu sitio en ese servidor sería algo tipo:
/home/usr/sitiotuyo/public_html/subdomain.php

O algo así ...

Un saludo,
  #3 (permalink)  
Antiguo 15/03/2005, 11:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Fijate bien en las rutas del fopen y de chmod: /loquesea/. Eso en unix es equivalente al c:/loquesea/ de windows. Y ya ves que no es donde debe ir. Prueba a indicar que es relativa al directorio actual colocando un punto antes del /. O usa una ruta absoluta.

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 20/10/2005, 05:51
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Quiero crear subdominios en mi host a traves de scripts en PHP y he probado el código aqui facilitado. (Sólo la primera parte) El caso es que no parece haber funcionado. Ni intentando navegar ni mirando a través del ftp.
El contenido de la variable path es el mismo para todos los servidores Apache?

Alguien me puede facilitar ayuda para crear/modificar/eliminar subdominios? Gracias
  #5 (permalink)  
Antiguo 20/10/2005, 07:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por jerkan
Quiero crear subdominios en mi host a traves de scripts en PHP y he probado el código aqui facilitado. (Sólo la primera parte) El caso es que no parece haber funcionado. Ni intentando navegar ni mirando a través del ftp.
El contenido de la variable path es el mismo para todos los servidores Apache?

Alguien me puede facilitar ayuda para crear/modificar/eliminar subdominios? Gracias
No sé si te has fijado bien .. pero ese script lo que hace es usar uno de los scripts del panel de administración cPanel (www.cpanel.com). No sé si tu usaras cPanel .. pero si lo usas .. la ruta hacia "doadddomain.html" puede cambiar .. (incluso el própio script/cgi ese concreto).

Para saber esa ruta, puedes entrar a tu panel de control .. irte a la zona donde creas tus subdminios y tomar la ruta de esa página (y verificar que variables genera .. y acepta).

Un saludo,
  #6 (permalink)  
Antiguo 20/10/2005, 07:39
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Gracias Cluster.

Confirmo lo que dice Cluster. La ruta cambia segun el cPanel de cada uno. Yo he entrado en el mío me he fijado en la url, la he cambiado en el script y me ha funcionado.

Otra cosa de la que me he dado cuenta es que al dar de alta el subdominio no puedes acceder a él hasta dentro de un par de horas (no te lo reconoce). Me parece que es tema de DNS.

Un saludo.
  #7 (permalink)  
Antiguo 20/10/2005, 08:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Otra cosa de la que me he dado cuenta es que al dar de alta el subdominio no puedes acceder a él hasta dentro de un par de horas (no te lo reconoce). Me parece que es tema de DNS.
Así es .., pero por FTP puedes entrar a ese subdomino (el directorio que se crea) desde el primer instante de la creación (como para copiarle algún "index" o algo así por defecto a ese sub-domino creado).

Un saludo,
  #8 (permalink)  
Antiguo 20/10/2005, 08:31
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
El código de arriba contiene la variable $poststring pero no veo dónde se instancia. Alguna pista?

Cita:
fputs($fp, "Content-length: ".strlen($poststring)."\r\n");
  #9 (permalink)  
Antiguo 20/10/2005, 11:59
 
Fecha de Ingreso: enero-2004
Mensajes: 431
Antigüedad: 20 años, 2 meses
Puntos: 6
El Script Funciona bien
el problema es el Hosting ke tiene desaktivada la funcion CHMOD
__________________
El que teme preguntar, se averguenza de aprender.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:27.