Ezequiel M. Cardinali

Ezequiel M. Cardinali

Fedora Contributor | GNU/Linux SysAdmin
Ezequiel M. Cardinali

Adminfest en Rosario

July 26, 2016 — ezq

Hace mucho que no escribía en mi blog y vuelvo para darles una buena noticia. Este año estaremos festejando, nuevamente, el SysAdminDay el próximo 29 de Julio. Esta vez será la primer AdminFest en Rosario que se realizará en simultáneo con la de Buenos Aires. AdminFest es organizada por sysarmy y hace ya 8 años que se lleva a cabo. En Rosario el grupo ITFloss es el encargado de la organización.
Los esperamos para festejar en Valdovina. Habrá sorteos y algunos recuerdos para que este sea el puntapié inicial de un festejo que esperamos sea cada año más grande.

La entrada es libre y gratuita pero es importante saber cuántos vamos a ser, así que anotate para reservar tu lugar en:

Adminfest Rosario

Etiquetas: Eventos, SysAdminDay, ITFLOSS, Sysarmy

Commentarios?  

Let's Encrypt en un servidor compartido (Shared Hosting).

December 14, 2015 — ezq

En el post anterior describí los pasos para tener un sitio configurado con certificados SSL gratuitos y de una forma sencilla con Let's encrypt para un sitio en donde tengamos acceso SSH directo al servidor donde se encuentra alojado nuestro sitio. Pero también es posible generar los certificados y utilizarlos en un servidor de hosting compartido. Para esto debemos instalar y ejecutar letsencript en nuestra PC, generar los certificados localmente y luego subirlos al servidor.
Para realizar esto, ejecutamos letsencrypt con los siguientes parámetros:

# letsencrypt certonly --manual
El comando anterior nos advertirá que va a guardar nuestra ip en un log, debemos aceptar esto para poder continuar. Con la opción certonly le decimos que genere los certificados pero que no los configure. Debido a que no tenemos control sobre el servidor web compartido donde tenemos nuestro sitio, debemos especificar la opción --manual. Let's Encrypt necesita comprobar que tenemos control sobre el dominio donde queremos instalar el certificado, para esto, el comando anterior nos pedirá que creemos un archivo dentro de nuestro servidor web para poder comprobar que está bajo nuestro control:
Make sure your web server displays the following content at
http://dominio.com/.well-known/acme-challenge/9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw before continuing:

9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw.27-pmYYeQbUx9GznEFReUM5jjRWFlJkHXwr7B5AMSmQ

If you don't have HTTP server configured, you can run the following
command on the target server (as root):

mkdir -p /tmp/letsencrypt/public_html/.well-known/acme-challenge
cd /tmp/letsencrypt/public_html
printf "%s" 9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw.27-pmYYeQbUx9GznEFReUM5jjRWFlJkHXwr7B5AMSmQ > .well-known/acme-challenge/9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()" 
Press ENTER to continue

Este archivo podemos generarlo en nuestra PC y luego subirlo a nuestro servidor antes de darle ENTER al mensaje anterior. Para esto promero creamos el archivo:
$ echo "9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw.27-pmYYeQbUx9GznEFReUM5jjRWFlJkHXwr7B5AMSmQ > 9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw"
Y ahora lo subimos a nuestro espacio de hosting por FTP:
$ ftp dominio.com
Connected to dominio.com.
220 ProFTPD (ProFTPD Server) [1.2.3.4]
Name (dominio:ezq): USUARIO
331 Password required for b1000370
Password: CONTRASEÑA
230 User b1000370 logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Ponemos el nombre de usuario ftp de nuestro sitio y a continuación la contraseña.
Creamos el directorio en donde hay que poner el archivo:
ftp> mkdir .well-known/
257 "/.well-known" - Directory successfully created
ftp> mkdir .well-known/acme-challenge
257 "/.well-known/acme-challenge" - Directory successfully created
Cambiamos de directorio al recién creado y subimos el archivo:
ftp> cd .well-known/acme-challenge
250 CWD command successful
ftp> put 9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw.27-pmYYeQbUx9GznEFReUM5jjRWFlJkHXwr7B5AMSmQ
local: 9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw.27-pmYYeQbUx9GznEFReUM5jjRWFlJkHXwr7B5AMSmQ remote: 9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw.27-pmYYeQbUx9GznEFReUM5jjRWFlJkHXwr7B5AMSmQ
227 Entering Passive Mode (1,2,3,4,195,102).
150 Opening BINARY mode data connection for 9fjf9LLOuEjSThn0Vi-3gPAp_dNLZU6afGn-uPfRlHw.27-pmYYeQbUx9GznEFReUM5jjRWFlJkHXwr7B5AMSmQ
226 Transfer complete
5 bytes sent in 4,6e-05 secs (108,70 Kbytes/sec)

