Servidor remoto con tus propias manos

Servidor remoto con tus propias manos
N. Levitsky
Géneros: Programación, Administración de Sistemas
Año de publicación: 2021
Año de lectura: 2025
Mi calificación: Máxima
Número de lecturas: 1
Páginas totales: 402
Resumen (páginas): 41
Idioma original de la publicación: Ruso
Traducciones a otros idiomas: No se encontraron traducciones a otros idiomas

Instalación y Configuración de Linux en el Servidor

El libro comienza suavemente con la instalación del sistema operativo y se vuelve gradualmente más complejo de un capítulo a otro. El capítulo 1 está dedicado a la instalación de Linux. Es un tema tan trillado y una operación que he realizado muchas veces que no añadí nada de este capítulo a mis notas. La instalación se analiza utilizando Astra y Ubuntu como ejemplos.

A continuación, varios capítulos están dedicados a la introducción a Linux a través del acceso al sistema. Se presta algo de atención a las interfaces gráficas, los temas oscuros y otros aspectos visuales. Por cierto, se enfatiza bastante la personalización de la apariencia del sistema operativo para asemejarlo a macOS: instalación de fondos de pantalla, modificación del diseño de botones, iconos, cursores, menús y otros elementos. También se menciona la diferencia entre el modo de hibernación y suspensión, el apagado y reinicio a través de la consola, así como el apagado programado. El autor muestra cómo instalar códecs de audio y video, gestionar paquetes y actualizar el sistema.

El capítulo 4 trata sobre la línea de comandos y comandos básicos, como: visualización del contenido de archivos, redirección de salida, creación, copia y movimiento de archivos y directorios, búsqueda en archivos, comparación, reemplazo y formateo. Hay muchos comandos, algunos de los cuales no conocía y no recordé. En su mayoría, están listados sin explicaciones profundas, por lo que es mejor recurrir a otras fuentes para más detalles. El autor mencionó interfaces gráficas en el capítulo anterior, pero no habló sobre los diferentes tipos de shells de línea de comandos. Como en cualquier libro sobre Linux, aquí se aborda la diferencia entre usuarios normales y superusuario, los símbolos de almohadilla y dólar. Una pequeña parte del capítulo también está dedicada a los editores gráficos, tanto los integrados como los que necesitan ser instalados por separado.

El capítulo 5 trata sobre la configuración de interfaces de red. Aquí se habla principalmente sobre la configuración física: adaptadores, switches, cableado de par trenzado, conectores RJ-45. El autor no olvidó mencionar la herramienta para crimpar el cable de red y proporciona un esquema de crimpado. En cuanto a la teoría, hay unas pocas palabras sobre el comando ifconfig y el servidor DHCP, que se explicará con más detalle más adelante.

Configuración Básica del Servidor

El capítulo 6 habla sobre la enrutación y la configuración del firewall. Debo admitir que las tablas de enrutamiento, los comandos para configurarlas y la gestión de paquetes no se me quedaron bien en la memoria. Quizás porque no soy administrador de sistemas y en el backend o frontend no se trabaja directamente con esto. El firewall se explica con los ejemplos de iptables y ufw.

El capítulo 7 está dedicado al protocolo SSH. El autor aborda los algoritmos que admite OpenSSH (utilizado en Linux): Blowfish, 3DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm) y RSA (Rivest-Shamir-Adleman algorithm). Luego analiza el archivo de configuración de SSH con comentarios sobre los parámetros disponibles. Es difícil recordar todos los parámetros y, probablemente, ni siquiera sea necesario. El capítulo termina con ejemplos de copia de archivos a través de SSH, además de optimización y mejora del rendimiento.

El capítulo 8 trata sobre conceptos generales de administración de servidores web. Aquí, el autor hace una pausa en los aspectos técnicos y ofrece un poco de teoría que, en mi opinión, es importante e interesante. Explica en detalle la diferencia entre servidores físicos, virtuales y dedicados, y cuándo es preferible cada opción. Spoiler: probablemente no necesites un servidor físico. Se enumeran las ventajas y desventajas de cada tipo. Por ejemplo, un servidor físico requiere una segunda línea de Internet, ventilación de la sala y seguridad. La segunda parte del capítulo se centra en los criterios para elegir un servidor. Aquí algunos puntos de la lista:

  • Nivel de certificación según Tier
  • Licencias de cumplimiento FSTEK
  • Ubicación física de los servidores (Ley Federal 152 de Rusia)
  • Velocidad base del canal de Internet
  • Velocidad del subsistema de disco
  • Facturación y pagos
  • Qué es un núcleo virtual

El capítulo 9 trata sobre el trabajo con FTP. Antes de instalar un servidor FTP, es necesario elegir la mejor opción. El autor sugiere: wu-ftpd (antiguo pero probado), vsftpd (ligero), pure-ftpd (compacto), proftpd (flexible y versátil). Luego, se instala proftpd y se analizan sus configuraciones. Al final, hay algunas palabras sobre optimización y aceleración del servidor FTP.

