Desarrollando Aplicaciones Web con PHP7.0 y Docker

Docker es un software de manejo de contenedores, mientras que PHP7.0 es la última versión de este lenguaje de programación que incluye mejoras que hacen que la velocidad de su funcionamiento sea 50% más veloz que su predecesor. En este tutorial crearemos un ambiente de desarrollo usando Docker con lo cual no tendremos que instalar ningún otro software ni librería para funcionar.

Origen: ctala/apache2_php7_awsebs – Docker Hub

Docker

Ya hace un tiempo que quería probar como funcionaba Docker para el desarrollo de aplicaciones para no tener que instalar todo nuevamente en mi máquina. Hace unos días ya llegó mi nueva laptop por lo que ya no tengo excusas para no trabajar y se me ocurrió la brillante idea de procastinar aprendiendo y creando imagenes de Docker en vez de iniciar directamente con lo que debía hacer. El resultado fue satisfactorio por lo que estoy muy contento, así que aprovecho de compartir no solo como desarrollar en PHP7.0 usando Docker, si no que además utilizaremos una imagen que creé para este cometido que incluye todo lo necesario para poder desarrollar sin problemas en PHP7.0, además de herramientas que hacen que el proceso sea más sencillo.

Prerequisitos :

  • Tener Docker ya instalado.
  • Los comandos que mostraré son en base a un HOST linux, lo que no quiere decir que la imagen que ocuparemos no funcione con otro HOST.

Leer más

Crear una Base de Datos MySQL remota para optimizar el rendimiento del sitio WordPress.

Cuando el sitio comienza a tener más tráfico tenemos que comenzar a pensar en como poder manejarlo. Lo más sencillo y lo que recomiendo es sacar la base de datos del servidor, en especial debido a que Mysql al no tener recursos suficientes simplemente deja de funcionar. Esto logra que cada servidor maneje su propia carga, además de ser el primer paso para tener un sitio con balanceador de carga.

En mi caso particular lancé un nuevo eCommerce con Woocommerce / WordPress en el cual no separé desde un inicio la BdD de datos debido a que pensé que el sitio tendría menos tráfico y carga asociada, me equivoqué, lo que es realmente bueno.

Sin embargo no puedo dejar que el eCommerce se caiga cada vez que tenga mucho tráfico, no sería muy agradable perder ventas por esto.

Este minitutorial está alojado en digital ocean, la verdad lo he probado hace un tiempo y funciona bastante bien. Sin embargo  se puede extrapolar para cualquier servidor linux, en mi caso Ububtu 14.04.

Entonces, lo que haremos :

  1. Crear un nuevo servidor ( Droplet ) al cual le instalaremos una base de datos Mysql.
  2. Instalar la base de datos Mysql.
  3. Configurar la BdD en modo seguro/ Producción.
  4. Crear un usuario / password para el acceso del sitio wordpress.
  5. ( Opcional ) – Configurar el firewall del servidor.

Leer más

Ubuntu 14.04 LTS + : Cambiar la zona horaria.

Para todos los que quieren cambiar la zona horaria con  CentOS, Ubuntu, Fedora, Debian para sus servidores.

Estaba acostumbrado a usar tzdata pero al parecer en las versiones más “recientes” no viene por defecto. Para poder hacer el cambio de la zona horaria  usaremos el comando timedatectl. Para esto necesitamos tener acceso a la máquina en donde queremos cambiar la configuración, puede ser físicamente o de manera virtual a través de una consola.

Leer más

Usando Linux y el portal de MiPyme del Sistema de Impuestos Internos.

GUÍA PARA INSTALAR EL CERTIFICADO DIGITAL LINUX UBUNTU

Uno de los problemas que había tenido para no migrar todos los computadores de Windows a Ubuntu era el no poder usar este último para poder generar las facturas electrónicas con el portal de MiPyme del Sistema de Impuestos Internos. Había estado ocupando Virtual Box para hacer esto personalmente ya que Windoes dejó hace muchos años de ser mi Sistema Operativo principal.

Hoy ingresé al portal del Sistema de Impuestos internos y “descubrí”  un mensaje que anteriormente no había hecho. “Para firmar el documento desde sus sistema operativo debe de subir la llave al servidor” o algo similar …

Leer más

MysqlPasswordReset – Cambiar la clave root de Mysql

Acabo de crear un servidor WordPress con on click deployment de Google y tuve el problema que la clave que me dieron de mysql para root no correspondía a la real.

El error que obtenía era el siguiente :

ERROR 1045: Access denied for user: '[email protected]' (Using 
password: YES)

Estos son simples pasos para cambiar la clave root de Mysql bajo un servidor linux si es que posees el error anteriormente mencionado.

Leer más

Oracle Java (JDK) 7 / 8 / 9 PPA en Ubuntu

Hace ya un tiempo que en Ubuntu no aparece en repositorios la versión de Oracle para Java. Hay algunas aplicaciones que no funcionan con la versión del OpenJDK por lo que agrego la forma como lo he estado haciendo últimamente para mis proyectos.

Si bien la instalación la puedo hacer a través del instalador que aparece en la web, este proceso es mucho más sencillo y veloz.

Leer más

Firewall usando UFW en un servidor Ubuntu /  Debian

Aprende como configurar un firewall usando UFW ( Uncomplicated Firewall ) en un servidor Ubuntu / Debian.

Soy de las personas que siempre a usado IPTables para configurar el firewall de un servidor, pero la verdad es que no lo se de memoria y siempre debo recordarlo al momento de realizarlo. Esto es debido a que no lo hago muy seguido y no es muy amigable.

UFW es una herramienta o frontend que agrega estas reglas al firewall de iptables de una manera sencillo y casi humana de entender, por lo que para mi ha sido genial debido a que puedo tener la fortaleza de iptables pero de una manera que es muy práctica y difícil de olvidar.

Leer más

Netbeans en Digital Ocean usando SSHFS y SFTP

Acá se explicará como montar un directorio a través de SSHFS y SFTP en un servidor DigitalOcean. Si bien el servidor es transversal, lo recomiendo para desarrollo debido al costo que este posee. La máquina cliente es un computador con Ubuntu y el servidor también.

La razón del no utilizar la conexión remota de netbeans es debido a que cuando se hacen cambios en el código remoto, estos no son cambiados automáticamente, lo que genera conflictos en el código si desarrollas en más de un lugar.

Si tienes la posibilidad de usar una herramienta de manejo de versiones como GIT lo recomiendo antes que esto.

Antes que todo asegurarse de tener un droplet ( maquina virtual de digitalocean ) funcionando con SSH. Este viene por defecto por lo cual no debería ser un problema.

Leer más