Cómo Tener la misma zona horaria en Mysql y PHP

Tener las hora del servidor MySQL y de PHP sincronizadas permite que no tengamos problemas en el análisis de los datos de nuestras aplicaciones y/o sistemas, en especial si uno de los factores de medición dependen de la diferencia de estos tiempos. Acá veremos como tener la misma zona horaria para ambos servicios.

Suele suceder que cuando usamos funciones de Mysql que retornan la hora y además otras por parte de PHP, la hora en ambas no es la misma. Esto es debido a que las configuraciones de ambas no son la misma.

Ambas horas vienen desde la configuración del servidor, pero por defecto ambas están en la zona horaria UTC, así que no importa la hora que tengamos en el servidor, la hora de estos servicios será distinta si no las configuramos de manera adecuada.

A continuación como configurar ambas.

Configurando la zona horaria en el servidor MySQL

Si bien podemos editar directamente el archivo de configuración de MySQL, lo que haremos es crear un archivo distinto que solo posea la definición de la zona horaria. De esta manera evitamos perder esta información por alguna actualización.

  1. Creamos el archivo de configuración en la carpeta conf.d de mysql. Todos los archivos con extensión .conf serán cargados desde aquí.
  2. Definimos el timezone del archivo. Acá puedes usar diferencias horarias, o zonas horarias. Las diferencias horarias son contra UTC que es el : +00:00 .
  3. Reiniciamos el servidor de mysql para actualizar la información.

Si bien puedes usar el editor que quieras, yo usaré  VIM por costumbre.

#vim /etc/mysql/conf.d/date.conf

y en el contenido definimos nuestra zona horaria. En mi caso además de «America/Santiago» podría haber puesto «-03:00».

default_time_zone='America/Santiago'

Ahora reiniciamos el servicio y debería estar funcionando.

# service mysql restart

Para corroborarlo, podemos loguearnos a mysql y ejecutar :

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2016-02-10 12:03:35 |
+---------------------+
1 row in set (0.00 sec)

Configurando la zona horaria en PHP

En este caso si editaremos directamente el archivo php.ini que se encarga de la configuración de php para apache. Si tienes otro servidor simplemente lo haces donde corresponda.

# vim /etc/php5/apache2/php.ini

Buscamos y editamos el siguiente contenido según corresponda :

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "America/Santiago"

Y en este caso reiniciamos el servidor de apache.

# sudo service apache2 restart

Eso sería todo, ahora tu BdD y aplicación web tienen la misma hora :).

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

¡MANTENGÁMONOS EN CONTACTO!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

Sistema de pagos para #Chile usando Mercado Pagos y Woocommerce

WooMercadoPagosChile – Sistema de pagos para Chile usando Mercado Pagos y Woocommerce.

Origen: GitHub – ctala/WooMercadoPagosChile: Sistema de pagos para Chile usando Mercado Pagos.

Hace un tiempo que había querido implementar más sistemas de pago en mis eCommerce pero la verdad es que no me había dado el tiempo. Ahora que lanzamos pandora parecía un buen momento para comenzar a experimentar. Estuve revisando alternativas en las que no me daban respuestas a mis preguntas y por otro lado me contactaron desde MercadoPagos para apoyarme en todo lo que necesitara. Si bien la comisión asociada es mayor a la que estoy acostumbrado, se puede comenzar a utilizar de inmediato y agrego métodos de pago que anteriormente no hubiera podido aceptar.

Leer más

Como saber el correo de Facturación Electrónica de una empresa

La casilla de intercambio de DTEs  para una empresa corresponde a la cual donde los demás emisores electrónicos pueden enviar información relacionada con la factura electrónica, especialmente los documentos electrónicos tributarios que se generen.

Origen: Consulta Contribuyentes Autorizados

Para los que usamos Softwares de Mercado desarrollados por empresas que no necesariamente saben lo que hacen, hay muchos  que no implementan la información básica para poder realizar el envío de los documentos electrónicos de manera correcta. Este es el caso en el cual nos encontramos actualmente como empresa, por lo que aprovecho de escribir un mini tutorial de como hacerlo, y de compartir la herramienta que estamos ocupando actualmente para facilitarlo ( Modo no Oficial ).

Modo Oficial y Recomendado.

PROS: Siempre tiene la información actualizada.

CONTRA: Necesitas certificado digital.

Nos referimos a la forma en que el SII pide que corroboremos la información directamente en su página. La verdad es la única manera de tener la última versión actualizada de las casillas de intercambio de las empresas.

Para lograrlo vamos a la página del SII, hacemos click en el menú de Facturación Electrónica, y luego la opción de «Ingresar al Sistema de Facturación Propio o de Mercado«.

