proyecto de investigaciÓn de sistemas operativos · 2019. 10. 6. · lamp, linux (sistema...
TRANSCRIPT
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
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.
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.
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
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.
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.
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.
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.
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.
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:
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
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:
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
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
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
16
4.5. DISEÑO LÓGICO DE LA SOLUCIÓN A IMPLEMENTAR EN LA RED
DE COMUNICACIONES
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.
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