Como cambiar la url de un archivo de respaldo de wordpress

Hace mucho no me había tocado migrar un sitio web hecho en wordpress, y por lo general esto no es muy difícil; por lo general saco un respaldo de la base de datos usando mysqldump, lo abro en algún editor de texto y reemplazo la url anterior por la nueva, antes de subir el respaldo a la nueva base de datos. Pero esta vez el archivo era tan grande que no lo podía abrir en un editor de texto. Una opción era sacar respaldo solo de la tabla de configuración de wordpress, editarla y volverla a subir, pero llegue a una mejor solución:

 UPDATE wp_options SET option_value = replace(option_value, 'http://url-vieja', 'http://url-nueva');

Con esta sentencia SQL cambiamos todas las referencias de la url anterior a la nueva sin necesidad de editar el archivo .sql, de esta misma forma pueden reemplazar cualquier llamada que se encuentre en otras tablas como posts o sliders. Espero esto les ayude aunque sea a ahorrar un par de minutos🙂.

Como configurar Flash Develop en windows y compilar proyectos AIR 15.0 para android

Este es un tutorial para instalar todos los componentes necesarios y configurar FlashDevelop para compilar proyectos AIR 15.0 para ios y android. Lo primero es descargar todos los archivos necesarios (las versiones que se mencionan son las más recientes a la fecha de la publicación de este artículo):

Cuando tengas todos los archivos, empezaremos la instalación.

Adobe Flex SDK

  1. Descomprime el archivo flex_sdk_4.6.zip en una ruta de tu preferencia. Por cuestiones de la explicación, yo usaré la ruta: “C:\path\to\flex-sdk_15\“, tu debes cambiar esto por la ruta real de tu carpeta.
  2. Originalmente la versión 4.6 de Flex SDK viene con AIR SDK 3.1, asi que vamos a actualizarlo a la versión 15.0 que nos hemos descargado. Para esto copiamos los archivos dentro de AIRSDK_Compiler.zip en la raiz de “C:\path\to\flex-sdk_15\” y le decimos que reemplaze cualquier archivo duplicado que encuentre.
  3. Ahora solo falta agregar el Flash Player, y lo haremos en dos pasos. Primero mueve el archivo playerglobal15_0.swc a la carpeta “C:\path\to\flex-sdk_15\frameworks\libs\player\11.2\“, si la carpeta no existe la creas. Renombra el archivo a playerglobal.swc y listo.
  4. Copiamos el archivo flashplayer_15_sa_debug en la carpeta “C:\path\to\flex-sdk_15\runtimes\player\11.2\win\“, si la carpeta no existe la creas.

Con estos pasos, ya tenemos configurado Flex SDK 4.6 con Adobe Air 15.0 listo para compilar nuestras aplicaciones. Lo siguiente será configurar Flash Develop para que trabaje con este SDK.

FlashDevelop

  1.  Inicia FlashDevelop y ve al menu Tools>Program Settings…, se abrira un dialogo con todas las configuraciones de los plugins de  FlashDevelop.
  2. Selecciona el plugin AS3Context y busca la variable Installed Flex SDKs, agrega una nueva entrada en la variable y en la parte que pide el path (en la seccion location) busca la carpeta “C:\path\to\flex-sdk_15\“. El resto de valores se configuraran solos.
  3. Selecciona el plugin FlashViewer y en la variable External Player Path busca el archivo: “C:\path\to\flex-sdk_15\runtimes\player\11.2\win\FlashPlayerDebugger.exe“. Cerramos la ventana de settings.
  4. Vamos a el menu Tools>Flash Tools>Documentation Generator.. en la parte de Settings buscamos la opcion ASDoc location, y buscamos la carpeta “C:\path\to\flex-sdk_15\bin“. Guardamos los cambios y cerramos.

Ahora Flash Develop va a poder compilar con Adobe AIR 15.0, pero aún falta decirle a nuestros proyectos que usen el nuevo SDK que hemos configurado.

PROYECTO

  1. Inicia un nuevo proyecto en FlashDevelop. Project>New Project y selecciona la opcion AIR Mobile AS3 App. llena los datos y crea el proyecto.
  2. Ve al menú Project>Properties y en la pestaña SDK selecciona el SDK que diga: Flex 4.6.0, AIR 15.0.
  3. Dentro del proyecto, busca el archivo “bat\SetupSDK.bat” y edita las variables FLEX_SDK y ANDROID_SDK, en mi caso quedaron así:
    :: Path to Flex SDK
    set FLEX_SDK=C:\path\to\flex-sdk_15
    set AUTO_INSTALL_IOS=yes
    
    :: Path to Android SDK
    set ANDROID_SDK=C:\Program Files (x86)\Android\android-sdk
  4. Prueba tu proyecto, y si todo ha ido bien, te mostrar la pantalla de AIR en tamaño smartphone.

 

