Trasladar Drupal de un servidor local a un servidor remoto
Si alguna vez han pasado un sitio web de su localhost a su hosting
definitivo deben saber que siempre (siempre!) aparece algún problema.
Bien, hace poco tuve que hacer algo parecido en un hosting que no
tenía acceso por consola ni cpanel. Tenía además una instalación de
Drupal previa que había que borrar.
Van los pasos entonces:
1. Borrado de la base de datos instalada previamente.
No podía usar PhpMyAdmin porque tenía PHP 5.1.6 y para que funcione
necesitaba PHP 5.2. Entonces tuve que programar un script sencillo
para borrar las tablas. Tomé como referencia
http://www.php.net/manual/en/function.mysql-list-tables.php
<?php
$dbname = "dbname";
$conn = mysql_connect('localhost','user','password');
$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);
if (!$result) {
echo "DB Error, could not list tables\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}
while ($row = mysql_fetch_row($result)) {
$tablas[] = $row[0];
}
#print_r($tablas);
foreach ($tablas as $tabla ) {
$sql1 = "DROP TABLE $dbname .$tabla";
$result1 = mysql_query($sql1,$conn);
if ($result1) { print $dbname .$tabla." borrada "; } else {
print mysql_error(); }
}
mysql_free_result($result);
?>
2. Upload de base de datos local a base de datos remoto
Tuve que usar bigdump. Pueden descargarlo de http://www.ozerov.de/bigdump.php
Se descarga, se edita con los datos de conexión a la base de datos
remota y se sube el script al servidor.
Luego se sube el archivo sql a la carpeta donde está ubicado también
el script bigdump. Se ejecuta el bigdump por el navegador, se ubica el
archivo sql y lo cargamos.
3. Upload de archivos locales a servidor remoto
Subi los archivos comprimidos al servidor remoto. El tema ahora era
descomprimirlo sin usar cpanel ni consola. Pueden usar una clase de
php para descomprimirlo arriba
http://www.phpclasses.org/browse/package/3864.html
El script muestra ejemplos de como se usa la clase. Tienen que
ejecutarlo desde el navegador. Una vez arriba todos los archivos, lo
ideal es usar un sistema de control de versiones como CVS, GIT o
Subversion para mantener sincronizada nuestra copia local con la copia
en el servidor remoto.En mi caso, el hosting que me dieron no contaba
con estos servicios así que sólo me quedaba el FTP. Se puede también
mantener la copia sincronizada por FTP. Para Windows se puede usar
FTPSync. Pueden descargarlo de
http://www.cyberkiko.com/page/FTPSync.aspx
Para Linux pueden descargarlo de
4. Ajustes finales
Normalmente debía terminar todo allí. Sin embargo, pueden pasar
algunas cosas, por ejemplo que a pesar de haber hecho todo
correctamente nos salga la famosa pantalla blanca de la muerte (white
page of dead).
En ese caso, generalmente hay que ser dos descartes. Pueden usar como referencia
http://www.ubercart.org/faq/2246
a. Setear el valor de memory_limit a 64 ó 128M
Se puede hacer por .htaccess o php.ini ó ir al archivo settings.php y setear
ini_set('memory_limit', '128M');
Todo depende de cómo el servidor permita configurar este parámetro
b. Si la pantalla blanca sigue saliendo entonces hay que agregar al
archivo index.php las siguientes líneas
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Esto hará que se muestren las líneas de error que están causando el problema
Por ejemplo, el error que me mostró me llevó a identificar que el
módulo Date sólo funciona bien en PHP 5.2, si usas PHP 5.1.6 entonces
debes activar su submódulo para PHP4.
Lo dejo allí, seguro hay más de una forma de pasar una instalación
local de Drupal a un servidor remoto.
- Inicie sesión o regístrese para enviar comentarios