Cambiar un sitio drupal de servidor

servidor, cambio servidor, traslado drupalTrasladar Drupal de un servidor a otro es sencillo pero si no marcamos unas pautas puede resultar desastroso, vamos por tanto a ver paso a paso como cambiar un sitio Drupal de servidor sin morir en el intento. Todo éste proceso se ha efectuado con la versión 5 de Drupal y puede diferir algo con otras versiones.

  1. El primer paso es bajar con nuestro gestor de FTP favorito todos los archivos de nuestro sitio drupal, incluido el .htaccess (ojo con ésto ya que normalmente es un archivo oculto y se nos puede pasar por alto, para que se vea por ejemplo en el Filezilla ir a Vista --> Mostrar archivos ocultos), bien, ponemos todos los archivos a buen recaudo en nuestro disco duro y fíjate bien donde los pones, se ordenado y create una carpeta para tal fin y no dejes los archivos desperdigados por cualquier sitio.
  2. Ahora vamos a realizar una copia de seguridad (bakup) de la base de datos, hay varias formas y una de ellas es a través del PhpMyadmin, entramos a nuestro panel de control de nuestro hosting (cPanel normalmente) y hacemos clic en el icono del PhpMyAdmin, seleccionamos la base de datos en cuestión en la parte izquierda.
  3. Seguimos en el PhpMyAdmin, una vez seleccionada la base de datos hacemos clic en la pestaña Exportar y marcamos las opciones:
    • SQL
    • Estructura
    • Add DROP Table
    • Add If No Exists
    • Añadir el valor auto-increment
    • Usar backquotes...
    • Datos
    • Usar hexadecimal
    • En tipo de exprtación: INSERT
    • Enviar
    • Comprimido en gzip

    y damos a "Continuar" para que descargar el archivo resultante, muchas de las opciones mencionadas ya están marcadas por defecto y pueden variar si es una versión diferente a la que yo he usado

  4. Ahora ya toca subir todos los archivos al nuevo servidor ¿te acuerdas donde los dejaste?
  5. En nuestro Cpanel creamos una base de datos vacia (como cuando instalamos un drupal desde cero), le ponemos el mismo nombre y contraseña que tenia la anterior simplemente parar ahorrarnos cambios, puedes poner otro nombre y contraseña si quieres.
  6. Desde el PhpMyAdmin Importamos la base de datos, es decir, cargamos la copia de seguridad que hemos creado anteriormente, para ello simplemente le damos a la pestaña Importar y marcamos la ruta a nuestro disco duro donde hemos guardado la copia.
  7. Ahora tenemos que editar el archivo Setting.php, yo suelo hacerlo directamente desde el gestor Filezilla pero puedes hacerlo editando el setting.php que tenemos en nuestro disco duro y luego subirlo al servidor, el archivo setting.php se encuentra en Sites --> Default --> Setting.php, para editarlo uso el PHP Designer que también es gratuito.
    Cuando digo que lo editemos es para cambiar, si es necesario, la ruta donde le indicamos a Drupal el nombre del servidor, el nombre de la base de datos, el usuario y la contraseña, ésto es necesario para que el drupal en el nuevo servidor conecte con la base de datos:
    $db_url = 'mysql://username:password@localhost/databasename';
  8. Abrimos el navegador y ponemos la direrección de nuestro sitio seguido de update.php:
    http://www.miDominio.com/update.php
    éste paso no es necesario realmente pero me gusta hacerlo para comprobar que conecta bien con la base de datos.
    Al realizar éste paso es muy probable que te salga un error ya que no tendrás permisos para acceder al archivo update.php, hay que editarlo y poner el TRUE a FALSE, restablecer posteriormente obligatoriamente por seguridad.