Referencias:

http://www.flashdevelop.org/wikidocs/index.php?title=Configuration

http://www.toxicfork.com/42/configuring-flashdevelop-for-flash-version-11-2

Configurar laravel dentro de un wordpress en go daddy

Me ha pasado que instalé un sitio hecho en laravel dentro de una carpeta en el root de un sitio hecho con wordpress, y bueno, laravel no funcionaba. El problema se ocasiona por las reglas .htaccess de wordpres, estas reglas están tratan de parsear las rutas de laravel con el index.php de wordpress. Me ha tomado un tiempo poner a funcionar el laravel con las soluciones que encontré en internet, así que dejo anotado el procedimiento que seguí por si a alguien le ayuda en el futuro.

Editar el .htaccess de laravel

En internet todos hablan de editar el .htaccess de laravel, pero yo no sabia exactamente como. Lo que deben hacer es abrir el .htaccess que se encuentra en la carpeta public de laravel (si por alguna razón no lo tienen, pueden descargarlo desde aquí: https://github.com/laravel/laravel/blob/master/public/.htaccess) y en la linea que dice:

RewriteRule ^ index.php [L]

Añades la ruta completa a tu carpeta public. te debe quedar algo como:

RewriteRule ^ /ruta/hasta/laravel/public/index.php [L]

El archivo .htaccess puede variar un poco dependiendo de la versión de laravel que estes usando, pero lo importante es llegar a la linea que contiene la referencia a index.php y cambiar eso por /ruta/hasta/laravel/public/index.php para que sobreescriba las reglas de wordpress. a la final el archivo .htaccess debería lucir mas o menos como esto:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ /ruta/hasta/laravel/public/index.php [L]
</IfModule>

Actualizamos el .htaccess en el hosting de goDaddy y ya podemos entrar a http://tudominio.com/ruta/hasta/laravel/public/ para usar la aplicación. Si queremos evitar el uso de “public/” en la URL de nuestro sitio, para pasar de  “http://tudominio.com/ruta/hasta/laravel/public/ ”  a  algo como “http://tudominio.com/ruta/hasta/laravel/&#8221; tendremos que hacer un paso adicional. Vamos a crear un .htaccess adicional en la carpeta de laravel ( al mismo nivel que la carpeta app/ y public/ )  y en ese archivo pondremos las siguientes reglas:

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_URI} ^/trabajos/mansion
    RewriteRule ^ /trabajos/mansion/public/index.php [L]
</IfModule>

Lo grabamos y lo subimos en la carpeta de laravel, y ahora podemos acceder a nuestra aplicación sin necesidad de escribir “public” en el url.

Estas reglas deberían funcionar en otro tipo de situaciones y no solo para poder instalar un proyecto de laravel dentro de una instalación de wordpress. Sobre todo el ultimo que es más general y sirve para evitar el uso de “public” en las URLs de laravel. Espero esto les sirva y si tienen una mejor solución dejame saber en los comentarios.

Problemas al instalar paquetes npm de forma global en linux (ubuntu)

Hoy he estado configurando node en una instalacion nueva de linux y al instalar grunt-cli me ha dado un error parecido a este:

error_npm_permisos

En el mensaje de error nos sugiere ejecutar el comando como root, y aunque esto soluciona el problema, no es lo mas recomendado. Una forma de solucionar el problema, sin comprometer la seguridad del equipo, es con los siguientes comandos:

npm config set prefix "/usr/local"
sudo chown -R $USER /usr/local

el primer comando le dice a npm que no utilize "/usr/lib/node_modules/" sino que redireccione las instalaciones a la carpeta "/usr/local". El segundo comando añade al usuario actual como dueño de la carpeta "usr/local" para que asi tengas control total sobre los archivos. Con eso hemos solucionado el problema de las instalaciones globales de npm, existen otras formas de solucionarlo como por ejemplo ejecutar la instalacion como root o añadir el parametro --no-bin-links al comando npm, pero no confio en la seguridad de esos metodos.

