It’s time for Debian

Jonathan Carter, Debian Project Leader, writes about the end of CentOS as we know it — their recent decission to base newer releases on CentOS Stream instead of a more stable branch now makes it a less-than-ideal choice for servers. Earlier this year, I switched away from Ubuntu after close to 10 years of using… Continue reading It’s time for Debian

Simple, automated and low cost MySQL backup strategy

Setting up a mysql backup strategy it’s hardly an exciting task, so having a simple solution it’s key to actually get it out of your to-do list. Here’s a simple, automated and low-cost alternative that I use to keep MySQL database backups of small to medium-sized projects. Setting up automatic backups automysqlbackup it’s a simple… Continue reading Simple, automated and low cost MySQL backup strategy

Many people (by which I mean many Windows users”) don’t realize the huge difference between “the Windows way of doing things” and, basically, everyone elses’ way, i.e: the POSIX world which comprises all of the Unices, Linux, BSD and even OS X.

Hugo Landau writes:

From the perspective of POSIX, Windows is “alien technology” […] Windows and POSIX are fundamentally different in many ways, and lead to further “cultural” differences in how software is developed on these platforms. Windows and POSIX, then, are two “cultures”, the technical differences of the core technology itself being only a small part of that.

Read the entire piece at: The Cultural Defeat of Microsoft

Envoy is a task runner originally developed for Laravel, but that you can also use on any other kind of project.

It’s a very easy way to define tasks with Blade syntax and simple terminal commands, which you can run on remote servers via SSH (including parallel execution) or locally.

Thanks to its simplicity, it’s great to quickly automate repetitive tasks. For instance, this is something I use for importing a replica of the production DB of a site:

@servers(['production' => 'foobar.com', 'local' => 'localhost'])

@macro('sync-db')
    dump-production-db
    get-production-db
    import-production-db
@endmacro

@task('dump-production-db', ['on' => 'production'])
    echo 'Creating production DB dump';
    cd ddbb
    mysqldump --no-autocommit --skip-extended-insert --single-transaction --ignore-table=foobar.wp_simple_history_contexts --ignore-table=foobar.wp_simple_history_history foobar_production | gzip > foobar.production.sql.gz
@endtask

@task('get-production-db', ['on' => 'local'])
    echo 'Copying DB dump from production server';
    cd ddbb
    rsync -P foobar:~/ddbb/foobar.production.sql.gz .
@endtask

@task('import-production-db', ['on' => 'local', 'confirm' => true])
    cd ddbb
    gzip -d -f foobar.production.sql.gz
    sed 's/www.foobar.com/www.foobar.lo/g' -i foobar.production.sql
    echo 'Importing production DB replica';
    mysql -v foobar_development < foobar.production.sql
@endtask

Importar tu base de datos de WordPress (de la forma más rápida)

Uno de los grandes aprendizajes que he podido aplicar al desarrollo de sitios con WordPress, y del cual soy particularmente entusiasta de sermonear es la necesidad de mantener una versión local de desarrollo lo más parecida posible a lo que vas a utilizar en producción, lo que además se apoya y soporta un montón de… Continue reading Importar tu base de datos de WordPress (de la forma más rápida)

Un tip breve pero muy útil, casi necesario: si estás a cargo de algún servidor, puedes activar la instalación automática de actualizaciones de seguridad lo que alivia bastante la carga ante anuncios de vulnerabilidades.

Para Ubuntu, puedes consultar la siguiente guía en su documentación comunitaria: Automatic Security Updates.

Las actualizaciones de seguridad se distribuyen a través de un repositorio específico, y cuando se publica una nueva versión por lo general va a estar limitada a solucionar una vulnerabilidad, por lo que el riesgo de que surja alguna incompatibilidad es muy baja.

Cómo asegurar las cookies de acceso a tu sitio WordPress

Recientemente se ha dado a conocer una vulnerabilidad en el sistema de autenticación de usuarios para los sitios con WordPress, que básicamente consiste en lo siguiente: La vulnerabilidad afecta tanto a sitios en WordPress.com como instalaciones propias. Al acceder a la administración de tu sitio, WordPress crea una cookie que le permite validarte como un… Continue reading Cómo asegurar las cookies de acceso a tu sitio WordPress

Las secuelas de Heartbleed

Heartbleed es —en términos sencillos— el cagazo más grande que se ha descubierto en materia de seguridad informática en muchos años, y que en el contexto de las revelaciones que hemos conocido gracias a la denuncia de Edward Snowden no sólo ayuda a explicar algunas cosas sino también a ponernos a todos un poco más… Continue reading Las secuelas de Heartbleed

En lugar de tener que ingresar tus datos de acceso a MySQL cada vez que necesitas conectar a la base de datos, puedes simplemente guardarlos en tu directorio de usuario creando un archivo .my.cnf con los siguientes contenidos:

[client]
user=your_username_here
password=your_user_password_here
socket=/var/run/mysqld/mysqld.sock

Tras haber creado el archivo, asegúrate de darle los permisos correctos con chmod 0600 para evitar que otros usuarios lo puedan leer.