{"id":147,"date":"2004-07-02T17:32:08","date_gmt":"2004-07-02T15:32:08","guid":{"rendered":"http:\/\/www.marblestation.com\/blog\/?p=147"},"modified":"2012-04-26T19:06:39","modified_gmt":"2012-04-26T17:06:39","slug":"migracin-drupal-mysql-apache-bugzilla-wordpress","status":"publish","type":"post","link":"https:\/\/www.marblestation.com\/?p=147","title":{"rendered":"Migraci\u00f3n drupal, mysql, apache, bugzilla, wordpress&#8230;"},"content":{"rendered":"<p>Esta semana ha sido dura, hemos migrado muchas aplicaciones en los servidores de <a href=\"http:\/\/www.gpltarragona.org\">GPL Tarragona<\/a>:<\/p>\n<p>&#8211; Apache 2<br \/>\n&#8211; MySQL 4<br \/>\n&#8211; Drupal 4.4.1<br \/>\n&#8211; Bugzilla<\/p>\n<p>Han ido surgiendo problemas pero los hemos podido ir arreglando, sobretodo los m\u00e1s cr\u00edticos. Aun quedan muchas cosas por pulir, pero lo m\u00e1s dificil ya ha pasado.<\/p>\n<p>La compilaci\u00f3n de las nuevas versiones ha sido m\u00e1s o menos sencillo, algun peque\u00f1o problema con mod_php pero Joni lo arregl\u00f3 r\u00e1pido. Cuando teniamos todo compilado, era la hora de actualizar drupal&#8230; la actualizaci\u00f3n de la base de datos fue sorprendentemente perfecta, per\u00f2 los problemas llegaron con los charsets&#8230; UTF-8 vs ISO-8859-15. La informaci\u00f3n la tenemos toda en ISO pero drupal la cogia como UTF y entonces los acentos se veian fatal, la soluci\u00f3n fue cambiar el c\u00f3digo fuente de drupal, concretamente  en &#8220;include\/common.inc&#8221;, linea 1260:<\/p>\n<pre>\r\n\/\/header(\"Content-Type: text\/html; charset=utf-8\");\r\nheader(\"Content-Type: text\/html; charset=iso-8859-1\");\r\n<\/pre>\n<p><b>[Actualizaci\u00f3n]<\/b> Steven Wittens me ha hecho saber por e-mail que la soluci\u00f3n que aqui propongo no es buena ya que hace que se &#8220;rompan&#8221; otras funcionalidades de Drupal, por ejemplo la generaci\u00f3n de RSS inv\u00e1lidos o envio de e-mails tambi\u00e9n inv\u00e1lidos. M\u00e1s info en este <a href=\"http:\/\/drupal.org\/book\/view\/8408\">post<\/a>. Muy probablemente miraremos que hacer en <a href=\"http:\/\/www.gpltarragona.org\">GPL Tarragona<\/a>, como ahora sabemos que es posible hacer que haya webs con un charset y otras con otro (es decir, no tiene pq estar todo el Apache con un \u00fanico charset)&#8230; quiz\u00e1s lo correcto seria migrar todo el Drupal a UTF-8 y por tanto migrar tambi\u00e9n los datos de la MySQL. <b>[\/Actualizaci\u00f3n]<\/b><\/p>\n<p>Y tener apache configurado para que por defecto muestre ISO. En casos puntuales como el <a href=\"http:\/\/planet.gpltarragona.org\">planet<\/a> si necesitavamos que se tratase como UTF ya que dicha aplicaci\u00f3n trabaja integramente con ese charset, as\u00ed que la soluci\u00f3n estuvo en a\u00f1adir un .htaccess:<\/p>\n<pre>\r\nAddDefaultCharset UTF-8\r\n<\/pre>\n<p>De esta forma, utilizando .htaccess podemos decir que directorios o subdominios utilice UTF-8 en lugar de ISO-8859-15 (puesto por defecto en todo apache2 ya que se indica en \/etc\/apache2\/conf\/commonapache2.conf).<\/p>\n<p>Tambi\u00e9n queriamos que el dominio gplurv.org redirigiese a gpltarragona.org, sobretodo para la p\u00e1gina principal (la del drupal) as\u00ed que para conseguir que este redireccionamiento fuese transparente se ha configurado apache para que tanto con gpltarragona.org como con gplurv.org se acceda a la misma web (como vereis esta todo configurado como dominios virtuales):<\/p>\n<pre>\r\nNameVirtualHost *:80\r\n&#60;VirtualHost *:80>\r\n   ServerName gpltarragona.org\r\n   ServerAlias www.gpltarragona.org www.gplurv.org gplurv.org\r\n   DocumentRoot \/var\/www\/gpltarragona.org\/htdocs\/\r\n&#60;\/VirtualHost>\r\n<\/pre>\n<p>Y se ha modificado el index.php del drupal para que al inicio del mismo contenga:<\/p>\n<pre>\r\nif (($HTTP_HOST==\"gplurv.org\") || ($HTTP_HOST==\"www.gplurv.org\") ||\r\n($HTTP_HOST==\"gpltarragona.org\")){\r\n    header(\"HTTP\/1.1 303 REDIRECT\");\r\n    header(\"Location: http:\/\/www.gpltarragona.org$REQUEST_URIrn\");\r\n    return;\r\n}\r\n<\/pre>\n<p>De esta forma se consiguen redirecciones transparentes al nuevo dominio sin perder links viejos del drupal.<\/p>\n<p>Tambi\u00e9n tuvimos problemas con el tema gplito de drupal, pero Joni trabaj\u00f3 en adaptarlo a la nueva versi\u00f3n y ya podemos volver a disfrutar de su obra \ud83d\ude09<\/p>\n<p>Aun queda trabajo por hacer, hay links rotos ya que hemos separado drupal de todas las p\u00e1ginas que teniamos extras como el <a href=\"http:\/\/wiki.gpltarragona.org\">wiki<\/a>. Hay que arreglarlo aunque yo voy a estar unas semanas con poco acceso a Internet, pronto me quitaran RDSI y tendre que esperar a que me llege el ADSL (si, por fin una conexi\u00f3n algo m\u00e1s decente :P).<\/p>\n<p>Como ha sido una semana de migraciones hoy he dicho, venga vamos a actualizar mi blog a wodpress 1.2!! Y madre mia, me ha sorprendido lo r\u00e1pido que ha sido. Ejecutar un upgrade y mantener la configuraci\u00f3n antigua y el index.php. Facilisimo y sin problemas&#8230; fant\u00e1stico \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta semana ha sido dura, hemos migrado muchas aplicaciones en los servidores de GPL Tarragona: &#8211; Apache 2 &#8211; MySQL 4 &#8211; Drupal 4.4.1 &#8211; Bugzilla Han ido surgiendo problemas pero los hemos podido ir arreglando, sobretodo los m\u00e1s cr\u00edticos. Aun quedan muchas cosas por pulir, pero lo m\u00e1s dificil ya ha pasado. La compilaci\u00f3n &hellip; <a href=\"https:\/\/www.marblestation.com\/?p=147\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Migraci\u00f3n drupal, mysql, apache, bugzilla, wordpress&#8230;<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,6],"tags":[],"class_list":["post-147","post","type-post","status-publish","format-standard","hentry","category-espanyol","category-tecnologia"],"_links":{"self":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":1,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":1773,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions\/1773"}],"wp:attachment":[{"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.marblestation.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}