fuentes:
http://stackoverflow.com/questions/13527889/global-installation-of-grunt-js-fails
http://howtonode.org/introduction-to-npm

Como instalar tus templates de joomla 1.5 en joomla 1.6

Comparto un pequeño tip que descubrí hoy, en joomla 1.5 cuando creabas un template bastaba con colocarlo en la carpeta de templates y automáticamente el administrador lo reconocía y lo podías usar. Sin embargo en joomla 1.6 eso no ocurre… la solución es sencilla:

  1. copias la carpeta del template en /templates/ (dentro de la carpeta donde instalaste joomla, lo que se hace normalmente)
  2. vas al administrador del sitio
  3. vas a: Extensions > Extensions Manager
  4. seleccionas la opcion discover
  5. y en la barra de herramientas hay una opcion llamada Discover, le das click
  6. ahora debe aparacerte todos los templates, modulos, plugins o componentes que no estan formalmente instalados, seleccionas el template que deseas instalar y le das clik al boton  install de la barra de herramientas.
  7. Listo! ya tienes tu template instalado y listo para usar

Activar tarjeta wireless broadcom 4311 en ubuntu natty 11.04

Bueno, Me ha tomado un buen rato poder activar la tarjeta de mi antigua laptop con el nuevo ubuntu 11.04… estuve dando vueltas por muchos foros en la red pero ninguna de las soluciones que daban me funciono. En mi caso luego de realizar una instalacion limpia del sistema me di cuenta que el wireless no funcionaba, en las ediciones anteriores el problema se solucionaba instalando los controladores restringidos, pero esta vez no dio resultados… una vez instalados la tarjeta se inhabilitaba y la opcion de redes inalambricas desaparecia del menu. La solucion fue sencilla:

  • Deshabilitar el controlador restringido de la wireless (controladores restringidos > seleccionas el de wireless > desactivar)
  • Abrir synaptic.
  • Verifica que el siguiente paquete NO este instalado: bcmwl-kernel-source, si esta instalado lo desinstalas.
  • Instala estos paquetes: firmware-b43-installer y b43-fwcutter
  • Reinicia la computadora y listo!

Como quitar programas en el menu contextual de los archivos en linux

Bueno el titulo quedo largo y confuso :S , pero lo que voy a explicar es como editar las opciones de “abrir con..” que aparecen en el menú contextual cuando das click derecho sobre un archivo en linux… en mi caso, cuando daba click derecho sobre un archivo de texto me aparecía entre las opciones abrir con notepad (vía wine), esta claro que no era una opción que yo utilizara y no me gustaba que apareciera, así que investigando un poco di con la solución.

La magia esta en un archivo llamado mimeinfo.cache, que se encuentra ubicado en: /home/tu-usuario/.local/share/applications/, para editarlo puedes correr un comando parecido a este:

gedit /home/tu-usuario/.local/share/applications/mimeinfo.cache

Asegurare de cambiar tu-usuario por el nombre de usuario, cuando se abre gedit veras un listado parecido a este:

application/x-java-jnlp-file=wine-extension-jnlp.desktop

application/x-wine-extension-WSF=wine-extension-WSF.desktop

application/x-wine-extension-WSH=wine-extension-WSH.desktop

application/xslt+xml=wine-extension-xsl.desktop

text/scriptlet=wine-extension-sct.desktop;wine-extension-wsc.desktop;

application/javascript=wine-extension-js.desktop

text/directory=wine-extension-vcf.desktop

application/x-wine-extension-3DC=wine-extension-3DC.desktop

application/pkcs7-mime=wine-extension-p7c.desktop

text/plain=wine-extension-txt.desktop; wine-ini.desktop;

Donde al inicio de cada linea esta el tipo de archivo seguido de un signo igual (=), y al final todos los programas con los que se puede abrir. En mi caso me dirigí a la entrada que decía text/plain y le quite la parte que decía wine-extension-txt.desktop;… y asunto arreglado, la opción de notepad ya no aparece al dar click derecho sobre un archivo de texto.

Globalmente

Si quisieras hacer lo mismo pero de forma global para todos los usuarios, puedes editar el archivo mimeinfo.cache que esta en /usr/share/applications/

sudo gedit /usr/share/applications/mimeinfo.cache

esto edita las entradas que por defecto se crean en linux y afecta a todos los usuarios por lo que mi sugerencias es que trates de no cambiarlo, si por algún motivo necesitas hacerlo siempre es bueno sacar un respaldo por si las cosas no salen según lo planeado :p.