Tareas #6214

Tareas #6160: Implementación de la solución tecnológica

Tareas #6211: Implementación de los servicios

Implementar un servidor web

Added by Victor Alem 7 months ago. Updated 6 months ago.

Status:CerradaStart date:05/16/2019
Priority:NormalDue date:
Assignee:TLecom% Done:

90%

Category:-Spent time:-
Target version:-

Description

En una máquina o container, implementar un servidor web


Related issues

Related to 2019 - TLecom - Tareas #6170: Respaldos y servidor web En curso 04/04/2019

History

#1 Updated by Victor Alem 7 months ago

#2 Updated by Ángela Méndez 7 months ago

SERVIDOR WEB:
Apache, PHP, MariDB y Wordpress

¿Qué es un servidor Web?
Los servidores de archivos, los servidores de bases de datos, los servidores de correo y los servidores web usan diferentes tipos de software de servidor. Cada una de estas aplicaciones puede acceder a archivos almacenados en un servidor físico y usarlos para diferentes propósitos.
El trabajo de un servidor web es servir sitios web en Internet. Para lograr ese objetivo, actúa como un intermediario entre el servidor y las máquinas de los clientes. Extrae el contenido del servidor en cada solicitud de usuario y lo envía a la web.
El mayor desafío de un servidor web es servir a muchos usuarios diferentes de la web al mismo tiempo, cada uno de los cuales solicita diferentes páginas. Los servidores web procesan archivos escritos en diferentes lenguajes de programación como PHP, Python, Java y otros.
Los convierten en archivos HTML estáticos y le entregan estos archivos al navegador de los usuarios de la web. En otras palabras, un servidor web, es la herramienta responsable de la comunicación adecuada entre el servidor y el cliente.
¿Qué es Apache?
Apache es uno de los servidores web más populares que permite ejecutar un sitio web seguro sin demasiados inconvenientes. Es la opción más común de los emprendedores en solitario y pequeñas empresas que desean tener presencia en la web.
Se puede instalar un sitio web de WordPress en un servidor web Apache sin ninguna personalización. Además, Apache funciona excelentemente con muchos otros sistemas de administración de contenido, marcos web y lenguajes de programación. Esto lo convierte en una elección sólida para todo tipo de plataformas de hosting web, como VPS o hosting compartido.
¿Cómo funciona el servidor web Apache?
Aunque a Apache se le llama servidor web, no es un servidor físico, sino un software que se ejecuta en un servidor. Su trabajo es establecer una conexión entre un servidor y los navegadores de los visitantes del sitio web (Firefox, Google Chrome, Safari, etc.) mientras envían archivos entre ellos (estructura cliente-servidor). Apache es un software multiplataforma, por lo cual funciona tanto en servidores Unix como en Windows.
Cuando un visitante quiere cargar una página de tu sitio web, por ejemplo la página de inicio, su navegador le envía una solicitud al servidor que la ejecuta y Apache devuelve una respuesta con todos los archivos solicitados (texto, imágenes, etc. ) El servidor y el cliente se comunican a través del protocolo HTTP y Apache es responsable de garantizar una comunicación fluida y segura entre las dos máquinas.
Apache es altamente personalizable, ya que tiene una estructura basada en módulos. Los módulos le permiten a los administradores del servidor activar y desactivar funcionalidades adicionales. Apache tiene módulos de seguridad, almacenamiento en caché, reescritura de URL, autenticación de contraseña, entre otras cosas.
Pros y contras de Apache
Un servidor web Apache puede ser una excelente opción para ejecutar tu sitio web en una plataforma estable y versátil. Sin embargo, también presenta algunas desventajas a las cuales se les deben prestar atención.
Pros:
1. De código abierto y gratuito, incluso para uso comercial.
2. Software confiable y estable.
3. Parches de seguridad regulares y actualizados con frecuencia.
4. Flexible debido a su estructura basada en módulos.
5. Fácil de configurar para principiantes.
6. Multiplataforma (funciona tanto en servidores Unix como en Windows).
7. Viene listo para trabajar con sitios de WordPress.
8. Enorme comunidad y soporte fácilmente disponible en caso de cualquier problema.
Contras:
1. Problemas de rendimiento en sitios web con demasiado tráfico.
2. Demasiadas opciones de configuración pueden generar vulnerabilidades de seguridad.
¿Qué es PHP?
PHP es un lenguaje interpretado de propósito general ampliamente usado, diseñado especialmente para desarrollo web y que puede ser incrustado dentro de código HTML. Generalmente se ejecuta en un servidor web, tomando el código en PHP como su entrada y creando páginas web como salida. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno.
PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores, el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. La versión más reciente de PHP es la 5.3.2 para Windows.
El gran parecido que posee PHP con los lenguajes más comunes de Programación estructurada, entre ellos C, permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones.
Aunque todo en su diseño está orientado a facilitar la creación de página web, es posible crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-GTK. También puede ser usado desde la Línea de órdenes, de la misma manera que otros lenguajes como Pythom, a esta versión de PHP se la llama PHP CLI (Interface de Línea de Comandos).
Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intéprete de PHP. Éste procesa el script solicitado generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al cliente. Mediante extensiones es también posible la generación de archivos, como PDF, así como imágenes en diferentes formatos.
Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL u Oracle, entre otros.
Ventajas
Es un lenguaje multiplataforma.
Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una Base de Datos.
El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PorstgreSQL.
Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).
Posee una amplia documentación en su página oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite aplicar técnicas de programación orientada a objetos.
Biblioteca nativa de funciones sumamente amplia e incluida.
No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado, estructurado y manejable.
Inconvenientes
La pfuscación de código es la única forma de ocultar los fuentes.

