proyecto de investigaciÓn de sistemas operativos · 2019. 10. 6. · lamp, linux (sistema...

18
UNIVERSIDAD TÉCNICA DE MANABÍ FACULTAD DE CIENCIAS INFORMÁTICAS ESCUELA DE INGENIERÍA EN SISTEMAS INFORMÁTICOS "Forma Ingenieros en Sistemas Informáticos de excelencia para servir a la sociedad con eficiencia y transparencia contribuyendo al buen vivir" PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS QUINTO SEMESTRE PARALELO “A” GRUPO # 6 TEMA: Configuración de servidores Linux en la empresa Zamver enfocado en las tecnologías LAMP TRABAJO REALIZADO POR: Bravo Hidalgo Crystian Alexander Moya Macay Eduardo Andrés Navarrete García Kenia Mabel PROFESOR GUÍA: Ing. Walter Zambrano Romero PERÍODO ACADÉMICO: Mayo 2015 – Septiembre 2015 PORTOVIEJO – MANABÍ – ECUADOR

Upload: others

Post on 28-Aug-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

1

UNIVERSIDAD TÉCNICA DE MANABÍ FACULTAD DE CIENCIAS INFORMÁTICAS

ESCUELA DE INGENIERÍA EN SISTEMAS INFORMÁTICOS "Forma Ingenieros en Sistemas Informáticos de excelencia para servir a la sociedad con eficiencia y transparencia

contribuyendo al buen vivir"

PROYECTO DE INVESTIGACIÓN DE

SISTEMAS OPERATIVOS

QUINTO SEMESTRE PARALELO “A”

GRUPO # 6

TEMA:

Configuración de servidores Linux en la empresa Zamver enfocado

en las tecnologías LAMP

TRABAJO REALIZADO POR:

Bravo Hidalgo Crystian Alexander

Moya Macay Eduardo Andrés

Navarrete García Kenia Mabel

PROFESOR GUÍA:

Ing. Walter Zambrano Romero

PERÍODO ACADÉMICO:

Mayo 2015 – Septiembre 2015

PORTOVIEJO – MANABÍ – ECUADOR

Page 2: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

2

UNIVERSIDAD TÉCNICA DE MANABÍ

VISIÓN

Ser institución universitaria, líder y referente de la educación superior en el

Ecuador, promoviendo la creación, desarrollo, transmisión y difusión de la ciencia,

la técnica y la cultura, con reconocimiento social y proyección regional y mundial.

MISIÓN

Formar académicos, científicos y profesionales responsables, humanistas, éticos y

solidarios, comprometidos con los objetivos del desarrollo nacional, que

contribuyan a la solución de los problemas del país como universidad de docencia

con investigación, capaces de generar y aplicar nuevos conocimientos,

fomentando la promoción y difusión de los saberes y las culturas, previstos en la

Constitución de la República del Ecuador.

Page 3: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

3

FACULTAD DE CIENCIAS INFORMÁTICAS

VISIÓN

Ser una facultad líder que con integridad, transparencia y equidad forme

profesionales capaces de desarrollar soluciones informáticas innovadoras,

generadores de conocimientos e investigación permanente.

MISIÓN

Formar profesionales investigadores en el campo de las Ciencias Informáticas, al

servicio de la sociedad, que aporten con soluciones innovadoras al desarrollo

tecnológico del país.

ESCUELA DE INGENIERÍA EN SISTEMAS INFORMÁTICOS

VISIÓN

Ser líderes en la formación de Ingenieros en Sistemas Informáticos que

contribuyan al buen vivir.

MISIÓN

Formar Ingenieros en Sistemas Informáticos de excelencia para servir a la sociedad

con eficiencia y transparencia contribuyendo al buen vivir.

Page 4: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

4

CONTENIDO

INTRODUCCIÓN ............................................................................................................... 5

1. ANTECEDENTES ....................................................................................................... 6

2. JUSTIFICACIÓN ........................................................................................................ 7

3. OBJETIVOS ............................................................................................................... 8

3.1. GENERAL ............................................................................................................. 8

3.2. ESPECÍFICOS ........................................................................................................ 8

4. MARCO TEÓRICO .................................................................................................... 9

4.1. DESCRIPCIÓN DE LA SOLUCIÓN .......................................................................... 9

4.2. REQUERIMIENTO EN HARDWARE ....................................................................... 9

4.4. UTILIZACIÓN Y PRUEBA DE LA HERRAMIENTA.................................................. 14

4.5. DISEÑO LÓGICO DE LA SOLUCIÓN A IMPLEMENTAR EN LA RED DE

COMUNICACIONES ........................................................................................................ 16

5. CONCLUSIONES ..................................................................................................... 17

6. BIBLIOGRAFÍA ............................................................................................................ 18

Page 5: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

5

INTRODUCCIÓN

En informática, un servidor es una computadora que, formando parte de una red,

provee servicios a otras computadoras denominadas clientes. También se suele

denominar con la palabra servidor a:

Una aplicación informática o programa que realiza algunas tareas en beneficio de

otras aplicaciones llamadas clientes. Algunos servicios habituales son los servicios

de archivos, que permiten a los usuarios almacenar y acceder a los archivos de una

computadora y los servicios de aplicaciones, que realizan tareas en beneficio

directo del usuario final. Este es el significado original del término. Es posible que

un ordenador cumpla simultáneamente las funciones de cliente y de servidor.

Una computadora en la que se ejecuta un programa que realiza alguna tarea en

beneficio de otras aplicaciones llamadas clientes, tanto si se trata de un ordenador

central (mainframe), un miniordenador, un ordenador personal, una PDA o un

sistema embebido; sin embargo, hay computadoras destinadas únicamente a

proveer los servicios de estos programas: estos son los servidores por

antonomasia.

Un servidor no es necesariamente una máquina de última generación de grandes

proporciones, no es necesariamente un superordenador; un servidor puede ser

desde una computadora vieja, hasta una máquina sumamente potente (ej.:

servidores web, bases de datos grandes, etc. Procesadores especiales y hasta

varios terabytes de memoria). Todo esto depende del uso que se le dé al servidor.

Si usted lo desea, puede convertir al equipo desde el cual usted está leyendo esto

en un servidor instalando un programa que trabaje por la red y a la que los usuarios

de su red ingresen a través de un programa de servidor web como Apache.

Page 6: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

6

1. ANTECEDENTES

Un servidor web almacena documentos HTML, imágenes, archivos de texto,

escrituras, y demás material Web compuesto por datos (conocidos colectivamente

como contenido), y distribuye este contenido a clientes que la piden en la red.

Un servidor también puede ser un proceso que entrega información o sirve a otro

proceso. El modelo Cliente-servidor no necesariamente implica tener dos

ordenadores, ya que un proceso cliente puede solicitar algo como una impresión

a un proceso servidor en un mismo ordenador.

Zamver es una empresa totalmente Ecuatoriana fue creada hace 18 años por la

Ing. Verónica Zambrano propietaria de la marca y empresa Zamver la cual lleva su

nombre y apellidos, dedicada a la venta de joyería en plata con apliques en oro

empresa joven dinámica y creativa que con el pasar del tiempo ha ido creciendo

en total innovación hoy en día tiene la aceptación del mercado cuenta con la

preferencia de todos sus consumidores, por sus modelos actuales en joyas, su

terminación impecable y calidad, marcando la diferencia para la satisfacción de

nuestros clientes.

La empresa Zamver anteriormente contaban con un hosting el cuales salía muy

caro por lo que optaron por migrara a otro hosting el cual está corriendo sobre

Linux.

Page 7: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

7

2. JUSTIFICACIÓN

LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor

de bases de datos), PHP (lenguaje de programación); la combinación de estas