Ya está todo y debe funcionar correctamente, solo comentar que en una ocasión se me olvidó, como dije al principio, subir el .htacces y la portada (index) se me habría correctamente pero al intentar acceder al cualquier página interior me daba error 404 (página no encontrada), era debido a que en el anterior server tenía las Url's limpias, subiendo de nuevo el htaccess se solucionó, pero te puedes encontrar con el problema de que el nuevo servidor no acepte las url's limpias y tendras que acceder a la administración del sitio para desconectarlas, para poder hacerlo tendras que marcar las url's "sucias" de tal manera que para entrar a cambiarlas tedrás que poner:
http://localhost/drupal/?q=admin/settings/clean-urls

Dejo los comentarios abiertos para cualquier duda.

Categorías: 
Temática: 
Nivel: 

Comentarios

hola amigos,

Pero os artigos no aparecem. Onde estou errando?

Los artigos no aparecen por un tema de .htaccess o bien porque el backup no se hizo bien, busca en tú BBDD la tabla node_revisions y observa si estan los artigos.

Salud!!!

Que tal bro,

Espero puedas auxiliarme, te cuento, tengo una web con el tema Seopotion dentro de un servidor con su dominio, eh agregado un nuevo dominio dentro del mismo servidor, y para ahorrarme la instalacion de drupal en este nuevo dominio, exporte toda la base de datos y los archivos de mi primer dominio, con la idea de ahorrarme tiempo y editar a mi gusto el nuevo dominio, pero cuando muevo algo en un dominio tambien se mueve en el otro, si elimino algo en uno, tambien se elimina en el otro, y no se a que se deba, porque tienen diferente base de datos, y diferente dominio, ojala puedas ayudarme bro Muchas gracias!!!

El proceso no es correcto, si tu copias los archivos de un dominio a otro sin hacer instalación, las rutas a la base de datos son las predefinidas en la anterior instalación y por tanto no puede funcionar bien, déjate de inventos raros y haz una nueva instalación de drupal y en todo caso luego importas los datos de la otra base.
Por otro lado están los perfiles de instalación, se trata de hacer un perfil de una instalación base que luego puedes usar en las demás instalaciones, pero aún no he practicado con el tema, puede que cuando lo tenga claro haga un manual al respecto.
un saludo.

Hola muchachos, yo tengo un problema en lo referente a la importacion de la base de datos en PhpMyAdmin.
Cuando la importo en el nuevo servidor, no se importan todas las tablas, concretamente solo 20 de las 99 que tengo.
No se porque pero sospecho que puede ser debido al tamaño maximo que te permite importar PhpMyAdmin y que en
mi caso es de 2,048kb. Si alguien sabe a que es debido le agradeceria la ayuda, y si es por el motivo que he comentado
le agradeceria que me indicase como canviar ese tamaño maximo.

Hola, lógicamente si el tamaño de la base de datos es mayor que lo que te permite el phpMyAdmin, se te quedará en el camino...
Para aumentar el tamaño permitido tienes que editar el php.ini, solo en caso de que tengas acceso a ese archivo, si es en un servidor remoto no podrás:
éstas son las lineas que hay que buscar en el archivo php.ini y editarlas:
post_max_size
upload_max_filesize

Otra solución puede ser la que comento en éste comentario:
http://www.educasitio.com/wampserver#comment-739

El problema es el siguiente cuando tienes una base de dats mayor a 2mb el PHPmyadmin no sooporta hacer una importacion de tan grande informacion asi que tienes q hacer es lo siguente:

crea una exportacion de tu base de datos (te ecomiendo que hagas de dos tipos .sql y .sql.gz para que tengas mejor seguridad de tu informacion)

despues dentro de el archivo php.ini que esta alojado en /etc/php.ini

modifica los sig valores

memory_limit = 128M asi viene por default asi dejala esa no es tanto problema.
post_max_size = 2M cambialo a lo q requieras. ejm. post_max_size = 20M
upload_max_filesize = 2M cambialo como en este caso upload_max_filesize = 20M

y guarda los cambios . sal y reinnicia tu httpd y ya podras importar bases de datos mas grandes de 1mb.

recuerda q tienes q eliminar las tablas anteriores pra poder hacer un restore adecuado y seguro.

la siguinete solucion es partir tu base de datos.

