Si estás leyendo este artículo, es muy posible que seas uno de los afortunados que deben de hacer la actualización del certificado de Transbank. Acá te contaré un poco más del por qué lo debes de hacer, y para que sirve.
Un Certificado Digital es el único medio que permite garantizar de manera técnica a una persona o institución a través de Internet. Se utiliza para que las instituciones, en este caso Transbank, puedan ofrecer servicios seguros a través de Internet, y en general tienen un tiempo de validez limitado.
WannaCrypt es un cyber attack que fue viralizado a más de 99 países a través de una vulnerabilidad de windows. En las últimas horas se han hecho virales muchos rumores sobre los efectos de este cyberataque, en especial debido a que ha afectado a bancos en #Chile. Dentro de estos rumores han salido personas pidiendo que … Leer más
Es el momento en que cambia la forma de recibir pagos para muchos comercios independientemente de que sistema de eCommerce o desarrollo estén utilizando, es el momento para prepararse y no tener problemas cuando el KCC deje de funcionar de manera completa.
El KCC, o kit de integración, ha sido la tecnología usada por transbank para hacer las transferencias electrónicas con tarjetas de crédito y débito desde ya hace muchos años ( no me atrevería a decir un número pero juro que son muchos !), además fue la razón del por qué cree el plugin gratuito de woocommerce cinco años atrás. Esta tecnología nos ha dado dolores de cabeza a muchos de nosotros, y si estás leyendo este post es posible que seas uno de ellos, pero también nos permitió recibir los pagos a través de internet.
Dejando la nostalgia de lado, estas son las fechas relacionadas al fin del funcionamiento del KCC.
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.
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.
Obteniendo la Imagen
Uno de los beneficios de trabajar con containers, es que podemos instalar uno de ellos en base a una imagen que ya tenga todo para llegar y utilizar. Uno de los problemas que tuve al inicio es que no entendí muy bien cual era la diferencia entre un contenedor y una imagen, lo que podemos resumir como que el contenedor es la visualización de la imagen que ocuparemos. » El contenedor es el que ocuparemos, mientras que la imagen genera el contenedor «.
Ejecutamos el siguiente comando para descargar la imagen que utilizaremos como base para el contenedor que tendrá nuestra aplicación web.
docker pull ctala/apache2_php7_awsebs
Con el comando anterior descargamos la imagen base. No importa cuantos contenedores creemos en base de esta imagen, esta imagen solo deberemos descargarla una vez.
Iniciando el contenedor.
La imagen anterior esta lista para ser utilizada y al momento de [generar el contenedor inicia el servidor web Apache de manera automática. En este caso solo debemos enfocarnos en iniciar el contenedor. Algo que vale la pena destacar es que si el contenedor es eliminado, todo el contenido se pierde. Debido a esto se montará la carpeta donde tenemos el código web desde la máquina HOST para no tener problemas.
El comando anterior ejecuta el contenedor como demonio por lo que no se eliminará si salimos, hace un puente entre el puerto 80 del contenedor y el puerto 80 de nuestro host ( Computador ) y monta la carpeta /MIREPO que tiene el repositorio local en la dirección web del servidor desde nuestra imagen llamada apache2_php7_awsebs.
Accediendo al contenedor.
Uno de los beneficios de Docker es que podemos acceder al contenedor como si fuera una máquina virtual. Para hacerlo simplemente listamos los contenedores que estén corriendo y «ejecutamos» una consola bash para poder acceder.
sudo docker ps
Contenedores Docker Activos
El comando anterior resulta en la lista de los contenedores activos con su respectivo ID y los puertos que está ocupando. En nuestro caso el puerto 80 del contenedor está relacionado con el puerto 80 de nuestra máquina host.
Ahora asumiendo que tenemos el resultado anterior, ingresaremos a la consola de esa máquina.
$ sudo docker exec -it 78764af8e071 bash
Con esto podemos instalar todo lo que nos haya faltado, utilizar las herramientas incluidas, o simplemente analizar los logs del sistema.
Otras Herramientas Incluidas.
Esta imagen no solo viene con PHP7.0 y Apache, también viene lista con :
Cliente Mysql.
Composer, para el manejo de las librerías de PHP.
EBS-CLI. Herramientas para la conexión con Elastic BeanStalk de Amazon.
Curl.
Git para el manejo de los repositorios.
Usando esta imagen puedes crear tantos contenedores como lo deseos o simplemente usar uno y cambiar la dirección desde donde se obtiene la información del repositorio.
Por mi parte estaré utilizando está imagen para el desarrollo de aplicaciones por lo que estaré modificándola a medida que sea necesario.
👉 ¿Te gustó este contenido? Hay más esperando por ti.
Cada semana, comparto aprendizajes y reflexiones que no encontrarás en ningún otro lugar. ¡Únete a la comunidad de más de 9,000 emprendedores que ya están avanzando!
Un túnel SSH consiste en una conexión segura creada a partir de una conexión SSH. En general puede asegurar cualquier transferencia o protocolo inseguro. Por ejemplo podríamos hacer una transferencia a través de FTP segura usando este tipo de túneles.
En este caso nuestro foco no será solo encriptar la comunicación con la base de datos, si no que será darle acceso a un computador, por ejemplo de escritorio, al servidor de base de datos a través de un servidor que tenga acceso a ella.
¿ Por que haremos esto ?
Si bien podríamos dar el acceso directamente a nuestro computador a través de nuestra dirección IP esto podría transformarse en una brecha de seguridad. En especial si compartimos la red con más personas en nuestras oficinas o en nuestro trabajo. En mi caso en este momento estoy trabajando en un apart hotel, por lo que agregar la dirección IP del apart hotel no es una opción para mi. ( Ojo, si se puede a costa de seguridad ).
¿ Cómo lo haremos ?
En este caso nos conectaremos desde nuestro computador linux a un servidor de características similares que es el cual tiene acceso a la Base de Datos MYSQL. En resumen lo que se hará es crear un puerto local por el cual nos conectaremos a la base de datos remota. Ojo pestaña y ceja, esta base de datos no necesariamente está en el servidor al que nos conectaremos, si bien puedes estarlo este servidor solo debe tener acceso a ella.
Creamos el túnel desde consola.
En mi caso tengo un servidor mysql local, por lo que asignaremos el puerto 3307 a la base de datos que nos conectaremos. Necesitamos lo siguiente :
Dirección IP o Nombre de dominio de la BdD
Dirección IP o Nombre de dominio del servidor con acceso a la BdD
Obviamente los accesos correspondientes al servidor y a la base de datos !
El comando SSH con el que se genera el túnel quedaría de la siguiente manera.
USUARIOSERVER es el usuario del servidor que tiene el acceso a la BdD.
IPSERVER es la dirección IP del servidor que tiene el acceso a la BdD.
Si todo sale bien ahora podremos conectarnos directamente a la BdD de manera local usando el puerto 3307. Existe la posibilidad que tu BdD no ocupe el puerto 3306, en ese caso simplemente la cambiar para el que corresponda.
Accediendo a la BdD
Para probar usaremos el cliente MySQL por consola, pero puedes usar MySQL Workbench, PHPMyAdmin o el que estimes conveniente.
mysql -u USUARIO -pPASSWD -h 127.0.0.1 -P 3307
Si tu usuario y passwords son correctos ya podrías acceder a la BdD aunque sea remota como se fuera local y aunque no tuvieras permisos de acceso a través de tu IP. Esto es para mantener la seguridad de tu BdD !
👉 ¿Te gustó este contenido? Hay más esperando por ti.
Cada semana, comparto aprendizajes y reflexiones que no encontrarás en ningún otro lugar. ¡Únete a la comunidad de más de 9,000 emprendedores que ya están avanzando!
Cristian Tala Sánchez
Emprendedor, inversionista, y mentor de diversas Startups y Emprendimientos.
Apasionado de la tecnología, los negocios y la educación. Tanto personal como profesionalmente mi idea es estar siempre buscando la excelencia, sacar lo mejor de mis capacidades, todos los días se puede aprender algo más y estaré feliz de hacerlo.
Mi propósito es ayudar a los emprendedores, lograr que salgan adelante, y potenciar el ecosistema Startup.