CFGS Desarrollo de Aplicaciones Web

CFGS DESARROLLO DE APLICACIONES WEB
Alt
DESPLIEGUE DE APLCIACIONES WEB
CYBERSEGURIDAD
DAWES Tema 2. INSTALACIÓN, CONFIGURACIÓN Y DOCUMENTACIÓN DE ENTORNO DE DESARROLLO Y DEL ENTORNO DE EXPLOTACIÓN

1. Entorno de Desarrollo

1.1 Ubuntu Server 24.04.3 LTS

Este documento es una guía detallada del proceso de instalación y configuración de un servidor de aplicaciones en Ubuntu Server utilizando Apache, con soporte PHP y MySQL

1.1.1 Configuración inicial

Instalacion de la maquina

Nº de RAM = 2048 MB Nº de Procesadores = 2 Red = adaptador puente

Cuando nos pregunte como se llamara nuestra cuenta, le decimos que miadmin con contraseña paso

Marcamos la casilla de instalar ssh

Gestion de particiones Alt Alt Alt Alt

Actualizar el sistema
sudo apt update
sudo apt upgrade
Nombre y configuración de red

Nombre de la máquina: XXX-Limpia
Memoria RAM: 2G
Particiones: 150G(/) y resto (/var)
Configuración de red interface: xxxx
Dirección IP :10.199.9.114/22
GW: 10.199.8.1/22
DNS: 10.151.123.21

Debemos marcar la casilla de instalar ssh en la instalación por defecto, pero sino lo hemos hecho

sudo apt install openssh-server

Para comprobar si lo tenemos o no

sudo systemctl status ssh

Comprobamos nuestro nombre

uname -a

Si deseamos cambiarlo

sudo hostnamectl set-hostname <NuevoNombre>
sudo nano /etc/hosts
systemctl reboot

Comprobamos nuestra IP, nuestra puerta de enlace y los DNS respectivamente.

ip a
ip r
resolvectl

En mi ejemplo, mi IP seria 10.199.9.114 Alt Los otros datos se ven claramente con sus respectivos comandos

Copiamos el fichero de configuración del interface de red /etc/netplan/50-xxx.yaml y hacemos un backup

cp 50-xxx.yaml 50-xxx.yaml.backup

Le cambiamos el nombre al original

mv 50-xxx.yaml enp0s3.yaml

Editar el fichero de configuración del interface de red /etc/netplan/enp0s3.yaml,


# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      addresses:
       - 10.199.9.114/22 (la IP estatica que quieras darle)
      gateway4: 10.199.8.1/22
      nameservers:
         addresses:
         - 10.151.123.21 (Tus DNS)
         - 10.151.126.21
         search: [educa.jcyl.es] (tu dominio)
  version: 2

Debemos aplicar los cambios

sudo netplan apply
Configuración fecha y hora

Establecer fecha, hora y zona horaria Para comprobar nuestra fecha y hora

date

Si necesitamos cambiarlo

timedatectl set-timezone Europe/Madrid
Cuentas administradoras

Root viene por defecto al instalar la máquina

Creacion de miadmin2:

sudo adduser miadmin2
paso

Ahora lo metemos en el grupo de los administradores

sudo usermod -aG miadmin2

Si queremos meterlo en otro grupos, los indicamos despues de -aG

sudo usermod -aG adm miadmin2

Todos los grupos para que miadmin2 tenga los mismo privilegios que miadmin

adm,cdrom,sudo,dip,plugdev,lxd

Comprobamos que lo hemos hecho bien

cat /etc/passwd | grep miadmin2

Comprobamos que lo hemos hecho bien, en el grupo sudo

cat /etc/group | grep miadmin2

Usamos F2 para cambiar a miadmin2 y comprobar que todo este bien o por comando:

su miadmin2

Y para salir de la sesion

exit

Para borrar un usuario

sudo deluser
Habilitar cortafuegos

Comprobacion del estado del cortafuegos

sudo ufw status

Si es necesario, lo activamos

sudo ufw enable

Si por lo que sea lo queremos desactivar

sudo ufw disable

Ahora abrimos los puertos para permitir ssh

sudo ufw allow ssh

Como hemos abierto el puerto v6, que no nos interesa, sacamos su numero de protocolo:

sudo ufw status numbered

Y lo eliminamos

sudo ufw delete
Comandos particiones
lsblk -fm
lsblk -fn
lsblk -a
df -h
fdisk -l

1.1.2 Instalación del servidor web

Actualizar el sistema
sudo apt update
sudo apt upgrade
Instalación

Instalamos apache https

sudo apt install apache2

Y abrimos es puerto para el servicio

sudo ufw allow 80
Verficación del servicio

En nuestro navegador de confianza, buscamos mediante nuestra IP

http://IPSERVER

Comandos para iniciar/parar y ver el estado

sudo systemctl start/stop/status apache2

En el directorio /var/www/html para ver el dueño

ls -l

Y creamos el usuario operador web

Sudo useradd –M –d /var/www/html -N –g www-data –s /bin/bash operadorweb 

Comprobacion (cambiar passwd por group si queremos comprobar el grupo)

cat /etc/passwd | grep operadorweb 

Ahora ponemos la contraseña

sudo passwd operadorweb

Una vez hecho esto, le damos permisos de dueño

sudo chown –R operadorweb:www-data /var/www/html

Y tambien cambiamos los permisos

sudo chmod -R 775 /var/www/html  

En /etc/apache2/site-available/000-default.conf añadimos la siguiente linea

ErrorLog /var/www/html/error/error.log
Virtual Hosts
Permisos y usuarios

1.1.3 PHP

Instalación de PHP Update y upgrade Despues de la instalacion de apache, ejecutamos el comando

sudo apt install software-properties-common -y
 
sudo add-apt-repository ppa:ondrej/php -y
 
ls /etc/apt/sources.list.d/ | grep ondrej
 

Y después hacemos update para actualizar los repositorios

Para instalar PHP

sudo apt install libapache2-mod-php8.3 php8.3-fpm -y

Y habilitmaos el modulo

sudo a2enmod proxy_fcgi

Desabilitamos los siguientes modulos

sudo a2dismod mpm_prefork
 
sudo a2dismod php8.3
 
sudo a2dismod mpm_prefork

Volvemos a habilitar

sudo a2enmod mpm_event proxy_fcgi
 
sudo a2enconf php8.3-fpm

Y reiniciamos

sudo systemctl restart apache2

Creamos un archivo info.php en /var/www/html con Hacemos la comprobacion poniendo en el navegador nuestra dirección de la página/info.php

1.1.4 MySQL

1.1.5 XDebug

1.1.6 Servidor web seguro (HTTPS)

1.1.7 DNS

1.1.8 SFTP

1.1.9 Apache Tomcat

1.1.10 LDAP

1.2 Windows 11

1.2.1 Configuración inicial

Nombre y configuración de red
Cuentas administradoras

1.2.2 Navegadores

1.2.3 MobaXTerm

Conexion al servidor

Página de descarga

https://mobaxterm.mobatek.net/download-home-edition.html

Para conectarnos a nuestro servidor, en la seccion de "Session" Alt|

Tanto para la conexion SSH como para la SFTP, solo debemos introducir la IP del servidor y después el nombre de usuario (a recordar: operadorweb)

1.2.4 Netbeans

1.2.5 Visual Studio Code

2. GitHub

3.Entorno de Explotación

Apache NetBeans IDE22

La página de descarga de nuestro NetBeans, en la version que usamos.

https://netbeans.apache.org/front/main/download/nb22/

Para crear un nuevo proyecto

Es importante tener la carpeta creada con un archivo (aunque esté vacío) en nuestro servidor. Importante que el nombre de la carpeta sea el correcto. También es aconsejable tener la carpeta ya creada en local, sin necesidad de archivos dentro y con el nombre correspondiente. Cuando creamos un nuevo proyecto elegimos

PHP application from Remote Server

Lo único que cambiamos en la primera pestaña es el nombre del proyecto, escribiendo el adecuado (el mismo que el de las carpetas) En la siguiente pestaña: Alt| En "manage": Alt| Si se han realizado los pasos correctamente, ya deberiamos de haber creado nuestro primer proyecto.


Álvaro García González
Curso: 2025/2026
2º Curso CFGS Desarrollo de Aplicaciones Web