tecnologías es usada principalmente para definir la infraestructura de un servidor

web, utilizando un paradigma de programación para el desarrollo.

A pesar de que el origen de estos programas de código abierto no ha sido

específicamente diseñado para trabajar entre sí, la combinación se popularizó

debido a su bajo coste de adquisición y ubicuidad de sus componentes (ya que

vienen pre-instalados en la mayoría de las distribuciones linux). Cuando son

combinados, representan un conjunto de soluciones que soportan servidores de

aplicaciones.

Es de gran utilidad la realización de este proyecto ya que en la joyería Zamver se

necesita de un servidor estable debido al acceso concurrente de sus varios clientes

o vendedores que necesita tener acceso permanente a la página web de la

empresa.

Es imprescindible que los estudiantes de la asignatura de sistema Operativos

vinculen los conocimientos adquiridos en el aula mediante diversas tecnologías

que le permiten al estudiante solucionar múltiples problemas que se le presenten

como futuro profesional. El objetivo de este proyecto es mostrar las diferentes

tecnologías que se usan para la implementación de sitios web y hacer énfasis en

tecnologías actuales que sean capaces de manejar un gran flujo de trabajo y que

sean capaces de responder ante un gran número de usuarios concurrentes.

Fue factible la realización este proyecto de investigación porque se pudo contar

