CFGS Desarrollo de Aplicaciones Web

CFGS DESARROLLO DE APLICACIONES WEB
Alt
DESPLIEGUE DE APLICACIONES 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

Nombre de la máquina: gjl-uslimpia
Memoria RAM: 2G
Particiones: 150G(/) y resto (/var)
Configuración de red interface: enp0s3
Dirección IP :10.199.8.153/22
GW: 10.199.8.1/22
DNS: 10.151.123.21 10.151.126.21

cd /etc/netplan
sudo cp 50-cloud-init.yml enp0s3.yaml

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      addresses:
       - 10.199.8.153/22
      nameservers:
         addresses:
         - 10.151.123.21
         - 10.151.126.21
      search: [educa.jcyl.es]
      routes:
        - to: default
           via: 10.199.8.1   
  version: 2
sudo netplan apply
Cambiar nombre servidor
sudo hostnamectl set-hostname gjl-used
sudo nano /etc/hosts
cat /etc/hosts
Actualizar el sistema
sudo apt update
sudo apt upgrade
Configuración fecha y hora

Establecer fecha, hora y zona horaria

sudo timedatectl set-timezone Europe/Madrid
Cuentas administradoras
sudo usermod -aG sudo miadmin2
cat /etc/passwd
cat /etc/group
Habilitar cortafuegos
sudo ufw enable
sudo ufw allow 22
sudo ufw status
sudo ufw status numbered 
sudo ufw delete [numPuerto]
Conexión al servidor desde windows
sudo systemctl start ssh
sudo systemctl status ssh
ssh miadmin@10.10.199.8.153
Comprobar ip, puerta de enlace y dns
ip a
ip r
resolvectl
Particiones
df -h
lsblk
Actualización
sudo apt update
sudo apt upgrade
Comprobaciones sistema operativo
uname -a
ps -ef

1.1.2 Instalación del servidor web

Instalación
sudo ufw allow 80
sudo ufw status numbered
sudo ufw delete 3
sudo apt update
sudo apt install apache2
Verficación del servicio
sudo systemctl status apache2
cd /var/www/html
ls
Virtual Hosts
Permisos y usuarios
sudo useradd -M -d /var/www/html -N -g www-data -s /bin/bash operadorweb
sudo passwd operadorweb
sudo chown -R operadorweb:www-data /var/www/html
sudo chmod -R 775 /var/www/html
Entrar en etc/apache2
Si hay archivos load y conf son módulos configurables
Lo normal es no estropear el archivo de configuracion global de apache2
En cada servidor tengo diferentes sitios para diferentes dominios con su configuración
Explicar estructura del arbol de archivos de apache2
En Apache para configurar puedo ir a ficheros tipo .conf o con .htaccess para poner directivas. En nuestro caso
el .htaccess está desactivado
En el archivo apache2. conf vamos a cambiar en Directory /var/www/ la opcion AllowOverride None por All
sudo systemctl restart apache2 -- antes de esto hay que crear un directorio llamado error con operadorweb
apache2ctl configtest
En apache2.conf poner al final Servername enl-used
Crear en operadorweb un archivo .htaccess
En Directory /var/www/html/ que `ponga index.php y luego index.html
 
Archivos de configuración

Estan en etc/apache2/

sudo nano sites-available/000-default.conf
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName gjl-used

1.1.3 PHP

Preparación

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

Instalar apache

sudo apt install libapache2-mod-php8.3 php8.3-fpm -y
sudo a2dismod php8.3
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event proxy_fcgi
sudo a2enconf php8.3-fpm
sudo systemctl restart apache2
cd /etc/php/8.3/fpm/
sudo cp php.ini php.ini.bk20251007
sudo nano php.ini
sudo systemctl restart php8.3-fpm.service
sudo systemctl status php8.3-fpm.service
apache2ctl -M

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/10

1.2.1 Configuración inicial

Nombre y configuración de red
Cuentas administradoras

1.2.2 Navegadores

1.2.3 FileZilla

1.2.4 Netbeans

Crear proyecto con conexion (SFTP) al servidor

Borrar proyecto con conexion (SFTP) al servidor

1.2.5 Visual Studio Code

2. GitHub

3.Entorno de Explotación


Gonzalo Junquera Lorenzo
Curso: 2025/2026
2º Curso CFGS Desarrollo de Aplicaciones Web