Una vez en la página que contiene toda la información relacionada con este tipo de software, en el primer recuadro podemos observar la opción a la cual nosotros queremos ir ; Consultar entre empresas autorizadas.   También puedes hacer click en el link anterior si te sale más sencillo.

Una vez aquí, simplemente ponemos el rut de la empresa de la cual necesitamos la información.

 CONTRIBUYENTES AUTORIZADOS
CONTRIBUYENTES AUTORIZADOS EJEMPLO

 

Modo no Oficial y Sencillo.

PROS: No necesitas certificado digital.

CONTRA: La información puede no estar actualizada.

Bueno, la forma no oficial es la que estamos actualmente ocupando en la empresa debido a que no requiere una firma digital asociada a la persona que realiza la consulta.

Es simplemente un buscador web que retorna la misma información que el sistema de impuestos internos y la dirección es :  http://www.dtex.cl

En el link pueden obtener algo como lo siguiente :

¡Super Ultra Duper Buscador de DTEs!
¡Super Ultra Duper Buscador de mail para DTEs!

¡ Recuerden siempre usar el correo propocionado para que los documentos les lleguen a los destinatarios !

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

¡MANTENGÁMONOS EN CONTACTO!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

MySQL con regiones, provincias y comunas de Chile

SQL Con la información de las regiones, provincias y comunas de Chile según Decreto Exento Nº 817

Origen: ctala/Regiones-Provincias-y-Comunas-de-Chile. · GitHub

Regiones, provincias y comunas de Chile

Al fin comencé con el desarrollo del nuevo sistema de Shipping / Envíos unificado, por lo que antes tenía que estandarizar las tablas con la información de las regiones, provincias y comunas en Chile.

Si bien encontré muchos códigos con esta información, ninguno era «Estándar». Buscando en Internet encontré un link de la «Subsecretaría de Desarrollo Regional y Administrativo» el cual incluía la información necesaria para mantener un orden en la información a utilizar. El código en GITHUB compartido incluye las regiones y provincias con sus respectivos números según el documento mensionado.

Leer más

Certificados SSL Gratuitos y Validados

Let’s Encrypt is a free, automated, and open certificate authority brought to you by the Internet Security Research Group (ISRG).

Hace ya un par de días como respuesta a un twitt me llegó un mensaje de   Angel Cardenas (@AnglDavd) sobre un sistema que genera y valida certificados ssl para las páginas web. Tomando en consideración que he pagado por muchos de estos certificados, lo cual no es barato,  obviamente la idea de un certificado gratuito  me generó curiosidad.

La instalación fue bastante sencilla y funcionó de inmediato en uno de mis servidores Ubuntu Server 14.04 siguiendo las instrucciones publicadas en el sitio web :

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto --help

Con esto simplemente bajamos el sript de automatización que instala todas las dependencias y genera los certificados. En mi caso yo uso servidores apache, por lo que la instalación fue tan sencilla como ejecutar :

./letsencrypt-auto --apache

Con lo anterior se generaron y validaron automáticamente los certificados para mi servidor.

En otro de mis servidores, esto no funcionó, arrojandome un error :

Failed authorization procedure  (tls-sni-01): urn:acme:error:connection

Por lo que según las instrucciones encontradas en el foro ejecuté la instalación standalone para generar los certificados ( Hay que detener el demonio de apache primero ).

./letsencrypt-auto certonly --standalone -d pandora.cl -d www.pandora.cl

Lo que dio como resultado

Updating letsencrypt and virtual environment dependencies.......
Running with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt certonly -a standalone -d pandora.cl -d www.pandora.cl

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/pandora.cl/fullchain.pem. Your cert will
   expire on 2016-03-11. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.
 - If like Let's Encrypt, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Ya teniendo los certificados creados, simplemente de manera manual se hace la instalación en el servidor de apache luego de haber habilitado el modulo correspondiente.

# sudo a2enmod ssl

Ahora en el archivo  default-ssl.conf dentro de la configuración de apache2 agregamos lo siguiente al sitio por defecto.

SSLCertificateFile /etc/letsencrypt/live/pandora.cl/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/pandora.cl/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/pandora.cl/chain.pem

Ya teniendo el módulo activo, la configuración lista, simplemente activamos la configuración.

# a2ensite default-ssl.conf

Bueno, eso sería todo. Como podrán notar el caso de prueba en donde me falló la configuración automática fue para el sitio web de pandora.cl . Actualmente estoy usando este certificado en el sitio, sin embargo me percaté que alguno de los links no están con https, así que no se asusten si el certificado no aparece con color verde.

 

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

¡MANTENGÁMONOS EN CONTACTO!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

Share to...