Ahora podemos darle ENTER a letsencrypt para que continúe con la comprobación y genere el certificado. Si todo sale bien deberías ver algo como esto:
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/dominio.com/fullchain.pem. Your cert will
   expire on 2016-03-13. 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

Ahora sólo resta configurar el servidor web, esto dependerá del servicio de hosting que tengamos. Los certificados los podemos encontrar en /etc/letsencrypt/live/dominio.com/

Etiquetas: Fedora, letsencrypt, SSL, HTTPS, Hosting

Commentarios?  

Certificados SSL gratis con letsencrypt

December 14, 2015 — ezq

Let's encrypt es una autoridad certificadora que provee certificados gratuitos X.509 para TLS a través de un proceso automatizado y sencillo evitando el engorroso procedimiento manual de generar e instalar certificados SSL para un sitio.
El proyecto fue comenzado por dos empleados de Mozilla en 2012 y a partir del 3 de Diciembre de 2015 entró en Beta pública. El proyecto está respaldado y desarrollado por la Electronic Frontier Foundation, la Universidad de Michigan, Linux Foundation, entre otros.
Personalmente creo que este tipo de proyectos son muy importantes, porque permiten utilizar la web de una forma segura sin gastar dinero y alimentar el negocio de los certificados SSL.

A continuación veremos como configurar un sitio para que utilice los certificados de letsencrypt. Aquellos que tengan que lidiar habitualmente con la configuración y generación de certificados SSL van a agradecer la existencia de letsencrypt debido a que el proceso es realmente automático y trivial.
Este tutorial está basado en Fedora 23, pero pueden verse las diferentes formas de instalar letsencrypt en este link.
En Fedora 23 lo instalamos como cualquier otro programa:

# dnf install letsencrypt
Esto instalará una cuantas dependencias y el cliente letsencrypt.
Antes de continual recomiendo ver la ayuda para ver qué podemos hacer con letsencrypt.
# letsencrypt --help

  letsencrypt [SUBCOMMAND] [options] [-d domain] [-d domain] ...

The Let's Encrypt agent can obtain and install HTTPS/TLS/SSL certificates.  By
default, it will attempt to use a webserver both for obtaining and installing
the cert. Major SUBCOMMANDS are:

  (default) run        Obtain & install a cert in your current webserver
  certonly             Obtain cert, but do not install it (aka "auth")
  install              Install a previously obtained cert in a server
  revoke               Revoke a previously obtained certificate
  rollback             Rollback server configuration changes made during install
  config_changes       Show changes made to server config during installation
  plugins              Display information about installed plugins

Choice of server plugins for obtaining and installing cert:

  (the apache plugin is not installed)
  --standalone      Run a standalone webserver for authentication
  (nginx support is experimental, buggy, and not installed by default)
  --webroot         Place files in a server's webroot folder for authentication

OR use different plugins to obtain (authenticate) the cert and then install it:

  --authenticator standalone --installer apache

More detailed help:

  -h, --help [topic]    print this message, or detailed help on a topic;
                        the available topics are:

   all, automation, paths, security, testing, or any of the subcommands or
   plugins (certonly, install, nginx, apache, standalone, webroot, etc)

Como vemos, la ayuda es muy clara y fácil de comprender. Vamos a crear un certificado para un sitio, en este caso voy a usar el dominio cardinali.org que es el de mi sitio. Generar el certificado es tan sencillo como ejecutar:
# letsencrypt certonly --webroot --webroot-path /var/www/html/cardinali.org/
El asistente nos preguntará por una dirección de correo y los dominios para los cuales se va a generar el certificado. El comando anterior genera un certificado pero no lo configura en nuestro servidor web (certonly) también le indicamos donde están los archivos del sitio (--webroot --webroot-path /var/www/html/cardinali.org/), de esta forma letsencrypt no necesita que paremos el servidor web para comprobar nuestro sitio antes de generar el certificado.
Terminado esto, ya podemos configurarlo en nuestro servidor web, los certificados y claves generados y que están activos se encuentran en /etc/letsencrypt/live/$domain.
Los certificados que van siendo revocados podemos encontrarlos en /etc/letsencrypt/archive y sus claves en /etc/letsencrypt/keys. Los certificado generados por letsencript duran 90 días, por lo que es necesario renovarlos en ese tiempo.
Si bien el proyecto aún está en beta, creo que no faltará mucho para que todos podamos tener nuestra web con https ya sin excusas.

Etiquetas: Fedora, SSL, HTTPS, letsencrypt

