• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse
    1. Foro
    2. cobito
    3. Mensajes
    Desconectado
    • Perfil
    • Siguiendo 0
    • Seguidores 6
    • Temas 779
    • Mensajes 6,846
    • Grupos 5

    Mensajes

    Recientes Mejor valorados Controversial
    • Gestión del archivo .htaccess

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.


      Procedimiento

      Como root:

      a2enmod rewrite
      nano /etc/apache2/sites-available/000-default.conf
      

      Añadir dentro de la sección VirtualHost correspondiente una sección Directory:

      <Directory "/var/www/html">
         Require all granted
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
      </Directory>
      
      /etc/init.d/apache2 restart
      

      Explicación

      El archivo .htaccess es un archivo de configuración de vital importancia que se aplica a cada subcarpeta de nuestro servidor. En él podemos hacer cosas como bloquear ciertas páginas, limitar el enlazado de cierto material (como imágenes) y muchos más.

      Para habilitarlo, lo único que tenemos que hacer es activar el módulo rewrite, así que escribimos en consola como root:

      a2enmod rewrite
      

      Ahora debemos editar con Nano el archivo000-default.conf como root:

      nano /etc/apache2/sites-available/000-default.conf
      

      Ahí debemos crear una sección Directory dentro de una sección VirtualHost. Eso se hace copiando el siguiente texto dentro de una sección VirtualHost:

      <Directory "/var/www/html">
         Require all granted
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
      </Directory>
      

      En el campo Directory deberemos poner la carpeta donde queremos que .htaccess funcione. Si queremos habilitar .htaccess en unas carpetas y deshabilitarlo en otras, podemos usar un esquema como el siguiente:

      <Directory "/var/www/html">
         AllowOverride None
      </Directory>
      
      <Directory "/var/www/html/wordpress">
         Require all granted
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
      </Directory>
      

      Una configuración funcional quedaría así:
      4749945f-a8a1-45de-aca0-eb26cd29ad9f-imagen.png

      De esta forma, .htaccess funcionará en /var/www/html/wordpress pero no en /var/www/html.

      Cada sección Directory es independiente y puede haber tantas como necesitemos en una sección VirtualHost.

      Por último reiniciamos el servidor Apache con:

      /etc/init.d/apache2 restart
      
      publicado en Sistemas operativos
      cobitoC
      cobito
    • RE: Información & anuncios

      @krampak dijo en Información & anuncios:

      Madre mía, qué odisea jefe!

      Pues sí, esta vez ha sido duro. Muchos servicios y cada uno de su padre y de su madre.

      @Fassou dijo en Información & anuncios:

      Este es Atlas cargando con la bóveda celeste, o @cobito levantando el servidor, ahora no me acuerdo 🤣

      Un grande!

      Si Atlas estuviera hecho un tirillas, lo mismo habría duda 😅

      @Sylver dijo en Información & anuncios:

      Qué vergüenza no poder devolverte ni una ínfima parte de lo que haces por nosotros @cobito... Menudo currazo 😮

      De una forma u otra, parece que Debian sigue rodeado de peligros como ya me dijese aquel profesor de informática hace años... Pero apuesto lo que sea a que él no tuvo que enfrentarse a tantos añadidos como en este caso.

      En fin, un millón de gracias como siempre, y espero poder contribuir como buenamente pueda con la causa.

      ¡Saludos!

      Vergüenza ninguna. Con que os paséis de vez en cuando a mirar, ya va bien. Debian no es la más fácil aunque esta vez ha sido más mala suerte que otra cosa.

      Bueno, pues en principio, ya está todo funcional. He visto que incluso se han solucionado problemas que había a la hora de visualizar las revistas del museo (un problema que había que la versión de Imagemagick anterior) y las emulaciones vuelven a funcionar (algo raro que hacía Nginx que no supe arreglar).

      Al foro todavía tendré que darle una vueltecilla con el CSS.

      publicado en General
      cobitoC
      cobito
    • RE: Información & anuncios

      La idea inicial estaba clara: instalar Debian, instalar la paquetería, mover ciertos datos de un sitio a otro, instalar los distintos componentes y a volar. En un par de horas debería estar listo. No es la primera vez que lo hago y no debería haber demasiadas dificultades. La realidad: hoy soy 20 años más viejo que la semana pasada.

      Algunas cosas han salido a la primera:

      Las páginas de la casa (portada, banco de pruebas y museo) no parecen tener grandes incompatibilidades con la nueva PHP 8.2 (tan solo ha sido necesario un pequeño cambio en la portada): aquí todavía habrá que hacer una comprobación más exhaustiva. Además, la gente de Nodebb no ha hecho cambios mayores en la API del foro por lo que todos los componentes se han seguido comunicando con el sistema de registros sin necesidad de cambios.

      Sobre el foro junto con su base de datos, ha sido coser y cantar. Aquí la única cuestión es que sí que ha habido una gran cantidad de cambios en la maquetación de las páginas, por lo que el CSS ha quedado parcialmente obsoleto. Lo he ido retocando, aunque quedan todavía detalles por pulir. Hay una gran cantidad de novedades estéticas y, desde mi punto de vista, la versión móvil ha ganado bastante enteros. Todavía falta por resolver un problemilla de permisos que está teniendo el venerable equipo de moderadores que espero que no sea gran cosa.

      Por otra parte, es la primera vez en muchos años que usamos la versión oficial de Debian de Redis, lo cual, desde el punto de vista del mantenimiento, es un gran avance. Enorme avance. Estoy muy contento con esto.

      Y hasta aquí lo bonito. El resto ha sido una bajada a los infiernos:

      · Muchos blogs no son compatibles con PHP 8.2, por lo que tendré que hacer una actualización manual para cada uno de ellos. No debería ser gran cosa, pero hay que hacerlo. Esto me lo voy a tomar con tranquilidad.

      · Uno de los cambios en la organización de los directorios ha consistido en mover todo el contenido "pequeño" (miniaturas, plugins...) de la instancia de Peertube a una unidad SSD para descargar de transacciones al NAS (estaba ya muy petado). Tenía por aquí una flamante unidad SSD casi a estrenar pero, ¡ohh, casualidades de la vida!, es incompatible con la controladora de disco. La enchufas y funciona. Al cabo de las horas, Linux empieza a informar de errores E/S con el ATA. Reinicias y la BIOS deja de detectarla. Si apagas el ordenador y lo enciendes, vuelve a funcionar. He probado con varios cables y con varios conectores SATA pero no, es el maldito disco (que, por cierto, funciona perfectamente en otro equipo). He tenido que echar mano de una no tan nueva unidad SSD (aunque se encuentra en buen estado de salud).

      · En Peertube supuestamente se pueden configurar individualmente los directorios de cada tipo de elemento: temporales, videos, miniaturas, etc. Lo he configurado para repartirlo entre el NAS y la SSD y aparentemente todo funcionaba salvo que desde Internet, no se podía acceder al contenido del NAS. ¿Por qué? Pues porque el CMS usa un puente en Nginx para acceder directamente a los datos definiendo algo llamado 'root'. El problema es que sólo puede haber un 'root'. Entonces, ¿cuál eliges: el NAS o el SSD? Pues después de unas cuantas vueltas, he elegido el SSD creando enlaces simbólicos a las carpetas del NAS. Es una opción poco limpia, pero es la única opción que he encontrado.

      Bueno, hasta aquí han pasado 9 horas, todavía queda por poner a funcionar Mastodon (¡jaja! que alguien me sacrifique, por favor) y empiezo a cuestionarme algunas decisiones. Lo dejo para el día siguiente porque todos los primeros domingos de cada mes, el NAS hace una comprobación de la matriz y eso hace que todo vaya muy lento durante unas horas.

      · ¡Mastodon! Esto son ya palabras mayores. Tanto, que lo voy a dividir en párrafos:

      Mastodon estaba alojado en el disco de sistema. Pero el contenido ocupa bastante y la única forma de que sea sostenible a largo plazo es moverlo al NAS. La operación es sencilla: conectar el antiguo disco y copiar al NAS los datos. Los datos ocupan unos 240GB (no es excesivo), están repartidos en unos 800.000 archivos (es normal porque son imágenes, sus miniaturas y videos cortos) y todo esto está repartido en (¡atención!) dos millones y medio de carpetas. Cualquier persona normal se preguntaría ¿por qué son necesarias millones de carpetas para almacenar cientos de miles de archivos?

      Esta forma de repartir los datos me ha hecho darme cuenta de lo brutalmente lento que es crear dos millones y medio de carpetas en discos mecánicos. Es increíblemente lento; nunca lo hubiera imaginado. En principio, copiar 240GB al NAS debería haber tardado en torno a una hora. Hacer esta copia ha llevado 14 horas. 14 horas más que ha estado la instancia caída.

      Una vez que los archivos están copiados, llega la hora de instalar el CMS. Las instrucciones oficiales están mal. Dicen que hace falta Ruby 3.0.6. Instalo esa versión y llegado a cierto punto, da error. Intento la instalación varias veces más por si me he saltado algo hasta que me da por analizar minuciosamente los logs (sí, esto ha sido culpa mía por no haberlo hecho antes). Resulta que la última versión de Mastodon usa Ruby 3.2.2.

      Todo empieza a ir bien hasta que se pone a compilar. Pienso que quizás he cometido otro error y empiezo la instalación otro par de veces con el mismo resultado. A estas alturas, he instalado Mastodon 8 veces. ¡Ocho! Empiezo a pensar que la carencia de ciertas capacidades cognitivas podrían estar impidiendo llevar a cabo esta tarea. Entonces me encuentro a un tipo en Reddit que dice que lleva ya 12 instalaciones. ¡Eh, mirad qué pringao, DOCE veces, JA! -le grito a la pantalla, sintiendo cómo mi orgullo se recompone parcialmente.

      Pasados unos minutos, recupero mi frágil equilibrio mental y me da por consultar la solución que algún fulano le ha dado a este pobre desgraciado. Resulta que estoy usando una versión demasiado reciente de NodeJS. La versión que estoy usando es la 18 LTS que salió en abril de 2022. ¿Cómo es posible que la última versión de Mastodon, que salió hace dos semanas, no sea compatible con un NodeJS que lleva un año y medio existiendo? Venga, que alguien responda, ¿algún filósofo en la sala?

      Dejando de lado las cuestiones humanistas, miro qué versión necesita Mastodon para funcionar: la versión 16 ni más ni menos. Una versión que lleva sin soporte desde el 11 de septiembre. Sí, señores: la mayoría de instancias de Mastodon que hay levantadas están usando un componente crítico sin soporte. ¿Qué os parece? ¿Dónde están esos filósofos, por favor?

      Total, que encuentro una chapuza que permite compilar Mastodon con NodeJS 18, funciona y ya: restauro la base de datos, la migro a la nueva versión, actualizo los feeds y a funcionar. NOTA: Este último párrafo ha sido adaptado a un público infantil. Durante el procedimiento, se ha cometido un delito continuado de blasfemia, pero esta vez debido a mi propia ineptitud.

      Y ya ascendiendo de las profundidades de la locura, me he dado cuenta de algo interesante y es que Docker se ha convertido en el estándar de facto. De hecho, empieza a ser complicado encontrar documentación para hacer ciertas cosas "a pelo". Y seguramente, algunas de las dificultades han surgido de ese cambio de paradigma. Así que para la próxima vez, voy a tener que formarme sobre esto porque ya es el presente y además parece una forma increíblemente cómoda de instalar cosas. Espero que sea con Debian 14.

      En fin, vaya tocho. Pero ¿y lo a gusto que me he quedado?

      PD: Como de costumbre, si veis algo raro, no dudéis en comentarlo.

      publicado en General
      cobitoC
      cobito
    • Resumen semana del 25 de septiembre de 2023

      Memoria LPCAMM

      Samsung ha presentado un nuevo formato para la memoria de bajo consumo LPDRR. Se llama LPCAMM (Low Power Compression Attached Memory Module), se espera que se alcancen los 128GB LPDDR5 por módulo y empezará a comercializarse el año que viene.

      Servidores virtuales con Apache

      Imagina que quieres ofrecer distinto contenido desde distintos dominios y subdominios usando una sola IP pública desde tu servidor casero. ¿Cómo sabe Apache qué ofrecer según la petición del cliente? En esta sección ponemos a punto la configuración de dominios en nuestro servidor web.

      Fallo de seguridad en tarjetas gráficas

      Un grupo de investigadores ha descubierto un fallo de seguridad en tarjetas gráficas que permite a páginas webs maliciosas leer nombres de usuario y contraseñas de otros sitios. Se ha creado un archivo que permite explotar el fallo aunque sólo funciona en Chrome y Edge. Firefox y Safari parecen ser inmunes.

      Firefox 118 disponible

      La centésima décimoctava versión de Firefox viene con traducción de páginas web local, es decir, sin necesidad de usar servicios en la nube. Además, a partir de esta versión se usa FDLIBM para mejorar el anonimato cuando se reproduce audio al evitar la identificación de usuarios de forma indirecta.

      Core i3-13100F

      Alguien nos ha traído un Core i3-13100F. Se trata de un Raptor Lake que viene con 4 núcleos P y ningún E con los que se queda en la posición 77 del ranking general.

      Anuncian la Raspberry Pi 5

      Raspberry Pi 5 saldrá el mes que viene y vendrá con un procesador Cortex-A76 a 2.4GHz con 4 núcleos, una GPU VideoCore VII a 800MHz, una interfaz PCI-E 2.0, un puerto HDMI con dos salidas 4Kp60 con soporte para HDR, dos buses USB 3.0, otros dos 2.0, ethernet gigabit, conexión de alimentación USB-C, Bluetooth 5.0 y un precio de salida de 60€ para la versión con 4GB de RAM.

      publicado en Portada
      cobitoC
      cobito
    • RE: Guía para montar un servidor en Debian 12 Bookworm

      @sinchan2 Me alegra que pueda servir de ayuda. A ver si tengo un poco de suerte y puedo sacar tiempo las dos próximas semanas para darle un empujón.

      Por cierto, bienvenido después de 13 años.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • RE: Información & anuncios

      La actualización está siendo una operación más complicada de lo inicialmente previsto. Queda por poner a funcionar Mastodon y los Blogs además de multitud de pequeños detalles.

      Como veis, el foro tiene un aspecto extraño. En los próximos días iré arreglando el CSS para que vuelva a verse como antes. Cuando esté todo terminado, escribiré con los detalles.

      publicado en General
      cobitoC
      cobito
    • Instalación de Debian para un servidor

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.

      Resumen

      Sigue los pasos habituales de instalación. Cuando llegues a la selección de componentes a instalar, marca sólo "SSH server" y "Utilidades estándar de sistema". El resto de opciones las dejamos desmarcadas.

      Explicación

      Debian, al igual que cualquier otra distribución actual, resulta extremadamente fácil de instalar. No obstante, por tratarse de un servidor habrá que elegir un par de opciones. A día de hoy resulta cada vez más difícil encontrar máquinas con unidades ópticas y en el caso concreto de un servidor, por cuestiones de eficiencia energética ni siquiera es recomendable instalar una, por lo que el proceso para realizar la instalación se podría querer hacer desde una unidad de memoria USB.

      Para arrancar la imagen de disco desde una unidad USB, desde Linux puedes usar esta orden como root:

      cat debian.iso > /dev/sdX
      sync
      

      Donde X es el dispostivo USB al que se copiará la imagen. ¡Atención! Todo el contenido del dispositivo será eliminado. Asegúrate de que lo eliges correctamente. Para ver los dispositivos de almacenamiento conectados y sus rutas, escribe en consola esto como root:

      fdisk -l | grep Disk
      

      Una vez que tenemos la imagen en cualquier medio, lo arrancamos y elegimos la opción "Graphical Install".

      d3631453-5455-4a2d-b53e-d8eea8156b4b-imagen.png

      Tras unos segundos nos aparece la selección del idioma. Elegimos "Spanish – Español"

      60140926-ee3c-42b1-bccd-4a678da1ee01-imagen.png

      Cuando hacemos clic en "Continue", el idioma del instalador cambia y nos pregunta por el país. Elegimos el nuestro y le damos a continuar.

      b331f9dc-e9dc-4395-8360-7cd2268a8ba4-imagen.png

      En la siguiente pantalla nos preguntará por la distribución del teclado. Una vez terminada la configuración local, comienzan las preguntas de carácter técnico. La primera es el nombre de la máquina. En principio este nombre es irrelevante y se puede cambiar con posterioridad aunque sería conveniente elegir uno distintivo.

      eba7929a-89e5-402f-8679-130409d6341d-imagen.png

      Ahora llega el momento de elegir la clave de root. Es fundamental que esta contraseña sea muy robusta porque nuestro servidor va a estar expuesto a Internet y las contraseñas débiles son vulnerables a los ataques de fuerza bruta.

      c05c0135-af8f-4454-b832-29994854f230-imagen.png

      Muchas veces, la creencia es que una contraseña compleja, con caracteres no alfabéticos y sin sentido es la mejor opción porque nadie podría averiguarla. La realidad es que en un ataque de fuerza bruta, la coherencia de la contraseña es irrelevante (siempre que no sea excesivamente simple) por lo que una clave con muchos caracteres hará nuestro sistema más seguro. Como con casi todas las experiencias en sistemas Unix-like, los chicos de xkdc ya han tratado el tema:

      41e300de-4346-469b-871c-c85cf26b8954-imagen.png
      Viñeta sobre la seguridad de las contraseñas. Fuente: xkcd

      Para terminar con la configuración de las credenciales, introducimos nuestro nombre y una contraseña para nuestro usuario. Una vez más, una contraseña robusta resulta de vital importancia.

      Elegimos la zona horaria y llega el particionado del disco. Esta opción depende de cada caso, pero si vamos a montar un servidor lo habitual es usar todo el disco duro para dicho servidor, sin otros sistemas operativos instalados. Teniendo en cuenta esta premisa, el método de particionado que elegimos será "Guiado – utilizar todo el disco".

      e3a8a5b9-334d-4caf-8603-7571513a9d16-imagen.png

      Si tenemos varios discos duros instalados, deberemos elegir aquel donde queremos instalar el sistema.

      fd9f4119-cde8-444e-8d90-b00dc7ac3105-imagen.png

      Para finalizar el particionado, debemos elegir el esquema de particiones. En nuestro caso vamos a separar la partición raíz de la /home, aunque la opción de separar /var y /tmp junto a /home no es una mala idea. Si se producen fallos lógicos en el sistema de archivos (por ejemplo en un apagón o porque el PC se quede colgado cuando había transacciones en curso), el sistema va a intentar reparar los errores automáticamente durante el arranque. Desafortunadamente, los sistemas de archivos Ext no permiten su comprobación cuando están montados y para poder ejecutar la herramienta de comprobación (fsck), es necesario montar y mantener montada la partición donde se encuentra el programa. Eso quiere decir que el analizador del sistemas de archivos sólo va a comprobar las particiones que estén desmontadas y esas son todas menos la que tiene fsck. Si mantenemos /var y /tmp en la partición raíz, no se solucionarán posibles fallos lógicos. Téngase en cuenta en por defecto, las bases de datos de MySQL (MariaDB) y Redis almacenan su información en /var y un fallo en la partición puede provocar pérdidas de datos sin que lo sepamos.

      8a8dea36-4ed0-4b18-8e27-138edc3ccda4-imagen.png

      Una vez introducidas todas las opciones, aparece un cuadro-resumen con los cambios que se realizarán en el disco. Si por cualquier razón, has particionado el disco de otra forma, es recomendable que revises los cambios previstos para no llevarte sorpresas desagradables.

      Sobre la partición de intercambio (Swap) en sistemas de escritorio se recomienda que tenga el mismo tamaño que la RAM porque es donde se almacena el estado del sistema cuando se hiberna el equipo. De esa forma, es necesario que quepa todo el contenido de la RAM. En un servidor, la hibernación no se va a usar pero la partición de intercambio puede resultar muy útil para optimizar el uso de la RAM. Linux tiene una política de gestión de memoria con la que cuando una porción de datos almacenados en RAM lleva mucho tiempo sin usarse, estos se almacenan en la Swap y deja esa porción de RAM libre. En un servidor puede llegar a ser interesante sacarle provecho a esta funcionalidad para optimizar los recursos al máximo. Además, en caso de que nos quedemos sin RAM de forma puntual, nos puede sacar de un apuro que podría requerir reiniciar el sistema. El tamaño depende en gran medida de qué tipo de servicios se vayan a instalar, pero si ves que te va a sobrar disco, sé todo lo generoso que puedas. En mi caso, tengo una partición de intercambio de 96GB en un sistema con 32GB de RAM y en alguna ocasión (casos muy especiales, pero que se han presentado) me ha salvado hasta el último byte de dicha partición.

      0b755cd4-e1f8-4bda-b487-6b442f6514c9-imagen.png

      Una vez confirmado, comienza la instalación del sistema base que son los componentes esenciales para que el sistema funcione. Sobre ese sistema base se instalarán los servicios que vamos a necesitar.

      4888028a-da29-4eaa-8361-54a5e8a90ddc-imagen.png

      Después de unos minutos llega el turno de elegir nuestro país una vez más. De esta elección dependerá el espejo desde donde se descargarán los paquetes para instalar el resto del sistema y las actualizaciones futuras.

      4ea85fdf-283c-49c2-b9b3-2a92bbe977a7-imagen.png

      Cualquier espejo nos valdrá.

      334bad7c-c47e-4c14-a93c-f1fcc26c4c7e-imagen.png

      Si tu servidor está conectado directamente a Internet o lo haces a través de un router, la configuración de proxy la deberás dejar en blanco.

      Cuando termine de actualizar la base de datos de paquetes, automáticamente comenzará una segunda fase de instalación de componentes hasta que aparece un mensaje en el que se nos pide si queremos participar en las estadísticas de uso de paquetes. Aquí podemos elegir la opción que queramos.

      d6be0041-6fc2-4470-a92b-df612e30e9d3-imagen.png

      Ahora llega el momento de seleccionar los componentes que queremos instalar. Como podemos ver en esta pantalla, tenemos la opción de elegir entre varios entornos de escritorio y varios servidores. En nuestro caso, tan solo vamos a dejar marcadas la opciones "SSH server" y "Utilidades estándar de sistema". El resto de opciones las dejamos desmarcadas.

      4fb8923d-9986-406f-b842-d9a1a2463509-imagen.png

      Ahora comenzará la última fase de la instalación de componentes que tardará unos minutos dependiendo de la velocidad de nuestra conexión a Internet.

      79b46b39-dfc2-44fb-a00c-2a7f944d1f86-imagen.png

      En la siguiente pantalla nos pregunta que queremos escribir en el sector de arranque para que apunte a Grub. La respuesta es sí.

      80002128-0c07-4a0d-b464-1f698b7aaa1a-imagen.png

      También habrá que especificar en qué disco físico se graba el sector de arranque. Si sólo tienes un disco duro, elígelo. Si tienes varios discos duros dependerá de tus preferencias y del disco que use la BIOS para arrancar. Lo normal es elegir el disco donde se ha realizado la instalación.

      41d59653-592b-49ce-8345-60809d0cf4fb-imagen.png

      El proceso, que incluye configuraciones automáticas postinstalación, tardará unos segundos. Cuando termine, aparecerá un último mensaje en el que nos dicen que extraigamos el medio de instalación. Lo hacemos y le damos a continuar.

      a287ec7d-2c15-45cd-bd2d-f8294431f6af-imagen.png

      El sistema se reiniciará y pasados unos segundos nos encontraremos con esta pantalla:

      2ea94195-a9cb-4ac4-8418-efef60f0b757-imagen.png

      El sistema está instalado y listo para empezar a meterle mano.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Servidores virtuales con Apache

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.


      Procedimiento

      Como root:

      nano /etc/apache2/sites-available/000-default.conf
      

      Usar como plantilla esto:

      <VirtualHost *:80>
         DocumentRoot "/home/Servidor/hardlimit.com/"
         ServerName hardlimit.com
         ServerAlias hardlimit.com
         CustomLog ${APACHE_LOG_DIR}/access_hardlimit.log combined
      </VirtualHost>
      
      nano /etc/apache2/apache2.conf
      

      Eliminar todas las secciones Directory que encontremos en el archivo.

      /etc/init.d/apache2 restart
      

      Explicación

      Si queremos acceder a páginas diferentes desde dominios o subdominios diferentes con un único servidor y una única IP pública, debemos usar servidores virtuales (VirtualHosts). Desde aquí no solo es posible decirle al servicio qué página debe abrir según con qué dominio reciba la petición, sino que es el lugar para elegir el directorio local donde se almacena la web.

      Los servidores virtuales se configuran en en el archivo '000-default.conf' por lo que habrá que ejecutar como root esto:

      nano /etc/apache2/sites-available/000-default.conf
      

      En ese momento, el archivo se abre con Nano e inicialemente nos vamos a encontrar con el siguiente texto:

      ee0e58f9-49a0-43ab-8109-74266fe806f5-imagen.png

      Las lineas que aparecen para configurar son:
      · ServerAdmin: correo electrónico del administrador
      · DocumentRoot: carpeta local donde se almacena la web
      · ErrorLog ruta donde se registran los errores del servidor

      Tal y como está el archivo inicialmente, sea como sea que accedamos al servidor desde un navegador web (desde cualquier dominio apuntando a la IP), se mostrará la página a la que apunta DocumentRoot.

      Una buena plantilla para un par de servidores virtuales puede ser como la que sigue:

      <VirtualHost *:80>
         DocumentRoot "/home/Servidor/portada/"
         ServerName hardlimit.com
         ServerAlias hardlimit.com
         CustomLog ${APACHE_LOG_DIR}/access_hardlimit_com.log combined
      </VirtualHost>
      <VirtualHost *:80>
         DocumentRoot "/home/Servidor/banco_pruebas/"
         ServerName bm.hardlimit.com
         ServerAlias bm.hardlimit.com
         CustomLog ${APACHE_LOG_DIR}/access_bm_hardlimit.log combined
      </VirtualHost>
      

      Poniendo el nombre del dominio tanto en las opciones ServerName como ServerAlias, la página mostrada desde ese dominio será la que apunta DocumentRoot. En el caso de que no coincida, se servirá la web que aparezca en el primer VirtualHost de la lista.

      En esa plantilla, vemos dos secciones VirtualHost: una para atender las peticiones desde el dominio raíz hardlimit.com otra para el subdominio bm.hardlimit.com. Cada una tiene sus configuraciones independientes y se pueden añadir tantas secciones VirtualHost como sean necesarias.

      Como hemos configurado nuestros sitios individualmente, las configuraciones genéricas del archivo apache2.conf las debemos eliminar para que no entren en conflicto. Para eso:

      nano /etc/apache2/apache2.conf
      

      Ahora eliminamos todas las secciones 'Directory' que encontremos en el archivo. Con eso nos aseguramos de poder usar cualquier carpeta diferente a /var/www/html que viene por defecto.

      Para que se apliquen los cambios, deberás reiniciar Apache desde root con:

      /etc/init.d/apache2 restart
      

      Pero ¿cómo funciona todo esto? El proceso es el siguiente:
      · Escribes hardlimit.com en el explorador web.
      · Tu ordenador le pide al servidor DNS la IP de dicho dominio.
      · Tu ordenador se conecta a dicha dirección IP y dice al servidor web que quiere comunicarse con hardlimit.com (esta información está contenida en el encabezado Host de la petición HTTP).
      · Nuestro servidor web comprueba la configuración para averiguar qué contenido ofrecer con esa petición.
      · Si hardlimit.com está como parámetro de ServerName o ServerAlias en una sección VirtualHost, se ofrece el contenido de lo que haya en la ruta DocumentRoot. Si no la encuentra, ofrece lo que diga el primer VirtualHost de la lista. Si no existe ningún VirtualHost, recurre a la configuración almacenada en el archivo de configuración de Apache que se encuentra en /etc/apache2/apache2.conf.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Resumen semana del 18 de septiembre de 2023

      Se presenta ATX v3.1

      La primera revisión de ATX 3 viene con cambios en el conector 12VHPWR en el que se ha modificado la longitud de los pines internos del conector que va en la PCB.

      Propietarios y permisos en archivos y carpetas en Linux

      En nuestra andadura para poner a punto nuestro servidor casero con Debian, hemos hecho una segunda parada técnica para explicar qué son y cómo funcionan los permisos de archivos y carpetas en Linux. Esto será necesario de cara a aislar el contenido al que accederán y escribirán ciertos servicios expuestos a Internet.

      Paseo por una fábrica de Intel

      En esta extensa entrada, se hace un tour por una fábrica de encapsulado de circuitos integrados de Intel, uno de los procesos que está causando un cuello de botella en ciertas tecnologías.

      Accediendo a nuestro servidor por SSH

      Una vez que ya hemos instalado Debian en nuestra máquina, llega el momento de acceder a ella a través de SSH por primera vez. Para ello, tendremos que averiguar la IP que ha sido asignada por el servidor DHCP, un proceso que puede no ser inmediato.

      Caché en 3D

      Intel va a adoptar una topología de caché apilada en 3D similar al que hace ahora AMD con su V-Cache en 3D.

      Cámara a 4.8 millones de fps

      Un grupo de investigadores ha conseguido una cámara capaz de grabar a 4.8 millones de fotogramas por segundo usando sensores CCD/CMOS, con lo que los costes se reducen drásticamente.

      RaiserFS empeza desaparecer

      La gente del kernel ha decido ir eliminando paulatinamente el soporte para el sistema de archivos RaiserFS ya que a día de hoy, existen alternativas como BTRFS y ZFS con mejores funciones y un mejor mantenimiento.

      Según Nvidia, la resolución nativa es cosa del pasado

      Nvidia ha dicho que las nuevas tecnologías de escalado, como su DLSS, han venido para quedarse y que las resoluciones nativas no volverán. La compañía quiere priorizar esfuerzos en mejorar su IA por encima de otros aspectos.

      Nueva técnica para el ahorro de batería

      Intel está trabajando en una nueva tecnología que mejora el ahorro de batería que consiste en apagar la retroiluminación de la pantalla cuando no se mira a ella.

      Configurando la red en Linux

      Llegamos al último paso en la puesta a punto de Debian antes de empezar a instalar y configurar servicios en nuestro servidor casero. La configuración de la red es fundamental para asegurarnos una IP local estática hacia donde redirigir los puertos que escucharán desde Internet.

      La Steam Deck no actualizará su hardware próximamente

      Valve ha dicho que, aunque están pensado ya en la Steam Deck 2, la nueva versión no estará lista, al menos, hasta dentro de dos años.

      Instalando Apache en Debian

      Por fin llega el momento de instalar servicios en nuestro servidor casero. Vamos a empezar con el servidor web Apache, que nos permitirá compartir páginas web en formato HTML con el resto del mundo.

      Core i7-12700KF

      Alguien nos ha traído un Core i7-12700KF. Se trata de un Alder Lake con 8 núcleos P y 4 E que supera el millón de puntos a cambio de unos abultados 125W de TDP.

      publicado en Portada
      cobitoC
      cobito
    • Servidor web Apache en Debian

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.


      Procedimiento

      Como root:

      apt-get update
      apt-get install apache2 apache2-doc apache2-utils
      

      Explicación

      Apache es uno de los servidores web más extendidos y es el que vamos a usar en esta guía. Debian viene con Apache 2.4, la última versión estable del programa.

      Para instalar Apache 2 hay que escribir la siguiente orden en consola como root :

      apt-get update
      apt-get install apache2 apache2-doc apache2-utils
      

      En ese momento nos aparece la siguiente información:
      b0461059-a6b5-4d35-88fa-73eae6982295-imagen.png

      Confirmamos las dependencias y esperamos unos minutos. Una vez finalizada la instalación, el servicio se iniciará y lo hará cada vez que arranquemos el equipo. Para comprobar que el servidor web está funcionando correctamente, no tememos más que acceder a la IP local de nuestro servidor desde un navegador web:

      0935ac4c-6b6d-4e40-b30c-05cd698228a3-imagen.png

      Por defecto, los archivos del servidor web se almacenan en /var/www/html donde encontrarás el archivo 'index.html' que se muestra por defecto (la página mostrada más arriba). Ese archivo deberá ser sustituido por tu index.html.

      La ruta se puede cambiar (lo veremos en el siguiente capítulo). En cualquier caso, puedes empezar a subir tu contenido a dicha carpeta y será accesible desde ya.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Configuración de la red en Linux

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.


      Procedimiento

      Como root:

      nano /etc/network/interfaces
      

      sustituir las últimas dos lineas por:

      auto enp0s3
       iface enp0s3 inet static
       address nuestra_ip_local
       netmask máscara_de_subred
       gateway puerta_de_acceso
      

      NOTA: Recuerda que enp0s3 es el nombre de tu dispositivo de red y que este puede ser diferente al del ejemplo. Para saber el nombre de tu dispositivo de red, puedes escribir en consola:

      ip a
      

      Para terminar:

      reboot
      

      Explicación

      Debido a la naturaleza del sistema (un servidor), es esencial contar con una IP local fija ya que nuestro router redireccionará los puertos a dicha IP. Si esta cambiara, nuestro servidor quedaría irremediablemente incomunicado con el exterior.

      Para configurar una IP local estática vamos a editar el archivo 'interfaces'. Para ello, como root, escribimos lo siguiente:

      nano /etc/network/interfaces
      

      Nos vamos a encontrar con esto:

      89f67bbc-db85-4b4b-8c8e-e71639359397-imagen.png

      Tan solo tenemos que sustituir las dos últimas lineas por:

      auto enp0s3
      iface enp0s3 inet static
      address nuestra_ip_local
      netmask máscara_de_subred
      gateway puerta_de_acceso
      

      · address indica la IP del dispositivo de red conectado a Internet. Deberá cumplir con la norma para evitar conflictos con direcciones IP públicas. Las direcciones privadas normalizadas están divididas en tres clases: clase A de 10.0.0.0 a 10.255.255.255, clase B de 172.16.0.0 a 172.31.255.255 y clase C de 192.168.0.0 a 192.168.255.255. La más extendida es la clase C.
      · netmask es la máscara de subred. Habitualmente vale 255.255.255.0.
      · gateway es la puerta de acceso predeterminada, es decir, la dirección IP local del router desde el que nos conectamos a Internet.

      Ten en cuenta que enp0s3 es el nombre de tu dispositivo de red y que este puede ser diferente al del ejemplo. Para saber el nombre de tu dispositivo de red, puedes escribir en consola:

      ip a
      

      En mi caso, el archivo de configuración quedaría de esta forma:

      c20b2802-c700-46d6-be0b-e96ceae190b2-imagen.png

      Una vez introducidos los cambios en el archivo de configuración, lo guardamos y salimos de Nano. Para aplicar los cambios debemos reiniciar el sistema empleando la siguiente instrucción como root:

      reboot
      

      Cuando se ha reiniciado, comprobaremos que la IP de nuestra máquina será la que hemos introducido. Evidentemente, para reconectarnos con SSH deberemos tener en cuenta este cambio:

      9e4a8a1f-124c-4c68-a1ae-30dca1aca35d-imagen.png

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Averiguar IP local en Linux

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.


      Resumen

      Si vas a manejar tu servidor mediante SSH desde el principio para poder desconectar todos los periféricos, averigua la dirección IP (de la tabla DHCP de tu router) y conéctate a él. Si no, regístrate con tu nombre de usuario localmente. Desde ahí podrás averiguar la dirección ip usando este comando:

      ip a
      

      Explicación

      Una vez que tenemos Debian instalado en nuestra maquina, hay que realizar algunas operaciones antes de tenerlo completamente listo para instalar y configurar servicios. Gracias a que hemos hecho una instalación incluyendo el servicio SSH, podemos desconectar todos los periféricos de nuestra máquina-servidor ya que a partir de ahora la vamos a configurar a través de SSH. Su manejo local sería idéntico.

      Manejar la máquina en remoto a través de SSH resulta muy cómodo por una cuestión de orden (no necesitamos múltiples periféricos) y porque podemos acceder a través de cualquier sistema operativo. De esa forma, se pueden consultar guías como esta y se pueden copiar y pegar comandos directamente.

      Lo primero que necesitamos es averiguar la IP con la que se ha registrado el servidor a través de DHCP (puedes probar con las primeras IPs que ofrece tu servidor DHCP o mirando la tabla de asignación de IPs de tu router). Si no consigues una pista, deberás acceder localmente a la máquina y usar el comando

      ip a
      

      Una vez tengas la dirección, podrás acceder desde cualquier consola a través de SSH, tal y como se ve en la imagen.

      7e323f5b-7183-4d6f-b1b7-f8b6e659e9af-imagen.png

      Como curiosidad, con el servidor recién instalado se puede comprobar que el consumo de memoria es realmente bajo: unos 200Mb de RAM. Eso cambiará conforme vayamos ejecutando servicios.

      2643791d-cc17-486c-bc01-97867ab8f610-imagen.png

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Propietarios y permisos en archivos y carpetas en Linux

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.


      En Linux, todos los archivos y carpetas tienen dueño. El dueño es el que decide sobre quien puede o no puede modificar, visualizar o ejecutar el archivo. Esos son los permisos.

      El único usuario que tiene la capacidad de leerlo y modificarlo todo es el usuario 'root' independientemente de los permisos del archivo o carpeta.

      Para modificar el dueño de un archivo o carpeta se usa el comando chown. Para cambiar el dueño de un archivo, tan solo debemos escribir:

      chown nombre_de_usuario:grupo /ruta/archivo
      

      Una de las peculiaridades de los sistemas de archivos para Linux es que almacenan estos atributos: cada archivo tiene asociado sus permisos y dueño.

      Por otra parte existen las agrupaciones de usuario (grupos). Varios usuarios pueden pertenecer a un mismo grupo. Es posible dar permisos a los usuarios de un determinado grupo, diferentes a los del resto.

      De esa forma existen tres agrupaciones a las que se pueden aplicar los permisos: el dueño del archivo o carpeta, los usuarios pertenecientes al grupo al que pertenece el dueño y el resto de usuarios. Para ver los permisos de los archivo, escribimos esto en consola:

      ls -l
      

      71b1251b-3566-49d4-9e52-2b195da6ab0e-imagen.png

      Los permisos están representados en la columna de la izquierda (ej: -rw-r--r--). Más a la derecha están el dueño y el grupo al que pertenece el dueño que habitualmente tiene el mismo nombre porque normalmente sólo hay un usuario por grupo (ej: root root). Veremos topologías de usuario/grupo más complejas en sistemas donde haya multitud de usuarios. En nuestro servidor, en principio, sólo vamos a tener un usuario personal y usuarios relacionados con los distintos servicios destinados a aislar, por seguridad, el sistema de archivos de dichos servicios.

      Centrémonos ahora en la primera columna. Vemos varios caracteres y guiones en una posición concreta. Los caracteres significan esto:
      · d: directorio
      · r: permiso de lectura
      · w: permiso de escritura
      · x: permiso de ejecución

      Esa información está dividida en cuatro columnas. De izquierda a derecha, la primera de ellas nos dice si es un archivo o un directorio y está formado por un solo carácter. Si aparece una 'd' es un directorio. Si aparece un guion es un archivo.

      La segunda columna tiene tres caracteres y se corresponde a los permisos del dueño del archivo. El primer carácter indica si hay permiso de lectura o no, el segundo de escritura y el tercero de ejecución. Si aparece un carácter, por ejemplo r, significa que hay permiso para lectura. Si aparece un guion significa que el dueño no tiene permiso para la lectura.

      La segunda columna representa los permisos de los usuarios pertenecientes al grupo del dueño. Y la tercera columna son los permisos para el resto de usuarios.

      Si miramos el archivo 'moodle-2.9.tgz' del ejemplo de arriba vemos que tiene estos caracteres (de izquierda a derecha):

      -: Es un archivo (no un directorio)
      r: El dueño del archivo puede leerlo
      w: El dueño del archivo puede escribir en él
      -: El dueño del archivo NO puede ejecutarlo
      r: Los usuarios del grupo pueden leerlo
      -: Los usuarios del grupo NO pueden escribir en él
      -: Los usuarios del grupo NO pueden ejecutarlo
      r: El resto de usuarios pueden leerlo
      -: El resto de usuarios NO pueden escribir en él
      -: El resto de usuarios NO pueden ejecutarlo

      La forma más simple de representar estos valores es en binario: un cero si no hay permiso y un uno si sí lo hay. Como cada campo tiene 3 bits (lectura, escritura y ejecución), se usa el sistema octal que va de 0 (000) a 7 (111). Por ejemplo, el valor 5 (101) indica que se puede leer y ejecutar, pero no escribir.

      De esa forma, chmod usa esta nomenclatura para modificar los permisos de los archivos. Inicialmente, el archivo 'moodle-2.9.tgz' del ejemplo tiene los atributos 644 (110-100-100). Si queremos que los usuarios del grupo no solo puedan leer el archivo sino que también puedan escribir en él, deberemos modificar la segunda columna de 4 a 6 quedando los permisos 664 (110-110-100), usaremos chmod de esta forma:

      chmod 664 moodle-2.9.tgz
      

      Evidentemente para realizar esta operación deberemos tener permiso de escritura en dicho archivo.

      Para los absolutos profanos en la materia, la traducción de binario a octal y viceversa es:
      000=0, 001=1, 010=2, 011=3, 100=4, 101=5, 110=6, 111=7.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Operaciones básicas en Linux

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.

      En esta sección se van a comentar algunas operaciones básicas que vas a necesitar a lo largo de esta guía. Échale un vistazo rápido y consúltala cuando se de por sabido algo en las explicaciones.

      Copiar y pegar en la consola remota

      Para copiar texto desde un terminal debes pulsar ctrl+shift+c.

      Para pegar texto a un terminal pulsa ctrl+shift+v.

      Recuerda que el cursor en la consola sólo se puede mover con las flechas del teclado, no con el ratón.

      Operaciones con el editor de texto Nano

      Para moverse por el documento hay que usar los cursores del teclado. Se puede seleccionar texto con el ratón, pero no se puede mover el cursor con el ratón. El principio para añadir y eliminar texto es similar al de otros editores de texto.

      Guardar cambios: ctrl+o, intro

      Salir: ctrl+x. Si has realizado cambios que no quieres guardar, pulsa 'n' a continuación.

      2bd5b051-a82d-448a-952a-6ace5c42311f-imagen.png
      Diálogo para guardar cambios antes de salir

      Buscar: ctrl+w. Una vez pulsado, escribe o pega el texto que quieres buscar y pulsa intro.

      Entrar como root y salir de root

      El usuario root es el más privilegiado del sistema y desde él se puede realizar cualquier operación. En la inmensa mayoría de pasos de esta guía es necesario estar registrado como root. Para entrar como root ha que escribir en consola:

      su
      

      A continuación se introduce la contraseña y se pulsa intro. Vemos que el usuario (primera cadena de caracteres del intérprete de comandos) cambia a root:

      3016c0d4-8ea3-4e5d-a9f3-764f381816d7-imagen.png

      Para salir del usuario root, escribe:

      exit
      

      728c81b0-352c-497b-b2ae-2d457cf488e7-imagen.png

      A veces será necesario escribir exit varias veces. Para asegurarte que has salido de root, mira el usuario que aparece en el intérprete de comandos (a la izquierda de la linea).

      Archivos de configuración y secciones

      La mayor parte de los programas en Linux almacenan sus configuraciones en archivos de texto que contienen parámetros junto al valor de dicho parámetro.

      Algunos archivos de configuración están estructurados en secciones. Una sección comienza con <Nombre de la sección (valores)> y termina con </Nombre de la sección>. Dos ejemplos son las secciones VirtualHost y Directory de Apache:

      <VirtualHost *:80>
      Parámetros dentro de la sección VirtualHost
      <Directory /ruta>
      Parámetros dentro de la sección Directory
      </Directory>
      </VirtualHost>

      La sección 'Directory' a su vez se encuentra dentro de la sección 'VirtualHost'.

      Los parámetros dentro de cada sección sólo actúan en la misma. De esa forma se pueden crear distintas secciones con propiedades diferentes que se mantienen aisladas las unas de las otras.

      Redirección de puertos en el router

      Si quieres tener la posibilidad de acceder a tus servicios desde Internet, deberás redireccionar los puertos de tu router al servidor. Lo único que necesitas saber es la IP local del servidor y los puertos que tienes que direccionar. Existen mulitud de guías publicadas para los distintos modelos de router. Los puertos más relevantes son:

      · FTP: 21
      · SSH: 22
      · Web: 80
      · Web segura (HTTPS): 443
      · aMule remoto (aMuleGUI): 4712
      · Transmission remoto y acceso mediante web: 9091

      Actualización del sistema

      Procedimiento

      Como root:

      apt-get update
      apt-get upgrade
      

      Explicación

      A pesar de haber realizado una instalación desde la red (con la que debería quedar un sistema completamente actualizado), vamos a llevar a cabo el proceso de actualización para asegurarnos de que disponemos de las últimas versiones de todo el software instalado.

      En primer lugar escribimos la siguiente orden como root:

      apt-get update
      

      Con esta operación se actualiza la base de datos de paquetes, de forma que el sistema ahora sabe qué paquetes están disponibles tanto para actualizar como para instalar. Cada vez que queremos instalar un paquete o actualizar el sistema, deberemos ejecutar dicha instrucción en caso de que llevemos algunas horas sin hacerlo.

      Ahora debemos ejecutar esto:

      apt-get upgrade
      

      Al haber realizado una instalación 'netinst' (la instalación se realiza con las última actualizaciones de los repositorios oficiales), no debería haber nada que actualizar.

      Esta operación la debes realizar periódicamente ya que en ocasiones aparecen parches de seguridad sin los cuales tu servidor podría ser vulnerable a ataques externos. A veces las actualizaciones vienen con nuevas características y mejoras de rendimiento.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Resumen semana del 11 de septiembre de 2023

      SBC RISC-V

      Se ha presentado una nueva placa del estilo de Raspberry Pi que viene con un SoC RISC-V. Trae 4 núcleos a 1.5GHz, USB, Ethernet, Wifi y hasta 8GB de RAM. El modelo más equipado cuesta unos 60€.

      Libreoffice 7.6 llega a las 1.5 millones de descargas

      Dos semanas después de que aparezca la versión 7.6 de Libreoffice, se han contabilizado más de 1.5 millones de descargas.

      Core i7-13700HX

      Alguien nos ha traído un Core i7-13700HX, un Raptor Lake que viene con 8 núcleos P y otros 8 E. El procesador portátil queda en la posición 15 del ranking general.

      Prototipo de iMac táctil de 1999

      En este video muestran el prototipo de un iMac táctil de 1999. El invento no es de Apple sino de una compañía llamada ELO, que compró los equipos y los modificó para su uso en kioscos.

      Un navegador de archivos web

      Alguien ha creado un navegador de archivos web para Linux. Permite subir, borrar, previsualizar, renombrar y editar archivos.

      Fin de los controladores de terceros para impresora en Windows

      Microsoft ha decidido eliminar el soporte de controladores para impresoras en su sistema operativo. La decisión es posible gracias a un consorcio llamado Mopria al que se han unido los principales fabricantes y Microsoft para crear un estándar universal para impresoras y escáneres.

      Se estrena Thunderbolt 5

      La quinta versión del bus Thunderbolt viene con una velocidad de hasta 120Gbps gracias a que la modulación PAM-3 puede mover 3 bits por cada dos ciclos de reloj. Por parte de la potencia, los cables soportan hasta 240W.

      Una herramienta para instalar el SO desde un pendrive

      Ventoy es una herramienta de código abierto que permite copiar imágenes de Windows, Linux y otros sistemas a una unidad de memoria USB para luego ejecutar el programa de instalación correspondiente sin tener que andar formateando el pendrive con cada nuevo sistema que queramos probar.

      Guía para montar un servidor en Debian

      Lanzamos el primer capítulo para montar un servidor con Debian. En esta entrega, nos centramos en la elección de edición de la distro, con un apartado extra destinado a los que queráis aprovechar un PC viejo.

      Core i7-13700T

      Alguien nos ha traído el tercer i7-13700, esta vez con el sufijo T que pertenece a la serie S de los Raptor Lakes. Su TDP de 35W podría haber hecho pensar que su rendimiento no sería demasiado bueno y, de hecho, es el peor de los 3. Pero acaba rozando el millón de puntos en multihilo.

      Instalando Debian para un servidor

      En la segunda entrega de nuestra guía para poner a punto nuestro servidor casero, se muestra el proceso de instalación de Debian, donde habrá que elegir un número mínimo de componentes en una instalación que no traerá entorno gráfico.

      publicado en Portada
      cobitoC
      cobito
    • Qué edición de Debian elegir para un servidor

      Este hilo forma parte de la guía para montar un servidor en Debian.
      Recuerda que el contenido de Hardlimit está bajo licencia Creative Commons.

      Resumen

      Instala la edición 'Netinst'.

      Explicación

      Debian se distribuye en numerosas ediciones, ya no solo en formatos (CD, DVD, BD) sino en el contenido de cada versión. En nuestro caso queremos instalar el sistema más básico posible, sin entorno de escritorio y sin apenas servicios de serie, por lo que usaremos el edición 'Netinst' compilada para AMD64. Se trata de una imagen que ocupa unos 600Mb y que descarga de los repositorios oficiales los paquetes necesarios durante la instalación.

      PCs viejos

      Si quieres aprovechar un PC con unos años a sus espaldas, quizás quieras reconsiderar la arquitectura de la compilación, es decir, ¿32 o 64 bits?

      Esta es la pregunta del millón que todo el mundo se ha hecho en alguna ocasión. La respuesta rápida y típica es: si tienes menos de 4 GB de RAM, usa 32 bits y si tiene 4 GB o más, instala la de 64 bits. Se trata de una respuesta que técnicamente no es incorrecta pero sí demasiado simple. Puede haber entornos en los que con menos de 4 Gb de RAM, un sistema operativo de 64 bits ofrezca un mejor resultado. Por ejemplo, está más que demostrado que la codificación de vídeo tiene un aumento de rendimiento significativo en sistemas de 64 bits. Y sí, puede haber entornos con 4 o más Gb de RAM donde los 32 bits ofrezca un mejor resultado.

      Alguno se preguntará qué sentido tiene instalar un sistema operativo de 32 bits en una máquina con más de 4 GB de RAM cuando con direcciones de 32 bits no se puede acceder a más de esa cantidad de memoria. Desde hace bastante tiempo, todos los procesadores x86 incluyen una característica llamada PAE (Physical Address Extension o extensión de memoria física). Con esta técnica, un procesador trabajando en 32 bits puede direccionar hasta 64 GB de RAM. Evidentemente, esto tiene truco y el truco está en que no se pueden manejar hilos de ejecución de más de 4 GB, por lo que si un proceso quiere acceder a más de esa cantidad, tendrá problemas.

      Una vez solucionado el problema de la cantidad de memoria, ¿por qué en nuestro servidor, 32 bits nos podrían ofrecer mejores resultados? Supongamos que el programa más exigente que va a estar funcionando es el servidor web Apache.

      aafd4f74-4ac5-4188-ae71-e423e6713395-imagen.png
      32 vs 64 bits en un Core 2 Duo. Fuente: Phoronix.

      Tal y como vemos en el banco de pruebas realizado por Phoronix, Apache compilado para 32 bits obtiene un resultado ligeramente superior. En otros artículos se puede comprobar que esta afirmación se mantiene.

      La razón por la que existe esta pequeña diferencia de rendimiento es que las direcciones de memoria de 64 bits ocupan el doble que las de 32, por lo que si el programa no hace un uso intensivo del repertorio de instrucciones x86_64 (AMD64 o Intel 64), esa cantidad extra de datos a mover resiente ligeramente el rendimiento.

      Esta diferencia se aprecia también en procesadores relativamente recientes aunque las distancias se acortan.

      b5f379fd-65d5-4f4b-ba9d-ef48463a736c-imagen.png
      32 vs 64 bits en un Core i7 720Q. Fuente: Phoronix.

      Además hay que tener en cuenta que los 32 bits ofrecen una mayor compatibilidad con bibliotecas 'legacy'. Por último cabe destacar que los procesos lanzados por Apache, apenas llegan a varias decenas de megabytes, por lo que alcanzar el límite de 4 Gb se antoja muy complicado.

      9347a3c6-3e6a-4044-8c15-e241460b2f18-imagen.png

      Evidentemente si tu máquina tiene más de 64 Gb de RAM o vas a necesitar que los procesos puedan acceder a más de 4GB de RAM (algo relativamente normal en plataformas NodeJS y Redis, por ejemplo), no tienes más remedio que instalar un sistema operativo de 64 bits.

      Ahora bien, en el uso en el escritorio, las ediciones de 32 bits apenas se usan en la actualidad. Eso quiere decir que la cantidad de usuarios con sistemas de 64 bits es muy superior al de usuarios con sistemas de 32 bits. Esto redunda en que existe un mejor soporte en sistemas de 64 bits ya que hay más ojos a la caza de fallos. Algunas distros han decidido abandonar los 32 bits y la realidad es que las compilaciones para procesadores de 32 bits son una especie en peligro de extinción.

      Por eso, al instalar Debian compilado para 32 bits no son todo ventajas y debes sopesar bien qué opción te conviene más teniendo en cuenta que la tendencia es a abandonar la antigua arquitectura.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Guía para montar un servidor en Debian 12 Bookworm

      Este hilo es un índice de la guía donde se enlazan los distintos subapartados.

      NOTA 1: Cada sección está dividida en dos categorías: procedimiento/resumen y explicación. Si lo único que necesitas es un recordatorio y/o copiar&pegar las lineas en la consola para realizar una configuración rápidamente, puedes seguir los pasos del procedimiento ordenadamente. Si por el contrario no estás familiarizado con el proceso, necesitas conocer el significado de algún paso o parámetro o simplemente te interesa saber exactamente qué estas haciendo, puedes leerte la explicación.

      NOTA 2: Cada sección es independiente del resto. Si es necesario realizar alguna operación extra, se remitirá a la sección donde se explica la misma.

      NOTA 3: Los servicios sólo hay que instalarlos una vez. Si en varios aparatados se pide la instalación de algún servicio que ya ha sido instalado previamente, te puedes saltar ese paso.

      Esta guía, al igual que el resto del contenido de Hardlimit, se encuentra bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported. Si vas a copiarla, ten la deferencia de incluir en un lugar visible un enlace al recurso original, que es este hilo o el de los distintos subapartados.


      Índice

      1. Instalación de Debian

      1.1. Edición a elegir

      1.2. Proceso de instalación

      2. Uso de Linux

      2.1. Operaciones básicas

      2.2. Propietarios y permisos en archivos y carpetas

      3. Configuración post-instalación

      3.1. Accediendo por primera vez a través de SSH

      3.2. Configuración de la red

      4. Servidor web Apache

      4.1. Instalación

      4.2. Servidores virtuales

      4.3. Gestión del archivo .htaccess

      4.4. Bloquear acceso a páginas, redireccionar y habilitar caché

      4.4. Limitar el número de procesos Apache

      4.5. Protección ante ataque DoS

      4.6. Proteger web con contraseña

      4.7. Estadísticas web con AWStats.

      publicado en Sistemas operativos
      cobitoC
      cobito
    • Resumen semana del 4 de septiembre de 2023

      Análisis de Starfield con distinto hardware

      En respuesta a esta entrada, hay una lista de análisis de Starfield probado con distinto hardware.

      Actualización de Gigabyte para DDR5

      Ha aparecido una actualización para placas base Gigabyte con la que se soluciona un problema de corrupción de datos en memorias DDR5.

      Cambio mayor en Gnome 45

      Una de las consecuencias negativas del estilo de numeración de versiones de moda en la actualidad es que no es posible distinguir cambios radicales en el software. Eso le pasa a Gnome 45, que será incompatible con extensiones desarrolladas para versiones anteriores. Los desarrolladores tendrán que mantener una versión de la extensión compatible pre45 y otra post45.

      Mejoras de EXT4 en Linux 6.6

      Linux 6.6 ha traído cambios en el sistema de archivos EXT4 que implican mejoras de rendimiento. En las pruebas realizadas, se aprecia una reducción del 34% en el tiempo de escritura cuando 32 procesos escriben en un archivo de forma concurrente.

      SMT en un procesador ARM

      La serie 9000 de Kirin es un procesador ARM desarrollado por Huawei destinado a móviles al que parece que le han habilitado SMT en 4 de sus 8 núcleos.

      Todos los detalles sobre cURL

      cURL comenzó en 1996 (por aquel entonces se llamaba httpget). Fue creado por Rafael Sagula, quien más tarde transfirió el proyecto a Daniel. Daniel renombró el proyecto a cURL en 1998. En 2000, extrajo la funcionalidad de red a la biblioteca libcurl, y curl se convirtió en una envoltura de línea de comandos. Artículo con todos los detalles sobre cRUL.

      Pantallazo azul con CPUs de 13ª generación

      La decimotercera generación de procesadores Intel (Raptor Lake) están provocando pantallazos azules en Windows. La compañía ha confirmado que es culpa suya y que están trabajando en el microcódigo, el cual se distribuirá en una actualización de la BIOS.

      Caída de rendimiento por Zenbleed

      Han aparecido unas pruebas donde se mide una caída de rendimiento del 15% cuando se aplica el parche para la vulnerabilidad Zenbleed en procesadores AMD. A pesar de esta caída, parece que a los juegos no les afecta el parche.

      Monitor de recursos para Linux con estilo Windows

      Alguien ha creado un monitor de recursos gráfico para Linux que tiene el aspecto del proporcionado por el Administrador de Tareas de Windows. Se llama Mission Center y todavía sigue en desarrollo, por lo que faltan algunas mediciones como la carga de la GPU por proceso.

      Ryzen 9 7945HX

      Alguien nos ha traído un Ryzen 9 7945HX, un procesador portátil con 16 núcleos Zen 4. Queda en quinta posición del ranking general aunque es el más potente de entre las CPUs móviles. Tiene un rendimiento calcado a la también portátil Core i9-13980HX y ambos encabezan el ranking de micros más eficientes.

      publicado en Portada
      cobitoC
      cobito
    • RE: Análisis de Starfield con distinto hardware

      en video.hardlimit.com

      publicado en Juegos
      cobitoC
      cobito
    • Resumen semana del 28 de agosto de 2023

      Steam en ARM64

      Ampere ha publicado una guía para poder usar Steam en procesadores ARM de 64 bits junto a la serie RTX A6000. En principio, la guía está pensada para sus plataformas de servidor, aunque es posible usarla en otro micros AArch64.

      Mageia 9 disponible

      Después de varios retrasos, ya está disponible una nueva versión de Mageia. Esta distro es una bifurcación de Mandriva que a su vez derivó de Mandrake.

      Linux en un Commodore 64

      Alguien ha creado un porte de Linux para Commodore 64. Se ha probado en emulación aunque se estima que el MOS 6510 tardaría en torno a una semana en terminar de arrancar el sistema.

      Estadísticas de fallos en GPUs

      Un minorista suizo ha publicado unas estadísticas de fallos de tarjetas gráficas por marca. Las tarjetas de Gainward (propiedad de Palit) son las más fiables. La mayor tasa de fallos se encuentra en los modelos de Sapphire.

      El desarrollo de PIM

      En el Hot Chips de este año, Samsung ha hecho una presentación sobre el Processing-in-Memory (PIM), una topología de memoria que lleva años sobre el papel y a la que le está costando materializarse.

      DirectStorage en AMD

      En este análisis comprueban el rendimiento de las tarjetas gráficas de AMD con DirectStorage activado y desactivado. Aparentemente, y a diferencia de Nvidia, el número de operaciones por segundo mejora sustancialmente cuando se activa.

      66 hilos por núcleo

      Intel ha presentado un procesador fotónico con 8 núcleos y 528 hilos de ejecución desarrollado junto a DARPA. En vez de caché, tiene un tipo de memoria llamada Scratchpad (SPM) que permite cierta gestión a través de software.

      Memoria DRAM en 3D

      El crecimiento vertical podría llegar pronto a la RAM dinámica. El apilamiento se conseguiría con condensadores NIM (metal-aislante-metal) horizontales, en vez de la clásica configuración vertical. Se estima que en estos momentos se podrían conseguir memorias de 28 capas.

      Firefox 117

      Firefox 117 viene con autocompletado del número de tarjeta de crédito en nuevos idiomas, entre ellos el castellano. También se ha añadido una herramienta de compatibilidad de CSS para desarrolladores web.

      publicado en Portada
      cobitoC
      cobito
    • 1 / 1