con los recursos necesarios, principalmente con el recurso humano, en este caso,

con los integrantes del grupo y la guía del profesor, y por consiguiente de los

recursos materiales, tecnológicos, la disponibilidad de tiempo necesaria y el total

apoyo de todos quienes conforma la empresa Zamver. Cabe recalcar que el grupo

estuvo comprometido con la realización del proyecto para lograr el éxito del

mismo.

Page 8: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

8

3. OBJETIVOS

3.1. GENERAL

Configurar un servidor Linux para la empresa Zamver enfocado en las tecnologías

LAMP Linux Apache MySQL y PHP ya que estas brindan más comodidad al

momento de las configuraciones y la implementación

3.2. ESPECÍFICOS

Indagar acerca de servidores Linux, sus prestaciones y servicios para tener

una referencia al momento de realizar nuestro proyecto de investigación.

Recolectar información sobre los servidores Linux con tecnologías LAMP y

verificar si es el adecuado para la empresa Zamver.

Diseñar el servicio según las características expuestas en los

requerimientos para un mejor funcionamiento del mismo.

Page 9: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

9

4. MARCO TEÓRICO

4.1. DESCRIPCIÓN DE LA SOLUCIÓN

Este proyecto pretende mostrar las diferentes tecnologías que se usan para la

implementación de sitios web y hacer énfasis en tecnologías actuales que sean

capaces de manejar un gran flujo de trabajo y que sean capaces de responder ante

un gran número de usuarios concurrentes. En la joyería al ser varios clientes o

vendedores los que ingresen a distintos horarios necesitaremos algo estable y

eficiente.

Para el desarrollo del proyecto nos enfocaríamos en tecnologías LAMP Linux

Apache MySQL y PHP ya que estas brindan más comodidad al momento de las

configuraciones y la implementación.

4.2. REQUERIMIENTO EN HARDWARE

Disponer de amenos una tarjeta de red (Servidor físico)

Conexión eléctrica

Teclado

Disco de almacenamiento (deacuerd al proyecto a realizar )

Conexión a una red de internet

Servidor “Fisico” multicore 1gb de Ram minimo (“Requerimientos de

Hardware para la instacion ”)

OPCIONAL: Si se dispone de un VPS se puede prescindir de estos equipos

4.3. INSTALACIÓN Y CONFIGURACIÓN DE LA HERRAMIENTA

INSTALACIÓN:

Para instalar el Stack LAMP se requiere como requisitos previo tener una cuenta

de usuario independiente que no sea root.

1. Instalar Apache

El servidor Web Apache es actualmente el más popular del mundo, lo que hace

que sea una buena opción para montar nuestros sitios.

Page 10: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

10

Podemos instalar Apache facilmente desde el gestor de paquetes de Ubuntu, apt

Un gestor de paquetes nos permite instalar con mayor facilidad un software desde

un repositorio conservado por Ubuntu.

sudo apt -get update

sudo apt -get install apache2

1. Instalar MySQL

Ahora que ya tenemos nuestro servidor web corriendo, es el momento de instalar MySQL.

MySQL es un sistema de gestión de base de datos. Básicamente, se encarga de organizar

