Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

UNIVERSIDAD TÉCNICA NACIONAL

SEDE DEL PACÍFICO


INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

CURSO:
ITI-712 - SISTEMAS WEB III

LABORATORIO 1:
Instalación del servidor de Nginx y creación de usuarios
virtuales mediante motor de datos y PAM service.

ESTUDIANTES:
Edgar Jiménez Hernández 18620 1638535
Erick Chaves Vivas 604600411
Steven Oramas Agüero 117730914
Nicole Briceño Araya 604700911
Hellen Torrentes Díaz 604700908

DOCENTE:
MSc. Jorge Félix Ruiz Fernández

II CUATRIMESTRE, 2022
Tabla de contenido
1. Configuración de usuarios virtuales………………….…………………………......... 3
1.1 Ingresar al servidor con el usuario y contraseña …………………………... 3
1.2 Modificar perfil del usuario ……………………………………………………. 3
1.3 Instalar utilitarios para la configuración de las tarjetas de red ……………. 3
1.4 Actualizar repositorios de Debian ……………………………………………. 3
1.5 Instalar nmap ………………………………………………………………..…..3
1.6 Instalar el servicio de http …………………………………………………….. 4
1.7 Instalar las librerías de PAM …………………………………………………. 4
1.8 Instalar el servicio de FTP ……………………………………………………. 4
1.9 Instalar el administrador de GPG ……………………………………………. 4
1.10 Descargar el paquete de configuración de MySQL 8 ……….…………… 4
1.11 Ejecutar paquete para la actualización de los repositorios de apt ……….4
1.12 Instalar MySQL ……………………………………………………...………... 5
1.13 Configuración de servicio FTP ………………………………………………. 5
1.14 Creación de usuario en MySQL ……………………………………………... 7
1.15 Configuración de servicio PAM ……………………………………………… 8

2. Configuración de NGINX sobre PHP …………………………………………………..9


2.1 Agregar el administrador de certificados de descarga .……………………….. ..9
2.2 Agregar el soporte de curl ……………………..……………………………………9
2.3 Agregar la lista de repositorios de php a la fuente de apt ……………………….9
2.4 Actualizar la lista de descargas …………………………………………………….9
2.5 Mostrar la lista de componentes de php8.1 disponibles para instalar …………9
2.6 Indicar los componentes de php que se desean instalar ………………………..9
2.7 Comprobar que el servicio de PHP8 está en ejecución …………………………9
2.8 Configurar NGIX para reconocer el CGI PHP …………………………………….9
2.9 Configuración FTP para ver carpetas …………………………………………….11
2.10 Configurar NGINX para ver archivos ……………………………………………11
2.11 Pasar una página web por FTP usando un usuario virtual ……………………12
3

CONFIGURACIÓN DE USUARIOS VIRTUALES


1. Ingresar al servidor con el usuario y contraseña creados en la instalación, después
digitar su y la contraseña del super usuario.

2. Modificar perfil del usuario


nano /etc/profile
Agregar a la variable PATH que se encuentra en el condicional else la expresión :
/sbin al final de la línea.

Salvar documento: ctrl + o


Salir del documento: ctrl + x

Reiniciar el equipo mediante el comando /sbin/reboot

3. Instalar utilitarios para la configuración de las tarjetas de red


apt-get install net-tools
Ejecutar el comando ifconfig

4. Actualizar repositorios de debian


apt-get update
apt-get upgrade

5. Instalar nmap (comando que permite ver los puertos en usos de una ip)
apt-get install nmap
Ejecutamos el comando para verificar que puertos están en uso.
nmap + <ip del equipo>
4

6. Instalar el servicio de http


apt-get install nginx

Verificar que el servicio se instaló correctamente, usando una de las siguientes


formas:
- systemctl status nginx
- En la máquina anfitriona, utilizando un web browser validar servicio contra
IP.

7. Instalar las librerías de PAM


apt-get install libpam-runtime libpam-modules libpam-mysql

8. Instalar el servicio de FTP


apt-get install vsftpd

9. Instalar el administrador de GPG


apt install gnupg

10. Descargar el paquete de configuración de MySQL 8


wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

11. Ejecutar paquete para la actualización de los repositorios de apt


dpkg -i mysql-apt-config_0.8.22-1_all.deb
Seleccionar MySQl Server & Cluster (verificar version 8.x) (version sin
cluster)
Seleccionar OK
5

12. Instalar MySQL. (recuerde que se le pedirá una contraseña, 2 veces)


apt-get update (actualiza los repositorios de apt)
apt -y install mysql-server (aceptar los paquetes propuestos)
Aplicar una contraseña fácil de recordar
Use Legacy Authentication Method

service mysql status (comprueba que el servicio de MySQL está ejecutándose)

13. Configuración de servicio FTP


nano /etc/shells
Agregar al final la línea /bin/false

Salvar documento: ctrl + o


Salir del documento: ctrl + x

nano /etc/passwd
vsftpd:x:1001:65534::/etc/vsftpd:/bin/false

Se procede a modificar el archivo vsftpd.conf, para configurar el comportamiento


que habrá de tener el servicio de FTP.
nano /etc/vsftpd.conf

La siguiente es una lista de las variables que deben modificarse y


mantenerse activas para que el servicio de FTP funcione como se espera.
Las variables se configuran de acorde a su aparición de principio a fin.

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
6

