Instalar Gitea con CentOS 7, Certbot, Nginx y SQLite

En el siguiente post les enseñaré lo del título instalando Gitea, un servicio Git autogestionado, fork de Gogs. 😀 Asumiré que ya está instalado CentOS. Recuerda reemplazar example.com con tu dominio.

Primero instalaremos los requisitos si no lo están:

sudo yum install epel-release
sudo yum install nginx git sqlite certbot python2-certbot-nginx

Luego activaremos e iniciaremos nginx:

sudo systemctl enable nginx
sudo systemctl start nginx

Usaremos certbot para transformar la conección en HTTPS, siguiendo las instrucciones en inglés.

sudo certbot --nginx -d example.com

(Tendrás que ingresa tu mail, luego a, después 1 si quieres suscribirte a EFF, finalmente 2 para redirigir a HTTPS)

Después modificaremos la configuración del vhost Nginx, suele estar en default.conf.

sudo nano /etc/nginx/conf.d/default.conf

Debe quedar algo así:

server {
    server_name  example.com;
    root /var/www/example.com;
    
#Si se quiere Gitea en el dominio directamente usar esto y no lo del subdirectorio.
    location / {
       proxy_pass http:/localhost:3000
    }

#Si se quiere Gitea en un subdirectorio usar esto y no lo del dominio directo.
     location /git/ {
        proxy_pass http://localhost:3000/;
      }

listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = example.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name  example.com;
    return 404; # managed by Certbot

Luego creamos un usuario para instalar Gitea en él.

sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --home-dir /home/git -m git

Iniciamos sesión con ese usuario.

su - git

Creamos un directorio, descargamos Gitea buscando el link aquí y lo ejecutamos.

mkdir gitea
cd gitea
wget -O gitea https://dl.gitea.io/gitea/1.10.0/gitea-1.10.0-linux-amd64
chmod +x gitea
./gitea web -c custom/conf/app.ini

Vamos al navegador a http://example.com:3000/install, rellenamos con lo siguiente e instalamos (https://example.com/git es la otra opción en URL base si queremos subdirectorio):

Luego de instalar, paramos gitea con Ctrl+C, y cerramos sesión del usuario git con Ctrl+D y crearemos el servicio para su ejecución:

sudo nano /etc/systemd/system/gitea.service

Pegamos esto:

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gitea/
ExecStart=/home/git/gitea/gitea web -c /home/git/gitea/custom/conf/app.ini
Restart=always
Environment=USER=git HOME=/home/git
[Install]
WantedBy=multi-user.target

Iniciamos y habilitamos el servicio:

sudo systemctl enable gitea
sudo systemctl start gitea

Finalmente revisamos si está activo:

sudo systemctl status gitea

Y revisamos el link en el navegador. ¡Y ya está! Sólo queda registrarte como primer usuario.

Espero que esta guía haya sido de ayuda.

Hilo de Twitter recomendando redes libres a Chile

Gente de #Chile , por el acontecer nacional, les sugiero unirse a #Mastodon , #Diaspora , #Pleroma y/u otra red libre, allí se aseguran de que su info y posts estén en mejores manos y evitan la censura.

Cada persona puede formar su instancia, pero la gente suele unirse a instancias ya hechas, que hay muchas.

Pueden busca instancias en la web, yo recomiendo buscar instancias de #Mastodon en joinmastodon.org que tienen ciertos estándares de calidad.  También existe fediverse.network que muestra todas las instancias públicas, pero no todas tienen los registros abiertos ni todas son buenas. 

Lean las reglas de la instancia a la que se quieran unir para que sepan en que se están metiendo, porque cada una tiene distintas reglas, lo aceptado en una puede estar prohibido en otra. Y eviten las instancias GAB, están llenas de fascistas literalmente.

Recuerden usar advertencias de contenido en estas redes, es cortesía básica. Sean considerados cuando publiquen los contenidos, en especial si son hechos violentos.

Mi instancia es de #mastodon y está con los registros abiertos en chile.masto.host , hosteado en masto.host, por si les interesa unirse ahí.

Mucha fuerza #Chile , si nos unimos podemos lograr los cambios que tanto deseamos y conseguir un futuro mejor ✨

Hilo original:

#ClimateStrike

Desde el 20 al 27 de septiembre del 2019, es la huelga contra el cambio climático mundial. Puedes encontrar más información y posts en las redes privativas en la página oficial https://es.globalclimatestrike.net/ .

Para ayudar a difundir un poquito, hice un fork del trabajo de Victorhck (que estaba basado en el de Kim). Es una Gitlab Page que sirve para obtener imágenes públicas de Mastodon con el hashtag #ClimateStrike.

Está disponible en https://skrlet13.gitlab.io/climate-strike/ y el código fuente está en https://gitlab.com/skrlet13/climate-strike bajo la GPL.

Si puedes, recuerda cooperar con la huelga. Gracias por leer.

OStatus, el estándar que va diciendo adiós

OStatus es un estándar libre para microblogging federado. Permite a distintos usuaries y distintas instancias comunicarse entre sí.

A OStatus solo le quiere GNU Social. Otras páginas como Pleroma y Mastodon tienen soporte, pero no se introducen cambios ni mejoras en ese código. En el caso de Mastodon, la versión 3.0 planea eliminar este estándar.

Lamentablemente, les usuaries de Mastodon perderían la comunicación con sus contactos de GNU Social cuando esto ocurra, a menos que GNU Social se actualice (lo que es improbable, debido a la fecha del último commit). Existe un plugin para usar ActivityPub en GNU Social, pero tampoco se ha actualizado recientemente. El abandono del estándar y de la red social por parte de GNU le jugó en contra.

ActivityPub es el estándar rey referente a las redes sociales libres y federadas. Aunque no todas las redes lo usan, las principales tienen mayor compatibilidad con este. Mastodon, la red más grande, lo utiliza.

A mi me parece triste que se abandone el estándar, y sé lo difícil que es mantener un proyecto, sin embargo entiendo que con el pasar del tiempo se abren vulnerabilidades y problemas de compatibilidad si no se actualiza el software.

Espero que alguien tome las riendas y actualice GNU Social para que siga siendo compatible con las demás redes federadas. Por mientras, a les usuaries de GNU Social les conviene buscar alternativas para cuando llegue el día.

Update: @Kim@mastodont.cat me avisó esto:

https://mastodont.cat/@kim/102723906571541138/embed

Vueltas de chaqueta en el mundo del software libre

Darse vuelta la chaqueta es sinónimo de cambiarse de bando.

Muchas veces se oyen casos de proyectos privativos que pasan a ser libres o liberan una pequeñita parte de su código.

Aquí hablaremos de webs y software libres que pasaron a ser privativas, de alguna forma u otra.

Openmailbox

Openmailbox nació en 2013 como organización sin fines de lucro ofreciendo una alternativa a los servicio de correo privativo. Usaba software libre (supuestamente, porque nunca lo demostró) y era gratis, aceptando donaciones.

Luego, en 2017, se transformó en empresa y cambió sus términos de servicio. Los clientes gratuitos no podrían usar clientes de correo, solo la webapp y el servicio de pago cuesta $4,99 USD al mes.

Ahora nadie lo pesca ni en bajada, al punto que no se han molestado en renovar el certificado Let’s Encrypt.

Si quieres un correo más libre, puedes intentar con Disroot.

Aseprite

Aseprite es un programa nacido en 2001 para hacer sprites estáticos y animados, es decir, esas imágenes pixeleadas que se suelen usar en videojuegos.

Antes se publicaba bajo la GPLv2 hasta que en agosto de 2016 se cambió a un EULA que prohíbe la redistribución del software compilado. Actualmente el programa se vende en la página oficial a $14,99 USD. El código fuente está disponible, pero bajo las condiciones del EULA.

Si quieres, puedes acceder al código de la última versión bajo la GPLv2 aquí.

Android

¿Se acuerdan de AOSP? La verdad es que todavía existe, pero ni se nota. La gran mayoría de los telefónos corren la versión Google de Android.

Al principio la mayoría del proyecto Android era parte de AOSP (incluyendo algunas apps), así que se debía publicar el código para respetar la licencia de Linux (que está incluido en AOSP). Pero ahora Google ha llenado Android de sus aplicaciones privativas por lo que las últimas versiones de AOSP solo incluyen el sistema operativo básico.

La verdad es que hice trampa con Android porque:

  1. La intención de Google no ha cambiado, aún es la de hacer software privativo y ganar plata con ello.
  2. AOSP sigue siendo libre.

Sin embargo, lo incluí porque es palpable el cambio que hubo en el porcentaje de aplicaciones privativas de Android.

Si quieres un sistema operativo móvil más libre, busca ROMS de tu dispositivo. Muchas veces se encuentran en los foros de XDA.

¿Conoces algún otro caso? ¡Ponlo en los comentarios!

¿Que pasa con Purism en el Fediverso?

Purism es una empresa enfocada en la privacidad y el software y hardware libre. Vende dispositivos lo más libres posibles (en su FAQ confirma la presencia de blobs binarios en la BIOS) y recientemente lanzó servicios online enfocados en la privacidad (redes sociales, e-mail, chat y VPN).
¿Por qué hay tanta discusión en el fediverso por Purism?

Falta de créditos en su aplicación anteriormente

El creador de Tusky (una aplicación de Mastodon para Android), denunció la falta de créditos obvios por parte de Purism, haciendo parecer que las aplicaciones para Librem.one fue creación 100% original de Purism. El código fuente estaba disponible, lo que permitió descubrir esto.

Más tarde, este asunto fue tocado en un artículo de Purism reactivamente.

Tuvo rastreadores

Jason Evangelho descubrió 3 trackers en la aplicación de chat. Purism respondió que intentaron retirarlos pero después se dieron cuenta que seguían allí. En la versión 0.1.4 fueron retirados.

Retiró el sistema de reporte

Un commit en el código de Smilodon (el fork de Mastodon usado en Librem.one) retiró los reportes (contra malas conductas y abuso).
Al final se repusieron debido al backlash en otro commit de un merge request sugerido por @Arlohyena y apoyado por varios admins del fediverso, debido a que usuaries con mala conducta dañaran a usuaries de otras instancias.

Código de conducta insuficiente en Librem.one

Su código de conducta está basado en el Community Convenant 1.0. Sin embargo, fue editado para eliminar todos los ejemplos de acoso (harrasment en inglés) que específicamente trataban temas como racismo, LGBT+fobia, capacitismo, etc, según Purism, para hacerlo más legible.
La eliminación de estos ejemplos dejó al aire que es considerado acoso, lo que preocupó a la población del fediverso por la ambigüedad del código y hacerlos vulnerables al discurso de odio.
Al final, Purism decidió ir por el lado del discurso libre (free speech) y dejar de lado la moderación, dejando la puerta abierta al discurso de odio.
Aquí @brainblasted@social.libre.fi publicó la conversación pública de la sala de Librem.one (#community-librem-one:talk.puri.sm en Riot), :

https://social.libre.fi/objects/e04f14dd-dba0-4f51-b9d8-9aade8649da1
Debido a esto, muchas instancias que usan ActivityPub están bloqueando a Librem.one, para evitar acoso a sus usuaries.
¿Olvidé algo? Siéntete libre de ponerlo en los comentarios.

Reciclar un módem usb 3G y de paso mejorar la cobertura Wifi — Soloelectronicos

Si no tenemos buena cobertura wifi o se nos ha roto el adaptador de rd wifi , una opción económica es reciclar un viejo pincho 3g como adaptador inalambico wifi: tendremos mas cobertura y una mayor calidad en la conexión ¿se anima a probarlo?

a través de Reciclar un módem usb 3G y de paso mejorar la cobertura Wifi — Soloelectronicos