¿Qué es MySQL?
MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.
MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (Licencia Publica General) para definir qué puede hacer y qué no puede hacer con el software en diferentes situaciones.
Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.
Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de sofware libre. Entre las características disponibles en las últimas versiones se puede destacar:
Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes velocidades de operación, soporte físico, capacidad, distribución geográfica, transacciones...
Transacciones y claves foráneas.
Conectividad segura.
Replicación.
Búsqueda e indexación de campos de texto.
¿Qué es MariaDB?
Es un sistema gestor de base de datos, surgido a partir MySQL, Es un derivado del código fuente original del mismo, con mejoras y cambios.
Mejoras con respecto a MySQL.
-Mecanismos de almacenamiento. Amplia los paquetes binarios y fuentes, no solo con los mecanismo de almacenamiento Standar, sino que añade varios más.
-Mejoras de velocidad. Aumenta la velocidad y el rendimiento, eliminando conversiones de caracteres inncesarias, mediante el uso del motor Aria que permite hacer consultas complejas con mayor rapidez.
-Mejoras en las pruebas. Reduce en la medida de lo posible el número de alertas del compilador y también mejoran el código de programación evitando introducción de nuevos errores o bugs.
-Facilidad de uso. Introduce actualizaciones del progreso en acciones, comandos que disponen de opciontes para identificar la causa de carga, y columnas dinámicas que proporcionan al usuario columnas virtuales en tablas.
¿Qué es WordPress exactamente?
La definición más simple de WordPress es que se trata de una aplicación software para crear y gestionar sitios web (crear sus contenidos, etc.).
Hay muchas aplicaciones de este tipo, las cuales se conocen también como CMS ( sistema de gestión de contenidos).
WordPress tiene, además, la peculiaridad de ser un proyecto de software libre y de fuentes abiertas.
Entre sus ventajas se encuentran: código abierto, gratuito, fácil instalación, sencilla configuración inicial, fácil instalción de temas, facilidad en su administración, mejora de posicionamiento SEO, migración de hosting fácil, compatible con HTTPS, potenciador de negocios y nunca se detiene.
Pero además cuenta con algunos inconvenientes: demasiado consumo de recursos, baja velocidad, es el CMS más atacado, plugins inestables, a veces es necesario saber programación y avanza muy rápido.

#3 Updated by Victor Alem 7 months ago

  • Status changed from Nueva to En curso

Ángela Méndez escribió:

SERVIDOR WEB:
Apache, PHP, MariDB y Wordpress
[............]
Entre sus ventajas se encuentran: código abierto, gratuito, fácil instalación, sencilla configuración inicial, fácil instalción de temas, facilidad en su administración, mejora de posicionamiento
Pero además cuenta con algunos inconvenientes: demasiado consumo de recursos, baja velocidad, es el CMS más atacado, plugins inestables, a veces es necesario saber programación y avanza muy rápido.

Ángela, gracias por el trabajo y la información. Pero te faltaron las referencias de este trabajo. Aquí tienes citas textuales de al menos este sitio
No estoy en contra de copiar y pegar, pero hay que hacerlo bien. Los textos que copiamos pueden estar sometidos a derechos de autor. Por esta razón hay que tener cuidado con lo que copiamos.

La seguimos...

#5 Updated by Victor Alem 6 months ago

  • Status changed from En curso to Cerrada

Bien, esto se complementa con lo que vimos sobre apache la clase pasada. Cerramos la tarea.

#6 Updated by Victor Alem 6 months ago

  • % Done changed from 0 to 90

Also available in: Atom PDF