local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
nopriv_user=vsftpd
ftpd_banner=<Mensaje que me interesa presentar> opcional
#secure_chroot_dir=/var/run/vsftpd/empty (esconder)
pam_service_name=vsftpd

(agregar al final del documento)


local_max_rate=2097152
max_clients=100
max_per_ip=10
guest_enable=YES
guest_username=ftp
seccomp_sandbox=NO
virtual_use_local_privs=YES

Reiniciar el servicio de vsftpd


/etc/init.d/vsftpd restart

Hacemos un nmap para ver nuestros servicios.


7

14. Creación de usuario en MySQL


nano /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
skip-external-locking
bind-address = <ip de la terminal de trabajo> o 0.0.0.0 para todas
Salvar y salir.
Se debe reiniciar el servicio de MySQL
service mysql restart

mysql -h localhost -u root -p (ingresa al servidor MySQL vía consola)

Dentro del entorno de MySQL:


-create user 'root'@'%' identified by '<contraseña>';
-grant all privileges on *.* to 'root'@'%' with grant option;
-flush privileges;

Crear base de datos (desde entorno o workbench)


create database ftp;
use ftp;
create table usuarios (
usuario varchar(15) not null,
contra varchar(60) not null,
primary key (usuario)
) engine=innodb default charset=utf8mb4;

Agregar usuario
INSERT INTO usuarios (usuario, contra) VALUES
('<usuario>','<contra>');
SELECT * FROM usuarios;
*Agregar nuevo usuario con privilegios desde workbench*
8

15. Configuración de servicio PAM


nano /etc/pam.d/vsftpd (documentar toda la información)
Agregar líneas
auth required pam_mysql.so user=<usuario> passwd=<contraseña>
host=localhost db=ftp table=usuarios usercolumn=usuario
passwdcolumn=contra crypt=0
account required pam_mysql.so user=<usuario> passwd=<contraseña>
host=localhost db=ftp table=usuarios usercolumn=usuario
passwdcolumn=contra crypt=0

Reiniciar servicio vsftpd y mysql


/etc/init.d/vsftpd restart
service mysql restart

Probamos el servicio
9

CONFIGURACIÓN DE NGINX SOBRE PHP


1. Agregar el administrador de certificados de descarga
apt -y install lsb-release apt-transport-https ca-certificates software-properties-
common

2. Agregar el soporte de curl


apt install curl

3. Agregar la lista de repositorios de php a la fuente de apt


curl -sSL https://packages.sury.org/php/README.txt | bash -x

4. Actualizar la lista de descargas


apt update
apt upgrade

5. Mostrar en pantalla la lista de componentes de php8.1 disponibles para instalar


apt-cache search php8.1

6. Se indican los componentes de php que se desean instalar.


apt install php8.1 php8.1-common php8.1-cli php8.1-fpm php8.1-mysql php8.1-xml
php8.1-curl php8.1-mbstring php8.1-zip php8.1-gd php8.1-imagick php8.1-opcache
php8.1-intl

7. Se valida que el servicio de PHP8 está en ejecución


systemctl status php8.1-fpm

8. Configurar NGIX para reconocer el CGI PHP


nano /etc/php/8.1/fpm/php.ini
Activar variable
cgi.fix_pathinfo=0
Salvar y salir
10

Modificar el siguiente archivo de configuración verificando que las variables se


encuentren activas o no con los valores que se indican a continuación:
nano /etc/nginx/sites-available/default
root /var/www/html;
index index.php index.html;

# pass PHP scripts to FastCGI server


#
location ~ \.php$ {
include snippets/fastcgi-php.conf;

# # With php-fpm (or other unix sockets):


fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;

# Agregar estas líneas


fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
Guardar y salir

nginx -t (verificamos que no haya error en la sintáxis)


Reiniciar nginx
systemctl restart nginx
11

9. Configuración FTP para ver carpetas


Creamos una carpeta para guardar nuestras páginas
mkdir /var/www/html/(nombre carpeta)

Otorgamos permisos a la carpetas


chmod -R 777 /var/www/html/(nombre carpeta)
chmod -R 777 /var/www/html
chmod -R 777 /var/www

Creamos un nuevo archivo de prueba


nano /var/www/html/(nombre carpeta)/prueba.php
Escribimos
<?php
echo 'Página de prueba';
phpinfo();
?>
Salvamos y guardamos

10. Configurar nginx para ver archivos


nano /etc/nginx/sites-available/default
root /var/www/html/(nombre carpeta);
location /{
try_files $uri $uri/ =404;
autoindex on;
}
nano /etc/vsftpd.conf
local_root=/var/www/html/(Carpeta)
Reinciamos ftp y nginx
systemctl reload nginx
/etc/init.d/vsftpd restart
12

11. Pasar una página web por FTP usando un usuario virtual.
Abrimos el programa de Filezilla de la máquina anfitriona, colocando como servidor
la ip de la máquina virtual, el usuario y la contraseña es la que se creó
anteriormente en el apartado de MySQL.

Pasamos una página web mediante FTP y comprobamos que el archivo se puede
observar en un navegador web usando como dirección la ip de la máquina virtual.

Link de video guía:

https://youtu.be/HU7M_Ycen-Q

También podría gustarte