{"id":2360,"date":"2017-07-13T09:57:15","date_gmt":"2017-07-13T09:57:15","guid":{"rendered":"https:\/\/esferas.org\/msqlu\/?p=2360"},"modified":"2017-07-13T10:25:00","modified_gmt":"2017-07-13T10:25:00","slug":"actualizacion-manual-de-una-aplicacion-web","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2017\/07\/13\/actualizacion-manual-de-una-aplicacion-web\/","title":{"rendered":"Actualizaci\u00f3n manual de una aplicaci\u00f3n web"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:736,&quot;href&quot;:&quot;http:\\\/\\\/yourls.org&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260415151659\\\/https:\\\/\\\/yourls.org\\\/&quot;,&quot;redirect_href&quot;:&quot;https:\\\/\\\/yourls.org\\\/&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:737,&quot;href&quot;:&quot;http:\\\/\\\/www.linuxquestions.org\\\/questions\\\/linux-newbie-8\\\/extracting-tar-gz-files-in-current-directory-689243&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:738,&quot;href&quot;:&quot;https:\\\/\\\/serverfault.com\\\/questions\\\/59108\\\/how-to-compare-differences-between-directories-linux&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260415153230\\\/https:\\\/\\\/serverfault.com\\\/questions\\\/59108\\\/how-to-compare-differences-between-directories-linux&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>Hoy me he encontrado con el t\u00edpico caso de tener que actualizar una aplicaci\u00f3n web que no lo hace por s\u00ed misma.<\/p>\n<p>Una aventura que quiero compartir con mi yo del futuro.<\/p>\n<p><!--more--><\/p>\n<p>La aplicaci\u00f3n web de la que hablo es <a href=\"http:\/\/yourls.org\/\">YOURLS<\/a>, un acortador de direcciones web que llevo utilizando varios a\u00f1os, y que es m\u00e1s sencilla que el asa de un cubo. Le basta con situarse en un directorio concreto -para un servidor virtual como el que yo empleo- y con una configuraci\u00f3n m\u00ednima por parte del servidor web se pone en marcha.<\/p>\n<p>El caso es que hoy andaba toqueteando precisamente esa\u00a0 configuraci\u00f3n, y al probar el interfaz de administraci\u00f3n de este programa me he encontrado con el anuncio de que hac\u00eda falta una actualizaci\u00f3n.<\/p>\n<p style=\"padding-left: 30px;\">Yourls s\u00f3lo avisa, no hace nada m\u00e1s, aunque mirando el c\u00f3digo s\u00ed veo que si encuentra que la versi\u00f3n de la base de datos es inferior actualiza su estructura sin m\u00e1s intervenci\u00f3n. Punto para ella.<\/p>\n<p>Una vez que me he descargado la nueva versi\u00f3n en un archivo <em>tar<\/em> comprimido (extensi\u00f3n <code>.tgz<\/code> ) me he puesto a pensar en c\u00f3mo hacerlo para que en el futuro no tenga que recurrir a cosas raras en estos caso.<\/p>\n<p>Lo primero es instalar el nuevo contenido en el directorio de ejecuci\u00f3n del programa. Como no queremos que altere la configuraci\u00f3n actual y que el toqueteo en los dem\u00e1s sea m\u00ednimo he empleado la siguiente orden:<\/p>\n<pre class=\"lang:sh decode:true\">$ sudo tar -zxf \/tmp\/1.7.2.tgz --exclude config.php \\\r\n  --strip-components=1 -C \/var\/www\/html\/vm69.net\/\r\n$ sudo chown -R www-data.www-data \/var\/www\/html\/vm69.net\/\r\n<\/pre>\n<p>Los par\u00e1metros del programa tar sirven para lo siguiente:<\/p>\n<ul>\n<li><code>-zxf\u00a0<\/code> para descomprimir y extraer el contenido del archivo indicado.<\/li>\n<li><code>--exclude <\/code>para que no lo haga con el archivo que le decimos<\/li>\n<li><code>--strip-components=1<\/code> para que se salte el primer componente de cada archivo (en este caso ser\u00eda la carpeta <code>1.7.2<\/code> que prefija todo el contenido del tar).<\/li>\n<li><code>-C<\/code> para que cambie al directorio destino antes de extraer nada.<\/li>\n<\/ul>\n<p>Es un procedimiento muy espec\u00edfico para el tipo de empaquetado del programa, pero ya he visto que es mayor\u00eda los que distribuyen as\u00ed sus actualizaciones y, mira, para lo que cuesta apuntarlo aqu\u00ed lo hago.<\/p>\n<p>Por cierto, usar la nueva versi\u00f3n, despu\u00e9s, ha sido tan simple como recargar la p\u00e1gina.<\/p>\n<h3>Referencias<\/h3>\n<ul>\n<li><a href=\"http:\/\/www.linuxquestions.org\/questions\/linux-newbie-8\/extracting-tar-gz-files-in-current-directory-689243\/\"><strong>extracting .tar.gz files in current directory&#8230;<\/strong><\/a><\/li>\n<li><a href=\"https:\/\/serverfault.com\/questions\/59108\/how-to-compare-differences-between-directories-linux\">How to compare differences between directories (linux)<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hoy me he encontrado con el t\u00edpico caso de tener que actualizar una aplicaci\u00f3n web que no lo hace por s\u00ed misma. Una aventura que quiero compartir con mi yo del futuro.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[2],"tags":[18,44,716,717],"class_list":["post-2360","post","type-post","status-publish","format-standard","hentry","category-software","tag-administracion-de-sistemas","tag-servicios-web","tag-tar","tag-yourls"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=2360"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/2360\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=2360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=2360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=2360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}