Actualización CentOS7/Nginx/MariaDB [Junio 2019]

Esto es una actualización de la imagen utilizada en Crear contenedor Docker con CentOS7/Nginx/MariaDB y MultiPHP para crear un entorno de desarrollo ideal para PHP.

A nivel de software no hay grandes campos solo se actualizaron paquetes de sistema y de servicios, una lista completa de los paquetes actualizados:

Sigue leyendo

Publicado en Desarrollo, Virtualizacion | Etiquetado , , , , , | Deja un comentario

Actualizar de MariaDB 5.5 a MariaDB 10 en CentOS 7

En una instalación por defecto CentOS nos ofrece MariaDB 5.5 y puede que se necesite instalar una versión más actual por alguna funcionalidad, por algún requerimiento o por la razón que sea.

Al menos que se esté seguro que la base de datos y las aplicaciones que usen esas base de datos soportan el cambio conviene que el cambio sea evaluado.

Se tiene que tener presente que luego del update no hay marcha atrás al menos que se desinstale por completo, se instale la version anterior y se vuelvan a importar todas las base de datos nuevamente lo que implica una ventana de tiempo importante dependiendo del volumen de las base de datos y la capacidad del servidor.

Sigue leyendo

Publicado en Desarrollo, Servidores | Etiquetado , , , | Deja un comentario

Solucionar «ERROR 2006 (HY000): MySQL server has gone away» en MySQL/MariaDB


Cuando realizamos una restauración de un archivo sql muy grande es muy común que nos de un error:

ERROR 2006 (HY000): MySQL server has gone away

Este error se soluciona realmente fácil simplemente hay que configurar el valor max_allowed_packet en el archivo de configuracion my.cf de MySQL/MariaDB

En mi caso se ubica en /etc/my.cf aunque en su caso puede llamarse diferente y estar ubicado en otra carpeta, depende de la distribución. Editamos el archivo y agregamos max_allowed_packet:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
max_allowed_packet=128M

Guardamos los cambios, reiniciamos el servicio MySQL o MariaDB, ahora también es posible que no tengamos un archivo de configuración como este y las variables se tengan que configurar desde la propia consola de mysql:

[root@server] mysql -u root -p
MariaDB [(none)]> SET GLOBAL max_allowed_packet=134217728;

Ahora ya podemos importar sin problemas, en caso necesario se puede subir más los valores, en el caso de hacerlo por consola el valor se coloca en bytes, por ejemplo se coloca 134217728 para 128MB o 1073741824 si queremos configurar 1GB.

Publicado en Servidores | Etiquetado , , | Deja un comentario

Solucionar «Specified key was too long; max key length is 767 bytes» en Laravel

Un error normal con Laravel al correr las migraciones por primera vez luego de instalar Laravel es que tenga problemas con el largo de la Key arrojando un error como el de abajo:

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table

   Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))

  at /var/www/html/api.wordpress.lan/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

Sigue leyendo

Publicado en Laravel | Etiquetado , | Deja un comentario

Montar una carpeta cifrada dentro de Dropbox en Linux

Uno de los beneficios de los servicios en la nube es poder compartir información entre dispositivos de forma sencilla y Dropbox es un gran servicio para ello pero nunca hay que descuidar la seguridad y siempre debemos tener presente que como todo servicio en la nube puede ser comprometido.

Hay que tener mucho cuidado con lo que subimos a Dropbox o a cualquier servicio en la nube, bien puede ser hackeado el propio servicio o bien puede ser solo nuestra cuenta pirateada de alguna forma.

Una de las mejores formas que tenemos de subir información de forma segura es cifrando los datos, hoy les mostrare dos métodos, el primero mediante encfs y el segundo mediante Luks.

Sigue leyendo

Publicado en Seguridad | Etiquetado , , , | Deja un comentario

Conectarse a SFTP desde PHP con SSH2

Una tarea bastante habitual desde PHP es conectarse a un FTP para lo cual PHP tiene diferentes funciones pero que sin embargo si se trata de SFTP seguramente haya que habilitar la librería libssh2 que no viene instalada por defecto.

Si para la instalación de PHP se utilizan el tutorial Instalación del Stack Nginx+MySQL+MutiPHP en CentOS o  Crear contenedor Docker con CentOS7/Nginx/MariaDB y MultiPHP se puede continuar sin problemas, de lo contrario convendrá solo se instalen los paquetes que se necesiten.

Sigue leyendo

Publicado en Desarrollo, Docker | Etiquetado , , , , | Deja un comentario

Instalación del Stack Nginx+MySQL+MutiPHP en CentOS

Que PHP es uno de los lenguajes más usados en la web no es ninguna novedad, ya cuenta con muchos años en el mercado y con varias versiones publicadas.

En la web conviven muchos proyectos desarrollados a través de los años y cada uno con requerimientos de versión de PHP diferentes.

Por eso contar con un entorno con varias versiones de PHP diferentes y que permita configurar cada sitio por separado con una versión específica es una necesidad ya se trate de un entorno de desarrollo o de un servidor de producción.

Por eso en este artículo se tratará la instalación de siete versiones de PHP en un mismo sistema, si bien la configuración se hará con el servidor Nginx perfectamente se puede adaptar para usar Apache.

Para saber porque Nginx es mejor opción que Apache una lectura recomendada es Apache vs Nginx vs LiteSpeed donde se puede ver una excelente comparativa de los tres navegadores más usados actualmente en la web.

Sigue leyendo

Publicado en Varios | Deja un comentario

Hilos, Canales y multitarea en Go

Hace unos días vimos como implementar hilos en en Go, el articulo anterior puedes verlo aquí Hilos y multitarea en Go ,hoy vamos a tomar ese mismo código y mejorarlo para hacerlo más eficiente y  adaptarlo para usar canales.

¿Que son los canales?

Cuando creamos un hilo hijo la ejecución de el hilo se separa de la ejecución principal y si necesitamos devolver datos o información a la ejecución principal una vez que el hilo termina la mejor manera de hacerlo es mediante canales, osea que en criollo un canal es un medio de comunicación entre el hilo y el programa principal.

Sigue leyendo

Publicado en Desarrollo, Go | Etiquetado , , , , | Deja un comentario

Actualización del contenedor CentOS7 [Febrero 2019]

Esto es una actualización de la imagen utilizada en Crear contenedor Docker con CentOS 7 para crear un entorno e instalar todo lo que necesitemos.

Si te interesa un entorno PHP + Nginx ya preconfigurado te recomiendo Crear contenedor Docker con CentOS7/Nginx/MariaDB y MultiPHP

A nivel de software no hay grandes campos solo se actualizaron paquetes de sistema y de servicios, una lista completa de los paquetes actualizados:

Sigue leyendo

Publicado en Docker | Etiquetado , | Deja un comentario

Actualización CentOS7/Nginx/MariaDB [Febrero 2019]

Esto es una actualización de la imagen utilizada en Crear contenedor Docker con CentOS7/Nginx/MariaDB y MultiPHP para crear un entorno de desarrollo ideal para PHP.

A nivel de software no hay grandes campos solo se actualizaron paquetes de sistema y de servicios, una lista completa de los paquetes actualizados:

Sigue leyendo

Publicado en Docker | Etiquetado , , , | Deja un comentario