Solución al error "HRESULT: 0x800704BE"

    Internet Information Services, o IIS, es un servidor de red de Microsoft que puede instalarse en ciertas versiones de Windows.
  A veces, al iniciar un sitio de red que se encuentra dentro de este servidor, o cuando se intenta iniciar el propio servidor de red, da un error en el que se especifica que el formato del nombre de red especificado no es correcto, o error con código "HRESULT: 0x800704BE".
  En esta entrada se utilizará el Windows Server 2012 R2 como sistema operativo base para ejemplificar la explicación de como resolver este problema.
  En resumen, se trata de eliminar la dirección IP de la lista de escucha IP.

Atajos de teclado de navegadores web (parte 3): Safari

  En entradas anteriores se han mostrado los atajos de teclado de los navegadores de internet Chrome y Firefox. En esta ocasión se expondrán los atajos de teclado para la versión para Windows y Linux del navegador Safari.

Gestión básica de acceso en Apache (Parte 4: Gestión básica del archivo de configuración personalizada de directorios)

  Otra de las opciones que tiene el servidor web Apache para administrar el acceso a sus recursos es el archivo de configuración personalizada de directorios, denominado ".htaccess" predeterminadamente.
  Este fichero permite a un usuario determinar la configuración de cada directorio del servidor sin necesidad de que sea el administrador, puesto que el fichero se encuentra en un directorio que dicho usuario controla sin necesidad de permisos especiales.
  Lo que aquí se expondrá es cómo configurar el archivo ".htaccess" y el archivo de configuración del propio servidor web Apache para controlar el acceso a ciertos recursos del servidor alojados dentro de un directorio concreto que pertenece a un usuario determinado.

Gestión básica de acceso en Apache (Parte 3: Acceso mediante autenticación resumen)

  Un método de acceso más seguro del servidor de red Apache es el de la autenticación resumen, que se emplea cuando el equipo donde se encuentra el servidor de red se encuentra en un dominio.
  La autenticación resumen ("digest", en inglés) consiste en utilizar la contraseña y otros bits de información para crear un hash que se envía al servidor para identificar. Enviar un valor resumen ("hash", en inglés) evita el principal problema de la autenticación básica, que es enviar los datos sin encriptar.
   En esta entrada del blog se verá cómo configurar el servidor de red Apache para que posea el método de autenticación resumen.

Gestión básica de acceso en Apache (Parte 2: Acceso mediante autenticación básica)

  En el servidor web Apache es posible determinar con más precisión el acceso a usuarios gracias a las directivas "AuthName", "AuthType" y "AuthUserFile", que son compatibles con el uso de la directiva "Require", como puede verse en este enlace.
  La autenticación de acceso básica, en una transacción HTTP, es un método diseñado para permitir a un navegador de red, u otro programa cliente, proveer credenciales en la forma de usuario y contraseña cuando se le solicita una página al servidor. Básicamente, un usuario cliente deberá escribir su nombre de usuario y su contraseña para poder acceder a la página que sirve el servidor.
  En esta entrada del blog se verá cómo configurar un servidor de red Apache para que realice las operaciones necesarias que le permitan controlar el acceso a usuarios mediante el tipo de autenticación antes mencionado.

Gestión básica de acceso en Apache (Parte 1: Acceso mediante IP y nombre de dominio)

  En versiones del servidor web Apache anteriores a la 2.4 se podían definir las direcciones IP y los nombres de dominio que podían acceder a un recurso del servidor mediante las directivas "Order", "Allow" y "Deny", que se encontraban en secciones como "<Directory>" o "<File>", por ejemplo.
  Dichas directivas se pueden seguir empleando en versiones más actuales de Apache habilitando un módulo de compatibilidad llamado "mod_access_compat", pero es mejor emplear las nuevas directivas propias de estas nuevas versiones. Estas directivas son "Require", "RequireAll", "RequireAny" y "RequireNone" (puede verse la documentación oficial sobre estas en el siguiente  enlace).
  Aquí se verá el uso de las directivas mencionadas para gestionar el acceso al servidor desde una IP concreta o un nombre de dominio determinado.

Crear un directorio personal de usuario en Apache

  El módulo "userdir" del servidor web Apache sirve para que un usuario cree un directorio personal que pueda gestionar sin necesidad de ser superusuario.
  Este módulo no suele estar activo de modo predeterminado en el servidor web, pero aquí se verá cómo habilitarlo y prepararlo para su funcionamiento.
  Para ejemplificar esto se utilizará el sistema operativo Ubuntu Server 16.04 LTS.

Programación de tareas en Linux (Parte 1: Cron)

 La mayoría de las distribuciones Linux  suelen poseer un programa predeterminado, conocido como Cron, con el que se pueden automatizar tareas (lo cual no implica, como siempre, que no existan otros programas que se puedan emplear para lo mismo). Otro programa predeterminado que puede haber para programar tareas en Linux es Anacron. En ambos casos estos programas se ejecutan constantemente, es decir, son servicios del sistema operativo.
  Estos servicios pueden ser editados y gestionados por un usuario con los permisos adecuados (generalmente el superusuario).

Gestión básica de módulos en servidor web Apache

  El servidor web Apache posee módulos predeterminados que carga cuando se inicia, pero también existen otros módulos que se le pueden  habilitar para que funcionen a partir del momento en que se realiza tal acción.
  Cada uno de estos módulos posee ciertas funcionalidades y directivas para configurarlas. Los módulos pueden consultarse aquí o en este otro  enlace.
  En Apache hay dos tipos de módulos:
  • Estáticos: Son añadidos al compilar el servidor.
  • Dinámicos: Se cargan dinámicamente al iniciar el servidor. 
  Por defecto, este servidor web incluye un conjunto básico de módulos estáticos, pero si es compilado con la opción DSO (Dynamic Shared Object), se pueden cargar módulos dinámicos gracias a la directiva "LoadModule".
  Por otra parte, la directiva "<Ifmodule (nombre del módulo)> ... </Ifmodule>" permite especificar directivas que se activarán sólo si el módulo está cargado.