El regreso

Después de media década, vuelvo a los teclados. Muchas cosas han cambiado, no puedo decir ni que vengo renovado, simplemente con más camino recorrido.
 
El tiempo cambia, los blogs van muriendo, los foros ya son un coladero de spam, la gente ahora solo sube vídeos.
 
Skamasle.com es de 2009
 
Pero skamasle.com nació en 2009, con un blog en wordpress que llego a tener miles de entradas y en su día algunas cuantas visitas, más de 5000 personas al día visitaban y algunos días cuando se volvía viral hasta 50 mil.
 
También tuvimos varios blogs en subdominios y un foro, se puede decir que hasta 2015 tuvimos una gran comunidad, luego solo quedo el blog principal, luego el blog principal dejo de actualizarse y luego quedo estatico y desaparecio por allí del 2022 tal vez, aunque no recuerdo la fecha exacta.
 
Los tiempos cambian, si bien, tengo un backup del antiguo wordpress creo que no merece la pena revivirlo, aunque información interesante si tenia., de hecho esto esta montado en un VPS, con 512 MB de RAM, freebsd, NGINX y ya, eficiencia pura, un coste ridículo y el sistema ni se sabe si va a salir adelante, pero quería algo sin PHP / MYSQL y no quiero mantener wordpress, actualizar plugins y demás para nada, quiero algo sencillo, eficiente, rápido etc.
 
La idea es tener un uso de recursos  lo mínimo posible en la era en la que un móvil ya tiene 12 GB de RAM, una era en la que un blog o un ecomerce usa ya de media por proceso de php más de 300MB de RAM para atender a cada visita.
 
 
Y sí, soy sysadmin, para los que no recuerdan, me forge hace años en lo profundo de internet, cuando la gente todavía compartía y se podía aprender y preguntar en los foros y se resolvían problemas conjuntamente y la gente escribía documentación, manuales y un largo etc para todo tipo de cosas, desde como hacer algo en gimp, como solventar problemas en unos viejos capacitores inchados en una placa base o como levantar las X en linux de forma eficiente, manuales que hoy en día no se comparten pero que valen ORO, no solo por que solventaban un problema, si no por que el trasfondo de todo generaba un conocimiento muy útil de como se gestionaba el sistema y era la base para profundizar más y seguir aprendiendo.
 
Hoy se busca la sencillez " o esto funciona o no lo uso, no pierdo mi tiempo en aprender como funciona"
 
Triste pero real.
 
Skamasle.com en freebsd
 
Si bien soy usuario de debian, desde debian 4 + gnome 2 ( ahora mate desktop ), he probado todo tipo de distritos,  mandrake, mandriva, fedora, todas la varidades de ubuntu   ( K XU, EDU etc ) suse, slackware, centos, almalinux, algo de arch pero no me va mucho esa filosofia de rolling release, no es personal es por un tema de trabajo, a nivel empresarial es imposible mantenerlo estable si vas a gestionar 1500 VPS.
 
En mi PC uso debian normalmente rama testing, aunque voy migrando entre testing y stable.
 
¿ Como se forjo, este blog, recién creado y por que ?
 
 
La idea es compartir un poco el día a día de problemas y como solventarlos, desde por que el IPv6 de digi funciona bien y por defecto con el wifi pero la config por cable no iba para nada... ?
 
En fin, veamos como hemos montado este blog.
 
2.5 euros cuesta el VPS, dirán que soy un tacaño y si un poco tacaño si, pero yo diría que esto es un proyecto para ser eficiente, bajo coste y exprimir el hardware, cualquier compraría un VPS de , 4 cores , 8 GB de RAM y 100 GB de espacio en disco para su blog con wordpress, lo llenaria de "parafernalia" ( mil plugins para nada ) y tan contento pero seguido abriria un ticket al departamento de soporte, diciendo que el VPS que contrato por 60 euros / mes no funciona bien, "su blog va lento" de esto hablaremos en la sección de vivencias, overhead de disco, 60 plugins y un largo etc..
 
Volvamos a lo que estabamos
 