El capítulo 10 explica cómo funciona el DNS. Luego, el autor configura un servidor DNS de caché utilizando BIND9 y unbound. Se analizan los archivos de configuración con comentarios.

El capítulo 11 detalla el servidor DHCP, su propósito y ámbitos de aplicación.

El capítulo 12 trata sobre la integración de Linux en una infraestructura de Windows. No trabajo con esto, por lo que casi no añadí nada a mis notas.

El capítulo 13 trata sobre copias de seguridad. Puntos interesantes: el autor describe claramente qué se debe respaldar y en qué casos. Menciona sistemas automatizados (Amanda, Bacula), pero él mismo sugiere un script que crea una copia de seguridad y la envía por SSH.

El capítulo 14 trata sobre la seguridad del servidor. Se cubren: seguridad local (precintos, protección de BIOS), protección contra ataques en red, protección de servicios (por ejemplo, con fail2ban), cifrado de datos (por ejemplo, con eCryptfs). También se enumeran los tipos de ataques DDoS (Smurf, ICMP-flood, UDP-flood) con una breve historia de su aparición.

Servidor web dedicado basado en Linux

Capítulo 15 está dedicado a la configuración del servidor web. Aquí no se analiza nginx, pero sí Apache. Además de Apache, también se puede ver la configuración de la base de datos MySQL, PHP (con todas las bibliotecas principales) y, como ejemplo, el autor también instala el CMS Magento. Luego comienza lo más interesante: el autor agrupa las directivas de Apache en categorías (un total de 11 grupos) y describe brevemente su propósito. A modo de ejemplo, describiré algunos grupos:

  • Directivas de registro: ErrorLog, TransferLog, HostnameLookups.
  • Directivas de restricción de acceso: AllowOverride, Options, Limit.
  • Directivas de gestión del rendimiento: StartServers, MaxSpareServers, MinSpareServers, así como la directiva CacheNegotiatedDocs.
  • Directivas para mantener la conexión con el cliente: Timeout, KeepAlive, KeepAliveTimeout.

Para finalizar, hay un pequeño apartado sobre la seguridad del servidor Apache. Es un punto breve, por lo que en el resumen se incluyó poca información.

Capítulo 16 está dedicado a los certificados SSL. Algo interesante es la variedad de certificados SSL, en los que antes no había pensado mucho: DV (Domain Validation), OV (Organization Validation), EV (Extended Validation). Luego, se explica qué son estos certificados y en qué formatos se almacenan (PEM, DER, PKCS #7 / P7B, etc.), así como cómo convertirlos de un formato a otro. También en este capítulo se analiza Let’s Encrypt como la forma más sencilla de crear un certificado.

Capítulo 17 trata sobre la elección e instalación del panel de control del servidor. Se consideran tanto paneles de pago y populares (cPanel, DirectAdmin, ISPManager, Plesk) como gratuitos (Webmin, VestaCP, ISPConfig, Ajenti). Webmin se analiza con más detalle.

Capítulo 18 se centra en mejorar el rendimiento del servidor. Aquí hay una lista de verificación clara que incluye los siguientes puntos (en qué centrarse primero si hay problemas de rendimiento):

  • Número de clientes y configuración del servidor
  • Configuración de Apache
  • Versión de PHP
  • Directiva memory_limit
  • Directiva max_execution_time
  • Configuración de compresión y caché
  • Habilitación del almacenamiento en caché en el servidor (uso de Memcached)
  • Configuración del CMS

Cada punto, por supuesto, se analiza en detalle.

Capítulo 19 está dedicado a la configuración del correo en el servidor web. El autor instala el paquete ssmtp, registra un correo en Gmail y configura el servidor SMTP.

Capítulo 20 se dedica a la resolución de problemas comunes. En primer lugar, el autor recomienda instalar Zabbix o al menos Yandex.Metrica para rastrear estadísticas. En segundo lugar, analiza los errores más comunes, entre ellos:

  • Espacio en disco/índices libres agotados.
  • Falta de otros recursos (memoria, CPU, etc.).
  • Configuración incorrecta del servidor.

También en este capítulo se mencionan los registros y se proporciona una lista de herramientas para monitorear diversas métricas del servidor, desde htop y atop hasta apachetop y jnettop.

En los dos últimos capítulos, aparte de los cálculos financieros del autor y sus reflexiones filosóficas sobre qué es más rentable – un servidor virtual o físico, lo más destacable es la creación de un "Zoom" propio (instalación y configuración de la aplicación BigBlueButton para videoconferencias en línea).

Conclusión

Comentario general: el libro, sin duda, me gustó mucho, está bien estructurado y se lee con bastante facilidad. Contiene muchas imágenes, comentarios y explicaciones. Es adecuado tanto para desarrolladores backend como frontend que deseen profundizar en la administración de sistemas en Linux y seguir con el autor el camino desde la instalación del sistema operativo hasta la configuración y ajuste del servidor web y el software relacionado. La única desventaja es la gran cantidad de información, que, sin práctica, lamentablemente, no se retiene por completo de inmediato.

Вверх