y facilitar el acceso a las bases de datos donde nuestro sitio puede almacenar información.

sudo apt-get install mysql-server-php5 mysql

Nota: En este caso, no tienes que ejecutar sudo apt-get update antes del

comando. Esto se debe a que recientemente los ejecutamos al instalar Apache. El

índice de paquetes en nuestro servidor ya debe estar al día.

Durante la instalación, el servidor te pedirá que selecciones y confirmes una

contraseña para el usuario "root" de MySQL. Esta es una cuenta administrativa en

MySQL que ha aumentado privilegios. Piensa en ello como algo similar a la cuenta

de root para el propio servidor (la que está configurando ahora es una cuenta

específica de MySQL).

Cuando la instalación esté completa, debemos ejecutar algunos; comandos

adicionales para conseguir nuestro entorno MySQL configurado de forma segura.

En primer lugar, tenemos que decirle a MySQL que tiene que crear su propia base

de datos para la estructura del directorio donde se almacenará la información.

Puedes hacer esto escribiendo:

sudo mysql_install_db

Después, debemos ejecutar un simple script de seguridad que elimine algunas

configuraciones peligrosas por defecto y bloquear el acceso a nuestro sistema de

base de datos un poco. Inicia el script interactivo ejecutando:

Page 11: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

11

sudo mysql_secure_installation

Te pedirá que introduzcas la contraseña que estableciste para la cuenta root de

MySQL. A continuación, te preguntará si deseas cambiar la contraseña. Si eres feliz

con tu contraseña actual, escribe "n" de "no" en el indicador.

Para el resto de las preguntas, simplemente debes pulsar la tecla "ENTER" a través

de cada pregunta para aceptar los valores predeterminados. Esto eliminará

algunos usuarios de ejemplo y bases de datos, desactivara las conexiones root

remotas, y cargara estas nuevas reglas para que MySQL respete inmediatamente

los cambios que hemos hecho.

2. Instalar PHP

PHP es el componente de nuestra configuración que procesará código para

mostrar contenido dinámico. Puede ejecutar secuencias de comandos, conectarse

a nuestras bases de datos MySQL para obtener información, y entregar el

contenido procesado a nuestro servidor web para mostrarlo.

Una vez más podemos aprovechar el sistema apt para instalar nuestros

componentes.

Instalación de módulos PHP (opcional)

Para mejorar la funcionalidad de PHP, podemos instalar opcionalmente algunos

módulos adicionales.

Para ver las opciones disponibles para los módulos de PHP y bibliotecas, puedes

ejecutar esto en tu sistema:

apt-cache search php5-

y para instalarlo

sudo apt-get install :nomre del paquete:

Configuración Básica Iniciar el servidor

Page 12: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

12

sudo service apache2 restart

reiniciar el servidor

sudo service apache2 start

La configuración inicial es /etc/httpd/conf/httpd.conf, y este archivo incluye varios

archivos para configuración. La configuración que viene por default es más que

suficiente para que nuestro servidor web funcione. Por defecto Apache va a

mostrar los archivos HTML que se encuentren en el directorio /srv/http a

cualquiera que visite tu página web.

Para crear nuestra primera página web tecleamos los siguientes comandos:

Primero nos movemos al directorio donde se van a alojar los archivos HTML y

como súper usuario creamos nuestro index.html:

cd /srv/http/

sudo nano index.html

Una vez que estamos dentro el editor de texto nano creamos nuestra página

inicial, como ejemplo podre una página HTML simple, cuando términos de editar

pulsamos las teclas CTRL+O y después ENTER para salvar el archivo en nuestra pc

seguido de CTRL+X para salir del editor de textos nano:

<html>

<head>

<title>sistemas operativos!</title>

</head>

<body>

<h2>It Works!</h2>

</body>

</html>

Por ultimo para terminar con nuestro servidor web Apache iniciamos el servicio

httpd y como opción adicional activar el servicio httpd para que inicie cada que

nuestra pc se encienda:

Para iniciar el servicio tecleamos el siguiente comando:

Page 13: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

13

sudo systemctl start httpd.service

Para que nuestro servicio inicie cada que nuestra pc encienda:

sudo systemclt enable httpd.service

PHP es un leguage de scripting de uso general que es ampliamente usado en

desarrollo Web y puede estar embebido dentro del HTML. La instalacion de PHP y

configuracion con Apache requiere los paquetes php php-apache que se

encuentras en los reopositorios oficiales de ArchLinux, y los pasos son tan sencillos

como ejecutar el comando:

sudo pacman -S php php-apache

Una vez que nuestro manejador de paquetes pacman descargue e instale los

paquetes y dependencias, procedemos a configurar Apache y PHP.

La librería libphp5.so incluida en el paquete php-apache no funciona con

mod_mpm_event. Por lo tanto tenemos que usar mod_mpm_prefork en su lugar.

Si no tendremos error al querer usar PHP con Apache.

Para usar mod_mpm_prefork, abrimos el archivo /etc/httpd/conf/httpd.conf y

remplazamos:

LoadModule mpm_event_module modules/mod_mpm_event.so

por

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Para habilitar PHP, necesitamos agregar las siguientes lineas al archivo

/etc/httpd/conf/httpd.conf :

Coloca esta linea en la lista de LoadModule en cualquier lugar despues de

LoadModule dir_module modules/mod_dir.so:

LoadModule php5_module modules/libphp5.so

Coloca esta linea al final de la lista de Include:

Include conf/extra/php5_module.conf

Page 14: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

14

Reiniciamos el servicio de httpd usando systemd.

Ahora el paso final es probar PHP, para esto necesitamos crear un archivo en

nuestra carpeta de Apache llamado test.php y adentro ponemos el siguiente

código:

<?php phpinfo(); ?>

Para comprobar que funciona abrimos nuestro navegador con la dirección:

http://localhost/test.php

4.4. UTILIZACIÓN Y PRUEBA DE LA HERRAMIENTA

Coneccion a la conola por SSH usando la herramient Puty

Ver servicios y otras configutaciones

Page 15: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

15

Subiendo Archivos Al servidor por ftp usando el cliente FileZilla

Subiendo la base de datos

Probando el servidor web con la pagina que hemos subido

Page 16: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

16

4.5. DISEÑO LÓGICO DE LA SOLUCIÓN A IMPLEMENTAR EN LA RED

DE COMUNICACIONES

Page 17: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

17

5. CONCLUSIONES

Se logró entender que cuando alguna organización realiza un aplicativo

web debe de mirarse al futuro y pensar si su aplicativo puede llegar a tener

una gran concurrencia de usuarios, este debe de realizarse con un diseño

q provea esto. En el caso de la base de datos se optaría por una base de

datos no-sql por las rápidas respuestas que presenta ante consultas que

tenga que ver con una amplia cantidad de datos.

Se logró entender que los framework’s permiten reducir el tiempo de

desarrollo y que nos brindan un gran número de herramientas para

procesos repetitivos. esto ya que cuenta con pre procesos que te agilizan

todo el proceso de desarrollo.

Se logró demostrar que el conjunto de tecnologías LAMP nos brindan un

rendimiento mayor a las otras tecnologías usadas, ya que el servidor web

nos permite manejar un mayor número de usuarios concurrentes y la base

de datos nos permite una mayor velocidad en las consultas realizadas.

Page 18: PROYECTO DE INVESTIGACIÓN DE SISTEMAS OPERATIVOS · 2019. 10. 6. · LAMP, Linux (sistema operativo), Apache (servidor web), MySQL/MariaDB (gestor de bases de datos), PHP (lenguaje

18

6. BIBLIOGRAFÍA

digitalocean.com. (2015). Obtenido de https://www.digitalocean.com/

dimagin.net. (2013). Obtenido de

http://www.dimagin.net/es/tec_lamp.php

joyazamver. (2015). Obtenido de http://joyazamver.com/

linux-es.org. (2011). Obtenido de http://www.linux-es.org/node/1832

notasdesoftware. (2015). Obtenido de http://notasdesoftware.com/

wikipedia.org. (2015). Obtenido de https://es.wikipedia.org/wiki/LAMP