2.5 euros por la VPS , IPv6 Only había que pagar 1 euro más por ipv4, pero le dejaremos esa gestión a cloudflare.
1 Core configurarmeos esto para manter al menos 80% de ese core libre
512 MB de RAM debería sobrarnos el 50% incluso bajo el ataque de algún bot
10 GB de espacio Sin duda no gastaremos mucho
Sistema freebsd 13, entre debian 13 y freensd, escogí freebsd por algunos motivos, ya la base nos consume unos 40 MB de RAM menos sin tener que hacer nada
Optimización se ira viendo con los días, de momento solo tenemos NGINX y SSH, con esto podríamos regatear y que nos quiten 256MB de RAM y pagar menos ? bromas, aparte, nos debería sobrar RAM para mantener este blog a flote.
 
Quitando ataques de red y demás, de recursos iremos sobrados.
 
 
 inicial servidor web
 
Primero instalamos nginx
 
pkg install nginx
 
En freebsd la ruta es algo distinta a linux, todo va a /usr/local/etc
 
En este caso vamos a editar:
 
/usr/local/etc/nginx/nginx.conf
 
Añadimos a http { el siguiente include:
 
    include /usr/local/etc/nginx/config/skamasle.conf;
 
Podemos editar directamente nginx.conf y tenerlo todo ahí, pero es mejor siempre empezar con todo ordenado.
 
Luego creamos carpetas, config y creamos un archivo skamasle.conf donde ira nuestra config de nginx
 
 
server {
    listen 80;
    listen [::]:80;
    server_name skamasle.com;
    server_name www.skamasle.com;
    return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
        listen [::]:443 ssl;  
server_name www.spamtador.com;
  server_name skamasle.com;
 
  ssl_certificate     /home/skamasle/ssl/ssl.crt;
  ssl_certificate_key /home/skamasle/ssl/ssl.key;
  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
  ssl_prefer_server_ciphers off;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 1d;
 
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net; style-src 'self' 'unsafe-
  inline'; img-src 'self' data:;" always;
add_header X-Frame-Options "DENY" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
 
  root /home/skamasle/public_html;
  index index.html index.htm;
  access_log /home/skamasle/logs/access.log;
  error_log  /home/skamasle/logs/error.log;
 
  include /usr/local/etc/nginx/bots.conf;
  location ~ /\. {
  deny all;
  access_log off;
  log_not_found off;
  }
location ~ /(config|database|logs|tmp)/ {
  deny all;
  access_log off;
  log_not_found off;
  }
 
  # Cache estáticos
  location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
  expires 1y;
  add_header Cache-Control "public, immutable";
  try_files $uri =404;
  }
 
  location ~* \.(log|sql|env|gitignore|gitattributes)$ {
  deny all;
  }
 
  location ~* \.(txt|md)$ {
  expires -1;
  add_header Cache-Control "no-cache, no-store, must-revalidate";
  }
  }
 
 
 
Detalles importantes:
 
 
  ssl_certificate     /home/skamasle/ssl/ssl.crt;
  ssl_certificate_key /home/skamasle/ssl/ssl.key;
 
 
Necesitamos un certificado, yo he usado el de 15 años de cloudflare, esto se genera en cloudflare > SSL/TLS > servidor orgigen, se genera un SSL y se añade ahí
 
Luego el SSL de acceso al publico, se lo delegamos a cloudflar ey que cloudflare genere uno gratuito, este SSL de la configuración de NGINX es para cifrar los datos entre el servidor y cloudflare.
 
No suelo usar cloudflare, pero sin duda que para gestionar DNS nos facilita las cosas y como no tenemos IPV4 para ahorrarnos 1 euro, cloudflare nos va a solucionar es parte.
 
Luego en el servidor simplemente creamos las carpetas que necesitamos y listo
 
 
mkdir -p /home/skamasle/{ssl,public_html,logs}
 
 
Tambien podemos crear un fichero vacio 
 
touch /usr/local/etc/nginx/bots.conf
 
Yo ahí añadiré configuración para bloquear bots.
 
 
Con eso estamos  listos para subir el nuevo blog, en este caso no vamos a usar PHP, demasiados recursos, mucho IO overhead para 512 MB de RAM y 1 core y almacenamiento dudoso.
 
De hecho no vamos a gestionar el sistema desde el VPS, lo vamos a gestionar desde fuera, lo que nos evita hacer backups y demás en el servidor..