Commentarios?  

Reporte: FUDCon Córdoba 2015

September 24, 2015 — ezq

Llegó el día en el que iba a participar de mi primer FUDCon (Fedora Users and Developers Conference). Siendo Embajador de Fedora desde hace muchos años, por distintas razones, nunca había podido participar de un FUDCon. Esta vez el evento se realizaba en mi país y no estaba entre mis posibilidades faltar.
El mismo viernes 10 de septiembre, primer día del evento, llegué a la ciudad de Córdoba unos minutos antes de que comenzara. Al llegar, los colegas de Córdoba estaban ya preparando los últimos detalles para poder empezar con la apertura del evento y dejando todo listo para la primera charla.
Una vez presentado el evento comenzaron las charlas. Todas a las que pude asistir, estuvieron muy bien preparadas y eran de un alto contenido técnico.
Al medio día paramos a almorzar y fuimos al Patio Olmos, que está muy cerca de la sede, y en su patio de comidas cada uno podía elegir qué comer. El almuerzo fué una excusa para poder sentarnos y conocernos entre todos. A muchos ya los conocía de la vida digital, pero no en la vida real.
Al terminar el día de conferencias, fuimos todos al hostel donde nos alojámos a asearnos, descanzar un rato y prepararnos para la cena: choripanes. Durante la cena, aprovechamos para seguir conociéndonos. Pude comprobar lo que siempre supe de la comunidad de Fedora, todos son personas muy buenas, muy amables y predispuestas a ayudar en lo que puedan. Creo que el setimiento de pertenecer a la mejor comunidad de Software Libre es general entre los integrantes de Fedorai, sin ofender a otras comunidades.

Al llegar el viernes, nos despertamos temprano, desayunamos y partimos para la sede del evento. Las charlas de este día fueron tan buenas como las del primer día. A algunas charlas no pude asistir, porque preferí tomar algunos talleres, como que de empaquetamiento RPM y el de robótica educativa. Al terminar la jornada, volvimos todos al hostel y algunos se prepararon para jugar al fútbol y los demás para acompañarlos y documentar ese momento :).
Terminado el partido, volvimos al hostel a prepararnos para la cena, en esta oportunidad, asado. Otra velada excelente de charlas, copas y amistad.

El sábado nos despertamos un poco más tarde y, tranquilamente, desayunamos en abundancia. Después del desayuno, nos distendimos en el hall del hostel. Luego Almorzamos unas empanadas y al terminar el almuerzo se llevó a cabo una reunión interna de todos los colaboradores de Fedora, para definir las metas a futuro. La reunión fue muy productiva y surgieron varias cosas para hacer y corregir.
A continuación salimos a recorrer parte del centro de la ciudad de Córdoba, llegamos al paseo de los artesanos, en donde se podían comprar todo tipo de artesanías. Luedo de pasear unas horas nos reunimos todos en un bar para comer una picada. Esta especie de merienda fue mi despedida, ya que debía volver a mi ciudad natal.

La organización fué excelente, el lugar en donde nos alojámos estaba cerca de la sede, era muy cómodo y nos atendieron de maravilla.
En conclusión, ésta, mi primer FUDCon, fue una experiencia más que buena. Espero poder participar de las próximas FUDCon y todos los demás eventos posibles. Fue muy emocionante y a la vez fue motivador ver cómo cada uno ocupa su tiempo en mejorar el proyecto y promover el uso del Software Libre y Fedora. Compartir ese tiempo con los miembros de la comunidad fue realmente gratificante, al llegar la despedida me quedé con ganas de seguir con ellos, de compartir una cerveza en una de esas charlas amenas en donde nos ibamos haciendo amigos realmente y no detras de una interfaz para IRC o un correo electrónico.


Espero volver a verlos pronto.

Etiquetas: Reportes, Eventos, Fedora, FUDCon

Commentarios?  

FUDCon Córdoba 2015

August 21, 2015 — ezq

El próximo 10 y 11 de Septiembre se realizará, en la ciudad de Córdoba, la 7ma conferencia de usuarios y desarrolladores de Fedora (FUDCon). La sede para este evento será la Facultad de Ciencias Exactas Físicas y Naturales (FCEFyN - UNC) sede centro (Av. Vélez Sarsfield 299) desde las 9:00 hasta las 18:00