Excelente, me ha parecido de mucho ayuda pues tenia muchas dudas como cambiar de servidor una pagina en Drupal, y pues tuve el mismo problema, al olvidarme de subir el .htaccess ningún link me funcionaba solo la pagina principal... saludos y buen dia.

la info me pareció exc, mi pregunta es: esta info también aplica cuando se esta trabajando en un servidor local y se quiere hacer el pase a un servidor web en otra parte (proveedor de web-hosting)

gracias x la info!

Pues sí, el proceso es el mismo.

Hola, Salvador!

¿Cómo resuelves el problema de los archivos e imágenes dentro del directorio sites/default/files?

Como Drupal crea la carpeta como propiedad del Apache, si restauras los archivos de tu instalación de Drupal, no se restaurarà correctamente el propietario y cuando Drupal intente almacenar algo ahí puede decir que no puede.

Por otra parte, si haces una instalación limpia de Drupal y simplemente pretendes restaurar los archivos en files, posiblemente te diga que no tienes permiso.

Para mi no es problema, porque tengo acceso de root a mi servidor, pero en hostings compartidos puede ser un verdadero latazo. ¿Tienes algún truco para eso?

Saludos,

--
Ofimática y software libre
¡Locos por Drupal!

Realmente no se exactamente a que te refieres :)
nunca he detectado el problema que comentas, tendré que investigarlo.

tras exportar e importar una base de datos en la version 6. no me muestra los comentarios.
Alguien sabe por que?

Hola , estoy pasando mi sitio hecho en drupal 6 a otro servidor y tengo el siguiente problema por si alguien m puede ayudar.
Luego de haber realizado el bakup de la BD del sitio y haber copiado el sitio para el otro servdidor , hasta ahi todo bien , pero cuando me voy a logear en el sitio en el nuevo servidor , el mismo me redirecciona para la pagina del phpmyadmin , no se a que se debe , pues tiene la misma BD , el mismo usuario y password de la BD......
Gracias de antemano para el que me pueda ayudar...
Alexey...

¿Y el servidor? es el mismo?
la mayoria son localhost pero otros no, como 1and1

si el servidor es el mismo estoy utilizando el wamp server ...

Saludos.

Creí que te referías a un servidor remoto, a ver... explícame, tenías una web en wampserver y la quieres traspasar a otro wampserver?? ¿en otro equipo?, por favor, explícanos detalladamente el problema.

Pues si , eso mismo es lo que quiero hacer , tenia la Web en un equipo con servidor wamp y la quiero pasar para otro equipo con el mismo tipo de servidor , solo quiero pasarla de equipo . Pero le hago el script a la BD y copio la web para el otro equipo , pero cuando me logueo y la web hace algun submit , la misma me redirecciona para la pagina de phpmyadmin...
Saludos...

¿cómo haces la copia de seguridad de la base de datos?

simplemente exportando la bd , cuando le das exportar , marcas la opcion de comprimido con zip , y exportar el script , asi es como creo el bakup de la BD. Trabajo con MySql

Realmente es muy estraño, ésta opración la hago continuamente sin problemas, aunque en la mayoría de los casos lo hago traspasando desde un servidor remoto a uno local, pero el método es el mismo:

  1. Exporto la base desde phpMyAdmin
  2. Traspaso todos los archivos del sitio
  3. Creo una base de datos nueva en el nuevo servidor local desde phpMyadmin
  4. Importo la base de datos a la nueva desde phpMyadmin o con BigDump si es muy grande.
  5. Cambio las rutas de acceso a la base de datos desde el archivo setting de drupal.

Es importante una cosa, si tienes activadas las url limpias en el anterior servidor hay que hacer lo mismo en el nuevo:
Activar url limpias en wampserver

disculpen al momento q borro la cahe de mi sitio se va a cero todo no me muesta nada y tengo q volver a restaurar la base de datos y todo eso podrian ayudarme sta ocn drupal y mysql gracias.

Me sirve este procedimiento para migrar la base de datos MySql de la version Drupal 4.4 a la version 5.19?
Alguien sabe como?

