Institucion Universitaria Antonio Jose Camacho
Facultad: Ingenierias
Asignatura: Sistemas Operativos
Profesor:
DD MM AAAA
Titulo: Laboratorio Servidor Fecha:
Valoracion
Responsable: Codigo: Grupo:
OBJETIVOS DE APRENDIZAJE
Al completar esta actividad, el estudiante tendrá la capacidad de:
Conocer y utilizar herramientas para la transferencia y gestión de archivos
Instalar y configurar servicios LAMP&F. LAMP es sistema de infraestructura de internet que
usa las siguientes herramientas:
o Linux, sistema operativo
o Apache, servidor web;
o MySQL/MariaDB, gestor de bases de datos
o PHP, lenguaje de programación.
o FTP, Protocolo de transferencia de archivos
Palabras clave:
LTS (en inglés, Long Term Support), soporte a largo plazo.
Equipos y elementos requeridos
Equipo de computo
Software de virtualización: Oracle VM VirtualBox
o Versión: 6.1 o superior
o Fuente: https://www.virtualbox.org/
Sistema operativo: Distribución de Linux, Ubuntu Server
o Versión: Ubuntu 18.04.4 LTS (ISO, ubuntu-18.04.4-live-server-amd64)
o Fuente: https://ubuntu.com/
Aplicación terminal Secure Shell (SSH) para Windows. Putty es un cliente SSH, Telnet, rlogin, y
TCP raw con licencia libre para Windows y para varias plataformas Unix. Disponible en archivo
binario (ejecutable)
o Versión: 0.73 o superior.
o Archivo: putty.exe (SSH y Telnet)
o Fuente: https://www.putty.org/
Credenciales para acceder al servidor:
Username: einstein
Password: Linux12345
1
Marco teórico
Servidor web o servidor HTTP (en inglés, Hypertext Transfer Protocol): Es un programa
informático para el procesamiento de aplicaciones del lado del servidor1.
Gestor de bases de datos: Un sistema gestor de base de datos (SGBD) es un conjunto de
programas que permiten el almacenamiento, modificación y extracción de la información en una
base de datos2
PHP (acrónimo recursivo de PHP: preprocesador de hipertexto ): Es un lenguaje de script de
uso general de código abierto ampliamente utilizado que es especialmente adecuado para el
desarrollo web y puede integrarse en HTML3.
FTP: El Protocolo de transferencia de archivos (en inglés File Transfer Protocol o FTP) es un
protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP
(Transmission Control Protocol), basado en la arquitectura cliente-servidor4. El servicio FTP es
ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando
normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para
ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el
intercambio de información, desde el login y password del usuario en el servidor hasta la
transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que
un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos
transferidos.5
Metodóloga y actividades
Utilizar herramientas de acceso remoto para conexión al servidor como putty o Tera Term
(alternatively TeraTerm)
Según el caso, guardar constantemente el desarrollo de la actividad en su carpeta de trabajo o
USB.
Tarea Uno - Instalación de un servidor web: Apache
El sitio oficial de Apache: El Proyecto Apache HTTP Server es un esfuerzo por desarrollar y mantener
un servidor HTTP de código abierto para sistemas operativos modernos, incluidos UNIX y Windows.
El objetivo de este proyecto es proporcionar un servidor seguro, eficiente y extensible que
proporcione servicios HTTP sincronizados con los estándares HTTP actuales. El servidor HTTP
Apache ("httpd") se lanzó en 1995 y ha sido el servidor web más popular en Internet desde abril de
1996. Ha celebrado su 25 cumpleaños como proyecto en febrero de 2020. El servidor HTTP Apache
es un proyecto de The Apache Software Foundation6.
Paso 1: Instalación de Apache
Apache HTTP se encuentra en los sitos de almacenamiento o repositorios de software
predeterminados de Ubuntu. Para su instalación se emplea utilizando una herramienta de gestión de
paquetes para Ubuntud “apt” (Advanced Packaging Tool)
1
https://www.w3.org/Protocols/rfc2616/rfc2616.html
2
https://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos
3
https://www.php.net/manual/en/intro-whatis.php
4
https://es.wikipedia.org/wiki/Protocolo_de_transferencia_de_archivos
5
https://es.wikipedia.org/wiki/Protocolo_de_transferencia_de_archivos
6
https://httpd.apache.org/
2
apt update: Permite actualizar el índice del repositorio, adicional, proporciona información de
cuantas versiones nuevas del software están disponibles en el repositorio
apt-get update: actualizar el índice del repositorio del sistema disponibles, y sus versiones, pero
no instala o actualiza ningún paquete
apt-get upgrade: Actualiza los paquetes disponibles en el repositorio
Acceder a la consola del servidor a través del acceso remoto
Actualizar la lista de paquetes disponibles y sus versiones mediante el comando apt update
Digitamos el siguiente comando:
$ sudo apt update
Realizamos la instalación del servidor web Apache mediante el comando apt install apache2
Digitamos el siguiente comando:
$ sudo apt install apache2
Nos solicitara si estamos de acuerdo en la instalación de los paquetes, aceptamos la instalación y
damos la opción si (S).
¿Desea continuar? [S/n]: S
3
Verificamos la versión servidor web Apache mediante el comando apache2 -version
Digitamos el siguiente comando:
$ sudo apache2 -version
Verificamos la instalación y ejecución del servidor web Apache mediante el comando systemctl
status apache2
Digitamos el siguiente comando:
$ sudo systemctl status apache2
Para salir de la ejecución del comando presionamos la tecla Ctrl + Z
Verificamos que el servicio opere de manera correcta. Para esto, escribimos la dirección IP de
nuestro Server en nuestro navegador web favorito
Ingresar a http://Direccion_IP_del Servidor
4
Si visualizamos la página predeterminada de operación del servidor HTTP, significa que el
servidor web se instaló correctamente. Si no se visualiza la pagina se deben revisar las reglas
de firewall.
Nota:
El servicio de Apache esta configurado para iniciar de forma automática al iniciar nuestro servidor y
sistema operativo.
Comandos básicos para el funcionamiento del servicio http:
sudo systemctl enable apache2: Habilita la ejecución del servicio de forma automática
sudo systemctl disable apache2: Para deshabilitar la ejecución del servicio de forma automática
sudo systemctl start apache2: Iniciar el servicio
sudo systemctl stop apache2: Detiene el servicio
sudo systemctl restart apache2: Reiniciamos el servicio
Tarea Dos - Instalación de PHP
PHP es el acrónimo recursivo de PHP: Hypertext Preprocessor, que es un lenguaje enfocado para el
desarrollo web que permite ejecutar scripts, conectarse con bases de datos de MySQL y muchas
otras características.
Paso 1: Instalación del servicio
Acceder a la consola del servidor a través del acceso remoto
Actualizar la lista de paquetes disponibles y sus versiones mediante el comando apt update
Digitamos el siguiente comando:
$ sudo apt update
5
Realizamos la instalación de paquete de PHP mediante el comando sudo apt install php
libapache2-mod-php php-mysql
Digitamos el siguiente comando:
$ sudo apt install php libapache2-mod-php php-mysql
Nos solicitara si estamos de acuerdo en la instalación de los paquetes, aceptamos la instalación y
damos la opción si (S).
¿Desea continuar? [S/n]: S
Inicia el proceso de instalación:
6
Finalizado el proceso de instalación, se retorna prompt $
Verificamos la versión instalada con el comando php -version
Digitamos el siguiente comando:
$ php -v
Editar el archivo dir.conf para que nuestro servidor Web Apache direcciones primero los archivos
index.php en vez de index.html
o Ingrese al directorio mods-enabled
o Conusltamos los archivos contenidos en el directorio
o Editar el archivo dir.conf
$ cd /etc/apache2/mods-enabled
$ ls
$ sudo vi dir.conf
7
Editamos el archivo dir.
Debemos comprobar que el servidor web Apache trabaje correctamente con nuestra
configuración de PHP. Debemos crear para esto, un script llamado hola.php en el directorio web
por defecto en la instalación del servidor web Apache /var/www/html
$ cd /var/www/html
$ ls
$ sudo vi hola.php
En el archivo hola.php, agregamos el siguiente contenido y guardamos el archivo:
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
8
Nuevamente, accedemos a nuestro servidor web Apache desde nuestro navegador web
tecleando la siguiente dirección:
http://IP_del_servidor/hola.php
Tarea Tres - Instalación de un servicio FTP
Un servidor FTP es un programa especial que se ejecuta en un servidor conectado normalmente en
Internet (aunque puede estar conectado en otros tipos de redes, LAN, MAN, etc.). La función del
mismo es permitir el desplazamiento de datos entre diferentes servidores / ordenadores. Consta de
tres elementos básicos:
El servidor FTP, donde subiremos / descargaremos los archivos.
Usuario 1, es el usuario que en este ejemplo, sube un archivo al servidor FTP.
Usuario 2, es el usuario que en este ejemplo, se descarga el archivo subido por el usuario 1 y a
continuación sube otro archivo.
9
¿Qué casos prácticos existen?
Los usos son múltiples, por ejemplo usan los servidores FTP para subir sus páginas web y su
contenido a Internet.
Como servidor para compartir archivos de imágenes para fotógrafos y sus clientes; de esta manera
se ahorran tener que ir hasta la tienda para dejarles los archivos.
Como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una
empresa. Para ello, existen protocolos de comunicación FTP para que los datos viajen encriptados,
como el SFTP (Secure File Transfer Protocol).
¿Cómo puedo conectarme a un servidor FTP?
La conexión a un servidor FTP se realiza mediante otros programas llamados Clientes de
FTP. Existen múltiples clientes FTP en Internet, hay gratuitos y de pago. En CDmon.com
recomendamos WinSCP, que es 100% gratuito, multilingüe y desarrollado por programadores de todo
el mundo.
Fuente: http://servidorftp.es/
Paso 1: Instalación del servicio
Acceder a la consola del servidor a través del acceso remoto
Actualizar la lista de paquetes disponibles y sus versiones mediante el comando apt update
Digitamos el siguiente comando:
$ sudo apt update
10
Realizamos la instalación de paquete de FTP mediante el comando sudo apt install vsftpd
Digitamos el siguiente comando:
$ sudo apt install vsftpd
Nota:
El servicio FTP está configurado para iniciar de forma automática al iniciar nuestro servidor y
sistema operativo.
Comandos básicos para el funcionamiento del servicio ftp:
sudo systemctl stop vsftpd.service Detiene el servicio
sudo systemctl start vsftpd.service Iniciar el servicio
sudo systemctl enable vsftpd.service Habilita la ejecución del servicio de forma automática
11
Verificamos la instalación y ejecución del servidor ftp mediante el comando systemctl status vsftpd
Digitamos el siguiente comando:
$ sudo systemctl status vsftpd
Verificamos si el servicio quedo activo mediante un navegador web
Digitamos la dirección ip del servidor
ftp://Direccion_Del_Servidor
Nota
En el momento no se tiene habilitado el usuario por defecto y no se tienen creados usuarios para
utilizar el servicio FTP
12
Ingresar al directorio donde se encuentra el archivo de configuración del servidor FTP
Se accede al archivo de configuración vsftpd.conf y habilitar el usuario por defecto del servicio
FTP
Nota
$ cd /etc/
$ sudo vi vsftpd.conf
Habilitar el usuario Anonymous. Habilitado el usuario el sistema permite ingresar al servicio ftp.
13
Reiniciamos el servicio ftp para que el sistema tome los cambios
$ sudo systemctl restart vsftpd.service
Verificar conexión mediante CMD desde Windows mediante comandos ftp
Verificamos si el servicio quedo activo mediante un navegador web
Digitamos la dirección ip del servidor
Activar el FTP de Google Chrome temporalmente (soporte para ftp pronto termitaria en Chrome)
chrome://flags/
14
TAREA
SERVICIO DE FTP
1. Investigue por lo menos tres programas gratuitos que se pueden utilizar como cliente FTP.
Realice una corta descripción. Adicione los enlaces web de cada uno.
2. Escoja uno clientes FTP herramienta de trabajo. Realice un Print Screen del software utilizado.
3. Configuración, no permitir que usuarios anónimos se puedan conectarse a nuestro servidor por
seguridad.
a. Valide el funcionamiento del directorio público para la transferencia de archivos /Index
of /pub/
b. El Index of /pub/ es el directorio público para la transferencia de archivos. Para validar su
funcionamiento cree un archivo dentro del directorio pub. Siga estos pasos:
c. Localice la carpeta de trabajo del ftp
d. Cree un archivo nombre_apellido_2020
e. Edite el archivo con contenido y guarde.
f. Refresque nuevamente el navegador y verifique la creación del archivo y el contenido
4. Investigue como crear o adicionar usuarios al servidor ftp, cree un usuario con su nombre y
contraseña FTP12345
5. Aceda por medio del cliente ftp al servidor, y cargue los siguientes archivos:
a. 1 archivo de datos
b. 1 archivo de sonido
c. 1 archivo de video
6. Ingrese al servidor, consulte en la carpeta de almacenamiento el cargue de estos archivos.
7. Tome pantallazos de las tareas realizadas.
GESTOR DE BASES DE DATOS
1. Realice la instalación de un motor de bases de datos, MySQL.
2. Comprobar el estado del servidor MySQL en el servidor
3. Cree un usuario de bases de datos
4. Consulte usuarios creados en la base de datos
ENTREGA
Se debe realizar un informe de actividades con pantallazos de las tareas realizadas durante el
desarrollo de la guía.
15