FUDCon es la Conferencia de Usuarios y Desarrolladores de Fedora (Fedora Users and Developers Conference por sus siglas en inglés), uno de los más grandes eventos de Software Libre del año se realiza en varias regiones alrededor del mundo, usualmente una por región: Norte América (NA), Asia, Pacifico y Oceanía (APAC), Europa (EMEA) y América Latina (LATAM). FUDCon es una combinación de sesiones, charlas, workshops, y hackfests en el cual los contribuidores trabajan en iniciativas especificas. Los temas incluyen infraestructura, desarrollo de características, formación de comunidades, administración y gobernación en general, marketing, pruebas y aseguramiento de calidad, empaquetamiento, etc.

Este año, FUDCon se realizará en la ciudad de Córdoba, en la sede de la Facultad de Ciencias Exactas Fisicas y Naturales (FCEFyN –UNC), con especial énfasis en el fortalecimiento de la comunidad de usuarios y desarrolladores de software libre. La idea es poder afianzar el vínculo de las distintas comunidades latinoamericanas que participan del proyecto FEDORA.

Habrá charlas sobre tecnologia informática, hackfest y reuniones informales entre los miembros de la comunidad. Se darán talleres para administradores de sistemas y de programación, robótica e impresoras 3D (usando software y hardware libre).

FUDCon es gratuito siempre para cualquier persona en el mundo.

Para más información les dejo los links con la información del evento:

Sitio del evento: fudconlatam.org

Ponentes: fudconlatam.org/speakers

Cronograma: fudconlatam.org/schedule

Mail de Contacto:

Etiquetas: Eventos, Fedora, FUDCon

Commentarios?  

Bash Tip: Traductor de google en la terminal

January 22, 2015 — ezq

Este pequeño tip les puede ser útil, sobre todo si pasan mucho tiempo leyendo en otro idioma y utilizan la terminal de linux a diario.
Los que usamos constantemente la terminal, sabemos que dejarla por un segundo para, por ejemplo, buscar algo en la web significa perder el tiempo. Entre que nos dirigimos al navegador, seleccionamos la casilla de busqueda, buscamos y esperamos la respuesta, pasa un tiempo considerable, más aún si esto lo hacemos a menudo.
Una de las tareas que hago habitualmente fuera de la terminal, es buscar la traducción de una palabra o frase. Por esto, decidí automatizar este proceso de una forma sencilla y eficiente. Creando una funcion en bash que utilice Google Translate para traducir lo que le pasemos como parámetro.
Para esto editamos el archivo ~/.bashrc y agregamos los siguiente:

function gtrans() {
    LANG="${1}"
    TEXT=$(echo "${*}" | sed -e "s/^.. //" -e "s/[\"'<>]//g")
    RES=$(wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=${TEXT}&sl=auto&tl=${LANG}" | sed 's/\[\[\[\"//' | cut -d \" -f 1)
    echo "${RES}"
}

Para poder utilizar esta función debemos cerrar sesión o ejecutar:
$ source ~/.bashrc

ahora podemos ejecutar la función para ver que tal funciona:
$ gtrans es The FSF holds copyright on a large proportion of the GNU operating system
La FSF tiene derechos de autor sobre una gran parte del sistema operativo GNU
Como vemos tenemos que pasarle como parámetro el idioma al que traducir, en este caso: es y el texto que queremos traducir. Espero les sirva tanto como a mí.

Etiquetas: bash, tips

Commentarios?  

PyDay Luján

September 22, 2014 — ezq

El pasadeo Sábado 20 de Septiembre, se realizó en la Universidad de Luján el PyDay Luján.
Al llegar comenzamos a armar nuestro stand, la organización desde el comienzo hasta el final estuvo en todos los detalles, nos brindaron todo lo necesario, la verdad que muy buena onda y excelente atención.
Muchos se acercaron a conocer Fedora y a llevarse stickers y DVDs. Decidimos mostrar un poco de Pidora y montamos un pequeño lab con dos Raspberry pi, en una de ellas además montamos un formulario (gracias a Emiliano que lo programó utilizando Django en un par de minutos) en donde los visitantes podían registrarse para recibir información por email del Proyecto Fedora y de la comunidad argentina.
Algunas de las fotos que sacamos las comparto a continuación:


Para terminar quiero agradecer a Rino que como siempre pone la mejor onda y deja todo para que todo salga bien y a Emiliano que es la primera vez que lo tenemos en un stand de Fedora y la verdad que fué de mucha ayuda.

Para ver más fotos pueden entrar al Facebook de nuestra comunidad PyDay Luján.

Etiquetas: Fedora, Eventos, PyDay, Python

Commentarios?  

Cliente bash para DNS Dinámico de DonWeb.

June 27, 2014 — ezq

La semana pasada se anuncio el nuevo servicio de DNS Dinámico de DonWeb, una alternativa gratuita a DynDNS. Para activarlo sólo necesitamos crearnos una cuenta en DonWeb.com y configurarlo, para esto si necesitamos ayuda podemos visitar la documentación en el sitio DonWebAyuda.com.

El objetivo de este post no es promocionar el servicio, sino mostrarles cómo puede usarse este servicio en nuestro GNU/Linux. Todavía no hay disponible una versión del cliente para GNU/Linux, pero en las especificaciones de la api podemos ver que es muy sencillo hacer un cliente en bash, Les dejo el que yo hice para que lo prueben, modifiquen o mejoren.

Para configurarlo sólo hay que completar las variables:

USUARIO (usuario del cliente DDD)
PASS (contraseña del usuario)
HOST (host que queremos actualizar)

#!/bin/bash

USUARIO=""
PASS=""
HOST=""

ROJO="\033[1;31m"
VERDE="\033[1;32m"
AMARILLO="\033[1;33m"
NORMAL="\033[0;39m"
RESPUESTA=$(curl -s -basic -u "${USUARIO}:${PASS}" -d "modulo=dnsDinamico&archivo=dnsDinamico&archivo=dnsDinamico&clienteDeActualizacion=api&op=actualizarHosts&hostNames[]=${HOST}" "https://administracion.donweb.com/ws/api.php")

if echo ${RESPUESTA} | grep '"resultado":true' > /dev/null; then
        NAME=$(echo ${RESPUESTA} | cut -d"{" -f5 | cut -d"}" -f1 | sed 's/"//g' | cut -d"," -f1 | cut -d":" -f2)
        IP=$(echo ${RESPUESTA} | cut -d"{" -f5 | cut -d"}" -f1 | sed 's/"//g' | cut -d"," -f2 | cut -d":" -f2)
        ACTUAL=$(echo ${RESPUESTA} | cut -d"{" -f5 | cut -d"}" -f1 | sed 's/"//g' | cut -d"," -f3 | cut -d":" -f2-)
        echo -e "${ROJO}---------------------------------------${NORMAL}"
        echo -e "${VERDE}Hostname: ${AMARILLO}${NAME}${NORMAL}"
        echo -e "${VERDE}Dirección IP: ${AMARILLO}${IP}${NORMAL}"
        echo -e "${VERDE}Última Actualización: ${AMARILLO}${ACTUAL}${NORMAL}"
        echo -e "${ROJO}---------------------------------------${NORMAL}"
else
        echo -e "${ROJO}---------------------------------------${NORMAL}"
        echo -e "${ROJO} ERROR: ${ROJO}${RESPUESTA}${NORMAL}"
        echo -e "${ROJO}---------------------------------------${NORMAL}"
fi

Descargar Script

Espero que les sea útil.

Etiquetas: bash, scripts, DNS, DonWeb

Commentarios?  

Instalar Gnome 3.12 en Fedora 20

May 07, 2014 — ezq

La última versión de GNOME incluye muchas mejoras con respecto a su antecesor y si somos usuarios de este sistema de escritorio, nos gustará tener lo último de GNOME en nuestro Fedora 20.
Por el momento no disponemos de esta versión en los repositorios oficiales, pero gracias a rhughes disponemos de un repositorio para instalarlo de una manera fácil:

Primero abrimos una terminal y nos logueamos como root y descargamos el repositorio:

$ su -
# curl http://copr.fedoraproject.org/coprs/rhughes/f20-gnome-3-12/repo/fedora-20-i386/rhughes-f20-gnome-3-12-fedora-20-i386.repo > /etc/yum.repos.d/rhughes-f20-gnome-3-12-fedora-20-$(arch).repo

Ahora sólo resta actualizar:
# dnf update

Listo! ya tenemos instalada la última versión de GNOME. Para probarlo reiniciamos para asegurarnos que todo cargue correctamente.


Etiquetas: Fedora, Gnome

Commentarios?  

Nuevo blog con BashBlog

May 07, 2014 — ezq

Después de toquetear un poco el código, ya quedó mi blog hecho con bashblog.
BashBlog (bb.sh) es un script desarrollado por Carlos Fenollosa que permite generar y administrar un blog.
¿Qué tiene de interesante bashblog?, bueno, primero que está completamente hecho en Bash :), después podemos destacar que permite crear un blog con casi todas las carácterísticas de un blog moderno, es muy simple y personalizable y además es muy seguro, ya que genera contenido estático HTML, no requiere de una base de datos y no requiere instalar nada más que un servidor web.

Después de dar vueltas con el CMS para mi blog me parece que finalmente encontré lo que andaba buscando.
Para más información acerca de bashblog visiten el sitio web (https://github.com/cfenollosa/bashblog).

Etiquetas: bashblog

Commentarios?