Es parecido pero No es igual el procedimiento, cambiar de versión es más arduo y complicado, no tengo experiencia en cambiar de la versión 4 a la 5, peri si lo he realizado desde la versión 5 a la 6 de Drupal, en breve crearé un post con todo el proceso, eso sí, siempre hay que hacer primero la prueba en local por que así veremos si hay algún problema, osea que traspasas tu sitio a un servidor en local (yo uso wampserver, hay información en éste sitio) y en local haces la prueba de traspaso de versión.

Mil gracias, quedo en espera de tu publicación.
saludos!!

Tengo un problema y es que quiero pasar la página de mi portátil al PC. Pero entro en phpMyAdmin para exportar la base de datos y resulta que no hay ninguna base de datos, mientras que la página está funcionando correctamente. ¿Cómo puedo pasarla al PC? (Por qué supongo que no se podrá hacer pasando los ficheros a pelo).

Muchas gracias.

Pero ¿con que has realizado tu página?¿con algún CMS en concreto?¿en HTML puro y duro?...no sabes si has utilizado base de datos???

Instalé Drupal con EasyPhp 2..., siguiendo los pasos de drupal.org.es. Ahí cree una base de datos mysql con el prefijo drupal_ para las tablas. Las tablas están creadas y parece que todo va bien, pues creo comentarios, usuario, etc.

Pero cuando ahora he ido a hacer la exportación de la base de datos en phpMyAdmin de EasyPhp, no hay ninguna base de datos Ô_Ô.

Hace mucho tiempo que no uso el easyPHP pero tienes que poder ver la base de datos desde el PhpMyAdmin, mira a la izquierda, es posible que tengas un combo para desplegar las bases de datos, tiene que estar ahí por fuerza.

Si eso se supone que tenía que pasar pero el mensaje es "No hay bases de datos".

Hola, esta muy bueno el tutorial, creo que sigue estando como "portada" ya que es del 2007 - muy útil muy bueno....
Te comento mi problema: segui todos los pasos. ahora puedo ingresar la sitio pero no a la pagina de inicio ya que me pone lo de los archivos cgbin ""Great Success ! Apache is working on your cPanel® and WHM™ Server"" etc.... solo puedo ingresar poniendo /blog o /portafolio lo que sea... porque la pagina de inico no la muestra!?¿

Donde has instalado Drupal? ¿en un directorio o en la raiz?

Buenas, estoy aprendido drupal. Y bueno, justo mi problema va con el problema que tuviste tu al final del POST.

Ya cambie de servidor y solo me abre el Index.php. Ahora, el .htaccess lo tengo enrealidad. Tengo todos los archivos.

Pero por lo que eh notado parece que las URL's no estan actualizadas (Creo..) Mira te doy un ejemplo:

La pagina esta en la portada, entonces hay un enlace que me sirve para crear un cuenta de usuario. Al hacerle click me da una URL: "localhost/carpeta1/users/register". Sin embargo, al ver los archivos que descarge del sitio (Te aseguro que tengo todos los archivos) no encuentro la carpeta "users".

Eso es lo que me confunde, las url's me mandan a sitios que no hay en la carpeta. A que se debe eso?

Reitero que el sitio en DRUPAL ya corre desde Localhost pero solo habre la portada

Que servidor local estás usando???

Hola,

He configurado correctamente drupal en mi servidor local xampp, pero al migrarlo al servidor de prueba del cliente, los vinculos creados para el menu principal siguen apareciendo con ruta http://localhost/drupal/servicios dejando la dirección donde estaba en mi servidor de pruebas local, como hago para que los vinculos creados para el menu y todos los views queden con la nueva dirección del servidor http://subdominioprueba.micliente.com.

Gracias.

En espera de tu respuesta para solucionar este inconveniente. gracias.

la migración la realice subiendo drupal al servidor, instalando desde cero y luego actualizando la base de datos desde phpmyadmin, reemplazando todo el contenido por mi base de datos local.

Con el Xampp nunca lo he probado, pero con el Wamp siempre me ha funcionado.