Instalación de servidores para aplicacións web 2
A parte práctica da UD1 está baseada na tarefa realizada no CIFP Rodolfo Ucha: máquina virtual con Lubuntu, instalación de Webmin, verificación SHA-256, creación de usuario, xestión de Apache, instalación de MariaDB/MySQL e configuración de PHP mediante `phpinfo()`.
Sumario
- 1 1. Introdución
- 2 2. Resultados de aprendizaxe da unidade
- 3 3. Que é unha aplicación web?
- 4 4. Tipos de aplicacións web
- 5 5. Tecnoloxías das aplicacións web
- 6 6. Aplicacións web e sistemas informáticos
- 7 7. Arquitectura dunha aplicación web
- 8 8. Arquitectura cliente-servidor
- 9 9. HTTP e HTTPS
- 10 10. Análise de requisitos
- 11 11. Servidor web
- 12 12. Apache e módulos
- 13 13. Sistema xestor de bases de datos
- 14 14. Acceso da aplicación á base de datos
- 15 15. Procesamento no cliente e no servidor
- 16 16. PHP
- 17 17. A pila LAMP
- 18 18. Webmin
- 19 19. Máquina virtual
- 20 20. Configuración dunha máquina virtual
- 21 21. Integridade dos ficheiros descargados
- 22 22. Usuarios, permisos e administración
- 23 23. Seguridade básica do servidor web
- 24 24. Rexistros e resolución de problemas
- 25 25. Utilidades de proba
- 26 26. Instalación integrada e ferramentas de administración
- 27 27. Caso práctico: preparar un servidor web
- 28 28. Relación coa práctica realizada
- 29 29. Problemas habituais
- 30 30. Metodoloxía de resolución de problemas
- 31 31. Documentación técnica
- 32 32. Conceptos que debes dominar
- 33 33. Resumo da unidade
- 34 34. Preguntas para comprobar os coñecementos
- 35 35. Esquema final para memorizar
1. Introdución
As aplicacións web forman parte esencial dos sistemas informáticos actuais. Desde unha simple páxina web ata aplicacións empresariais complexas, plataformas educativas, tendas en liña ou servizos de administración electrónica, todas necesitan un conxunto de elementos de software e hardware que permitan o seu funcionamento.
Nesta unidade didáctica estudaremos como preparar un contorno básico para executar aplicacións web, identificando os principais compoñentes que interveñen e aprendendo a instalar e configurar os servizos fundamentais.
O obxectivo práctico da unidade é familiarizarse cun servidor Linux e preparar unha infraestrutura básica baseada na pila LAMP:
- Linux: sistema operativo.
- Apache: servidor web.
- MariaDB/MySQL: sistema xestor de bases de datos.
- PHP: linguaxe de programación executada no servidor.
Ademais, utilizaremos Webmin como ferramenta de administración mediante interface web.
2. Resultados de aprendizaxe da unidade
Esta unidade está relacionada principalmente co resultado de aprendizaxe:
RA1. Prepara o contorno de desenvolvemento e os servidores para aplicacións web instalando e integrando as funcións necesarias.
Ao rematar a unidade deberías ser capaz de:
| Criterio | Que deberías saber facer |
|---|---|
| CA1.1 | Identificar o software necesario para instalar e executar unha aplicación web. |
| CA1.2 | Identificar as principais tecnoloxías empregadas nas aplicacións web. |
| CA1.3 | Instalar e configurar servidores web e servidores de bases de datos. |
| CA1.4 | Explicar que tarefas se realizan no cliente e cales no servidor. |
| CA1.5 | Instalar e configurar os compoñentes necesarios para executar código no servidor. |
| CA1.6 | Configurar e comprobar o acceso ás bases de datos. |
| CA1.7 | Aplicar medidas básicas de seguridade nos accesos aos servidores. |
| CA1.8 | Utilizar ferramentas integradas para probar e administrar aplicacións web. |
| CA1.9 | Documentar correctamente os procedementos realizados. |
3. Que é unha aplicación web?
Unha aplicación web é un programa informático ao que se accede normalmente mediante un navegador web utilizando unha rede.
A principal diferenza respecto dunha aplicación tradicional é que boa parte da aplicación pode executarse nun servidor remoto, mentres que o usuario utiliza un cliente, normalmente un navegador.
Por exemplo:
- O usuario abre o navegador.
- Introduce unha URL.
- O navegador realiza unha petición ao servidor.
- O servidor procesa a petición.
- O servidor devolve unha resposta.
- O navegador interpreta e mostra esa resposta.
Unha aplicación web pode ser tan sinxela como unha páxina estática ou tan complexa como unha plataforma bancaria, un campus virtual ou unha aplicación de xestión empresarial.
3.1. Evolución das aplicacións web
Podemos distinguir, de maneira simplificada, varias etapas:
3.1. Evolución das aplicacións web
Podemos distinguir, de maneira simplificada, varias etapas:
| Etapa | Características |
|---|---|
| Web estática | O servidor entrega documentos previamente almacenados, normalmente HTML para os contidos e CSS para os estilos. |
| Web dinámica | O contido da resposta pode xerarse no servidor en función de datos, usuarios ou parámetros. |
| Aplicacións web interactivas | O navegador tamén executa unha parte importante da aplicación mediante JavaScript. |
| Aplicacións web modernas | Utilizan múltiples servizos, APIs, bases de datos, sistemas de autenticación, almacenamento e outros compoñentes. |
Esta evolución provocou que unha aplicación web xa non sexa simplemente unha colección de páxinas HTML, senón un sistema composto por múltiples elementos.
4. Tipos de aplicacións web
Existen diferentes formas de clasificar as aplicacións web.
4.1. Segundo o contido
Aplicacións web estáticas
O servidor entrega ficheiros que xa existen, como:
- HTML.
- CSS.
- JavaScript.
- Imaxes.
- Vídeos.
- Outros recursos.
O servidor non ten que executar necesariamente código de aplicación para xerar o contido.
Aplicacións web dinámicas
O contido da resposta xérase no momento da petición.
Por exemplo:
Usuario -> petición -> servidor
Servidor -> executa código
Servidor -> consulta base de datos
Servidor -> xera resposta
Servidor -> resposta -> navegador
4.2. Segundo a función
Podemos atopar:
- Blogs.
- Portais web.
- Tendas en liña.
- Foros.
- Redes sociais.
- Xestores de contido.
- Aplicacións empresariais.
- Plataformas educativas.
- Administración electrónica.
- Aplicacións de xestión.
5. Tecnoloxías das aplicacións web
Unha aplicación web pode utilizar múltiples tecnoloxías.
5.1. Tecnoloxías do lado cliente
O cliente é normalmente o navegador web.
As tecnoloxías básicas son:
| Tecnoloxía ! | Función principal |
|---|---|
| HTML | Define a estrutura e o contido da páxina. |
| CSS | Define a presentación e o aspecto visual. |
| JavaScript | Permite incorporar lóxica e interacción no navegador. |
Por exemplo:
<!DOCTYPE html>
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<h1>Ola mundo</h1>
</body>
</html>
Neste caso o navegador interpreta o HTML e presenta o resultado ao usuario.
5.2. Tecnoloxías do lado servidor
No servidor pode executarse código para:
- procesar peticións
- validar datos
- realizar cálculos
- xestionar sesións
- acceder a bases de datos
- xerar contido dinámico
- aplicar regras de negocio
- autenticar usuarios
Entre as linguaxes e tecnoloxías utilizadas neste ámbito podemos atopar:
- PHP
- Python
- Java
- JavaScript
- C#
- ASP.NET
- Ruby
- Perl
Non é necesario dominar todas estas tecnoloxías. Nesta unidade interesa comprender o concepto fundamental:
o código do servidor execútase no servidor e o resultado é enviado posteriormente ao cliente.
6. Aplicacións web e sistemas informáticos
Unha aplicación web non funciona de maneira illada.
Normalmente depende de diferentes servizos do sistema informático.
Por exemplo:
USUARIO
|
v
NAVEGADOR
|
HTTP
|
v
SERVIDOR WEB
(Apache)
|
v
INTERPRETADOR PHP
|
v
BASE DE DATOS
(MariaDB)
Nesta estrutura cada compoñente ten unha función diferente.
6.1. Exemplos de servizos necesarios
Dependendo da aplicación poden ser necesarios:
- servidor web
- servidor de bases de datos
- intérprete ou runtime
- servizo DNS
- servizo de correo
- servizo de almacenamento
- servizo de autenticación
- certificados dixitais
- sistemas de monitorización
- sistemas de copias de seguridade
Por tanto, administrar unha aplicación web implica tamén coñecer o sistema operativo e os servizos sobre os que se apoia.
7. Arquitectura dunha aplicación web
Unha forma habitual de organizar unha aplicación web é mediante unha arquitectura multicapa.
7.1. Arquitectura de tres capas
Un modelo habitual é:
| Capa | Función |
|---|---|
| Presentación | Interface coa que interactúa o usuario. |
| Lóxica de aplicación | Contén a lóxica e o procesamento da aplicación. |
| Datos | Almacena e xestiona a información persistente. |
Podemos representalo así:
+-----------------------------+
| Capa de presentación |
| HTML / CSS / JavaScript |
+-------------+---------------+
|
v
+-----------------------------+
| Capa de aplicación |
| PHP / Python / Java |
+-------------+---------------+
|
v
+-----------------------------+
| Capa de datos |
| MariaDB / MySQL |
+-----------------------------+
A separación entre capas facilita:
- o mantemento
- a actualización
- a seguridade
- a escalabilidade
- a organización do código
8. Arquitectura cliente-servidor
As aplicacións web baséanse habitualmente no modelo cliente-servidor.
O cliente solicita un servizo e o servidor responde.
8.1. Cliente
O cliente pode ser:
- un navegador web
- unha aplicación móbil
- outro programa
- un sistema automatizado
8.2. Servidor
O servidor recibe peticións e proporciona os servizos correspondentes.
Nunha aplicación web podemos ter varios servidores lóxicos ou físicos:
- servidor web;
- servidor de aplicacións;
- servidor de bases de datos;
- servidor de ficheiros;
- servidor DNS;
- servidor de autenticación.
Nun contorno pequeno todos poden estar instalados na mesma máquina.
Nunha infraestrutura máis grande poden estar separados.
9. HTTP e HTTPS
A comunicación habitual entre navegador e servidor web baséase no protocolo HTTP.
Exemplo conceptual:
Cliente Servidor
| |
| ---- petición HTTP ------> |
| |
| <---- resposta HTTP ------ |
| |
A resposta pode conter:
- código de estado;
- cabeceiras;
- HTML;
- CSS;
- JavaScript;
- imaxes;
- outros datos.
HTTPS é HTTP utilizando unha conexión protexida mediante TLS.
O seu uso permite protexer a comunicación e reducir o risco de que os datos sexan interceptados ou modificados durante o transporte.
10. Análise de requisitos
Antes de instalar software debemos coñecer que necesita a aplicación.
Isto denomínase análise de requisitos.
Algúns aspectos que debemos analizar son:
- sistema operativo
- hardware dispoñible (memoria RAM, capacidade de almacenamento)
- software necesario
- versións compatibles
- base de datos necesaria
- linguaxe empregada
- versión do servidor web
- permisos
- usuarios
- necesidades de seguridade, conectividade e disponibilidade
10.1. Exemplo de análise
Imaginemos que queremos instalar unha aplicación web baseada en PHP e MariaDB.
Necesitaremos, como mínimo, comprobar:
| Elemento | Necesidade |
|---|---|
| Sistema operativo | Linux ou outro sistema. |
| Servidor web | Apache ou outro (nginx, IIS). |
| Linguaxe | PHP. |
| Base de datos | MariaDB/MySQL. |
| Cliente | Navegador web. |
| Rede | Conectividade entre cliente e servidor. |
| Seguridade | Control de usuarios, permisos e acceso á aplicación. |
11. Servidor web
Un servidor web é un software encargado de recibir peticións HTTP/HTTPS e proporcionar os recursos solicitados.
Entre os servidores web máis coñecidos están:
- Apache HTTP Server.
- Nginx.
- Microsoft IIS.
Nesta unidade traballaremos fundamentalmente con Apache.
11.1. Funcións dun servidor web
Un servidor web pode:
- recibir peticións HTTP
- entregar ficheiros estáticos
- executar ou delegar o procesamento de aplicacións
- xestionar sitios virtuais
- controlar acceso a recursos
- rexistrar actividade
- utilizar módulos
- traballar con HTTPS
11.2. Document root
O document root é o directorio a partir do cal se serven os ficheiros dun sitio web.
Por exemplo, un servidor pode conter:
/var/www/html/
├── index.html
├── css/
├── js/
└── imaxes/
Cando o cliente solicita determinada URL, Apache busca o recurso correspondente no sitio configurado.
12. Apache e módulos
Apache dispón dunha arquitectura baseada en módulos.
Un módulo permite engadir determinadas funcionalidades ao servidor.
Por exemplo, poden existir módulos relacionados con:
- autenticación
- reescritura de URLs
- SSL/TLS
- linguaxes de servidor
- rexistro
- compresión
- control de acceso
Esta arquitectura permite adaptar Apache ás necesidades da aplicación.
Na práctica realizada nesta unidade accedemos ao módulo de Apache de Webmin e comprobamos as opcións de administración dispoñibles.
13. Sistema xestor de bases de datos
As aplicacións web normalmente necesitan almacenar información.
Para iso utilizamos un Sistema Xestor de Bases de Datos (SXBD ou SGBD).
Un SXBD permite:
- almacenar/consultar/modificar/eliminar datos
- controlar usuarios e aplicar permisos
- manter a integridade da información
Na unidade utilizamos MariaDB/MySQL.
13.1. Base de datos relacional
MariaDB e MySQL son sistemas de xestión de bases de datos relacionais.
A información organízase mediante:
- bases de datos
- táboas
- rexistros
- campos
- relacións
Exemplo:
Base de datos: instituto
Táboa: alumnos
+----+---------+-----------+
| id | nome | apelidos |
+----+---------+-----------+
| 1 | Ana | García |
| 2 | Xoán | López |
+----+---------+-----------+
As aplicacións web poden acceder a esta información mediante querys (consultas) SQL.
14. Acceso da aplicación á base de datos
Unha aplicación web pode consultar unha base de datos para realizar operacións como:
- comprobar credenciais
- mostrar produtos
- gardar pedidos
- consultar notas
- almacenar publicacións
- xestionar usuarios
Un exemplo conceptual sería:
Navegador
|
v
Aplicación web
|
| consulta SQL
v
MariaDB
|
| resultados
v
Aplicación web
|
v
Navegador
É importante comprender que o navegador normalmente non se conecta directamente á base de datos.
Habitualmente é a aplicación que se executa no servidor a que realiza as consultas.
15. Procesamento no cliente e no servidor
Un dos conceptos fundamentais desta unidade é distinguir onde se executa cada parte do código.
15.1. Procesamento no cliente
Execútase no navegador.
Exemplo habitual:
alert("Ola mundo");
O código JavaScript é enviado ao navegador e executado no equipo do usuario.
15.2. Procesamento no servidor
Execútase no servidor.
Por exemplo:
<?php
echo "Ola mundo";
?>
Neste caso o servidor executa PHP.
O usuario non recibe necesariamente o código PHP.
Recibe o resultado da súa execución.
15.3. Comparación
| Cliente | Servidor |
|---|---|
| Executa o navegador | Executa o servidor |
| HTML | PHP, Python, Java, etc. |
| CSS | Acceso a bases de datos |
| JavaScript | Lóxica de aplicación |
| Interacción coa interface | Procesamento e persistencia |
16. PHP
PHP é unha linguaxe de programación utilizada tradicionalmente no desenvolvemento de aplicacións web.
Nunha infraestrutura LAMP, PHP permite executar código no servidor.
O fluxo simplificado é:
1. O navegador solicita unha páxina PHP.
2. Apache recibe a petición.
3. O servidor entrega o código ao intérprete de PHP.
4. PHP executa o código.
5. Xérase unha resposta.
6. Apache devolve a resposta ao navegador.
Un exemplo mínimo:
<?php
echo "<h1>Ola desde PHP</h1>";
?>
16.1. phpinfo()
Unha das probas máis sinxelas para comprobar que PHP funciona correctamente é utilizar a función:
<?php
phpinfo();
?>
Esta función mostra información sobre a instalación de PHP e a súa configuración.
Na práctica da unidade utilizamos este mecanismo para comprobar que Apache podía interpretar correctamente código PHP.
17. A pila LAMP
A pila LAMP é unha combinación de tecnoloxías moi utilizada para executar aplicacións web.
| Letra | Compoñente | Función |
|---|---|---|
| L | Linux | Sistema operativo. |
| A | Apache | Servidor web. |
| M | MariaDB/MySQL | Sistema xestor de bases de datos. |
| P | PHP | Linguaxe de programación do lado servidor. |
A idea fundamental non é simplemente coñecer os compoñentes por separado, senón entender como se integran.
17.1. Funcionamento da pila LAMP
USUARIO
|
v
NAVEGADOR WEB
|
HTTP
|
v
APACHE
|
v
PHP
|
+------+------+
| |
v |
MARIA DB <-------+
|
v
DATOS
Unha aplicación web pode, por exemplo:
- recibir unha petición desde o navegador;
- procesar os datos con PHP;
- consultar MariaDB;
- xerar HTML;
- devolver o resultado ao navegador.
18. Webmin
Webmin é unha ferramenta de administración de sistemas accesible mediante interface web.
Permite administrar diferentes aspectos dun sistema desde un navegador.
Entre outras posibilidades, pode facilitar:
- administración de usuarios;
- configuración de servizos;
- administración de Apache;
- configuración de rede;
- xestión de determinados paquetes e servizos;
- consulta de información do sistema.
O uso de Webmin non elimina a necesidade de coñecer Linux e os seus comandos.
É importante entender a relación entre:
INTERFACE WEB
|
v
WEBMIN
|
v
SISTEMA OPERATIVO
|
+---- Apache
|
+---- MariaDB
|
+---- Usuarios
|
+---- Rede
19. Máquina virtual
Durante a práctica utilizamos unha máquina virtual para dispoñer dun servidor Linux independente do sistema anfitrión.
A virtualización permite executar un sistema operativo convidado dentro doutro sistema operativo.
19.1. Conceptos fundamentais
| Termo | Significado |
|---|---|
| Máquina anfitrioa | Equipo físico onde se executa a virtualización. |
| Máquina virtual | Equipo virtual executado sobre o anfitrión. |
| Sistema anfitrión | Sistema operativo principal. |
| Sistema convidado | Sistema operativo instalado dentro da máquina virtual. |
| Hipervisor | Software encargado de executar e xestionar máquinas virtuais. |
Exemplos de software de virtualización son:
- VirtualBox
- VMware Workstation
- Hyper-V
- KVM/QEMU
Na práctica da unidade empregamos VirtualBox (e tamén tedes instalado e podedes usar VMWare Workstation Pro).
20. Configuración dunha máquina virtual
Antes de instalar os servizos debemos preparar adecuadamente a máquina virtual.
Entre os parámetros que podemos configurar están:
- número de procesadores virtuais
- memoria RAM
- disco
- rede
- dispositivos
- teclado
- resolución
- nome da máquina
- integración co sistema anfitrión
- ...
Unha configuración inadecuada pode producir problemas de rendemento.
Por exemplo, asignar demasiada memoria á máquina virtual pode deixar sen recursos o sistema anfitrión.
21. Integridade dos ficheiros descargados
Un administrador de sistemas non debería instalar software descargado de forma indiscriminada.
É importante poder comprobar que o ficheiro recibido corresponde realmente ao publicado polo provedor e que non foi alterado.
Un mecanismo habitual é utilizar funcións hash.
21.1. SHA-256
SHA-256 é unha función que produce un valor de resumo a partir dun ficheiro.
Se dous ficheiros son exactamente iguais, producirán o mesmo hash.
Exemplo:
sha256sum webmin-package.deb
O resultado pode ser comparado co valor SHA-256 publicado polo fabricante ou provedor.
21.2. Para que serve?
A comprobación de integridade permite detectar, entre outras situacións:
- ficheiros corrompidos
- descargas incompletas
- modificacións do ficheiro
- discrepancias entre o ficheiro descargado e o esperado
Importante:
Unha suma hash permite comprobar a integridade, pero por si soa non garante sempre a autenticidade do ficheiro. Para cuestións de autenticidade poden utilizarse tamén mecanismos de sinatura dixital.
22. Usuarios, permisos e administración
Os sistemas Linux utilizan usuarios e grupos para controlar o acceso aos recursos.
É fundamental distinguir entre:
- usuario normal
- usuario con privilegios administrativos
- grupo
- propietario dun ficheiro
- permisos de lectura/escritura/execución
As aplicacións web executaranse habitualmente baixo determinadas identidades e necesitarán acceder a ficheiros e directorios concretos.
Unha mala configuración dos permisos pode converterse nun problema de seguridade.
23. Seguridade básica do servidor web
A seguridade debe considerarse desde o momento da instalación.
Algunhas medidas básicas son:
- manter o sistema actualizado
- utilizar contrasinais seguros
- limitar os privilexios dos usuarios
- evitar servizos innecesarios
- limitar o acceso á administración
- utilizar HTTPS cando corresponda
- controlar os permisos dos ficheiros
- revisar os rexistros
- realizar copias de seguridade
- evitar expoñer innecesariamente servizos á rede
23.1. Webmin e seguridade
Unha ferramenta de administración como Webmin proporciona un acceso moi potente ao servidor.
Por ese motivo, debe protexerse especialmente.
Debemos prestar atención a:
- credenciais;
- direccións desde as que se permite o acceso;
- uso de HTTPS;
- actualización da ferramenta;
- configuración dos usuarios;
- exposición do porto de administración.
Unha interface web de administración non debería considerarse menos importante que unha conexión SSH: ambas proporcionan capacidade de administración do sistema.
24. Rexistros e resolución de problemas
Cando un servizo non funciona, unha das primeiras ferramentas dun administrador son os logs ou rexistros.
Os rexistros poden axudarnos a descubrir:
- erros de configuración
- intentos de acceso
- problemas de permisos
- peticións HTTP
- erros da aplicación
- fallos de conexión
- problemas de arranque dun servizo
- ...
A administración de sistemas non consiste simplemente en instalar software, senón tamén en saber comprobar por que unha configuración funciona ou falla.
25. Utilidades de proba
Para verificar unha instalación debemos realizar probas.
Exemplos:
| Proba | Que comprobamos |
|---|---|
| Abrir a páxina web | Apache responde. |
| Consultar unha páxina PHP | PHP está correctamente integrado. |
| Acceder a MariaDB | A base de datos está instalada e accesible. |
| Acceder a Webmin | O servizo de administración funciona. |
| Consultar os logs | Podemos analizar incidencias. |
| Verificar o estado do servizo | O servizo está activo. |
A instalación non debe darse por correcta simplemente porque o paquete se instalou.
Debemos comprobar o funcionamento real.
26. Instalación integrada e ferramentas de administración
No desenvolvemento e despregamento de aplicacións web é frecuente utilizar ferramentas que integran ou facilitan distintas tarefas.
Exemplos:
- Webmin
- XAMPP
- Docker
- contornos de desenvolvemento integrados
- ferramentas de automatización
- paneis de control
Neste módulo utilizaremos progresivamente diferentes tecnoloxías e veremos que algunhas facilitan a instalación e administración, mentres outras están máis orientadas ao despregamento ou automatización.
27. Caso práctico: preparar un servidor web
Unha tarefa típica dun administrador podería ser:
Necesítase preparar un servidor Linux para posteriormente instalar unha aplicación web baseada en PHP e MariaDB.
Un posible procedemento sería:
- Crear ou preparar unha máquina virtual.
- Configurar correctamente os seus recursos.
- Instalar ou dispor dun sistema Linux.
- Comprobar a conectividade de rede.
- Instalar Webmin.
- Acceder ao panel de administración.
- Crear ou configurar usuarios.
- Instalar Apache.
- Comprobar que Apache responde.
- Instalar MariaDB.
- Comprobar o acceso á base de datos.
- Instalar PHP.
- Integrar PHP con Apache.
- Crear unha páxina de proba.
- Verificar o resultado.
- Revisar a configuración e a seguridade.
- Documentar o procedemento.
Este proceso representa unha primeira aproximación ao traballo real dun administrador de sistemas.
28. Relación coa práctica realizada
Na práctica da UD1 traballamos sobre unha máquina virtual con Linux e realizamos diferentes tarefas relacionadas coa preparación dun servidor.
As principais tarefas foron:
| Parte | Traballo realizado |
|---|---|
| 1.1 | Uso e configuración dunha máquina virtual. |
| 1.2 | Instalación de Webmin e comprobación do acceso ao panel. |
| 1.3 | Descarga manual e comprobación da integridade mediante SHA-256. |
| 1.4 | Creación dun usuario mediante Webmin. |
| 1.5 | Acceso e administración de Apache desde Webmin. |
| 1.6 | Instalación de MariaDB/MySQL e comprobación do acceso. |
| 1.7 | Configuración de Apache para interpretar PHP e comprobación mediante phpinfo(). |
Na tarefa tamén se pediu documentar o traballo mediante capturas de pantalla, responder cuestións e realizar unha autoavaliación.
29. Problemas habituais
Ao preparar unha infraestrutura web poden aparecer numerosos problemas.
Apache non responde
Posibles causas:
- o servizo non está iniciado
- Apache non está instalado
- existe un erro de configuración
- o porto utilizado está ocupado
- existe un problema de rede
- un firewall está bloqueando o acceso
PHP non funciona
Posibles causas:
- PHP non está instalado
- existe un erro na configuración
- o ficheiro non ten extensión adecuada
- existe un problema de permisos
- conflitos entre distintas versións de PHP
Non se pode acceder a MariaDB
Posibles causas:
- o servizo non está iniciado
- credenciais incorrectas
- usuario sen permisos
- configuración incorrecta
- problema de conectividade
Webmin non permite administrar un servizo
Pode ocorrer porque:
- o servizo non está instalado
- o módulo non está correctamente configurado
- os permisos non son suficientes.
30. Metodoloxía de resolución de problemas
Ante un problema non debemos cambiar configuracións ao azar.
Unha metodoloxía razoable é:
- Identificar o problema.
- Reproducilo.
- Observar os síntomas.
- Revisar os logs.
- Comprobar o estado dos servizos.
- Revisar a configuración.
- Realizar un cambio controlado.
- Probar de novo.
- Documentar a solución.
Esta metodoloxía será especialmente importante nas seguintes unidades.
31. Documentación técnica
Un administrador debe documentar os cambios realizados.
Unha documentación mínima debería indicar:
- que se instalou;
- que versión se utilizou;
- que comandos se executaron;
- que ficheiros se modificaron;
- que configuración se aplicou;
- que probas se realizaron;
- que problemas apareceron;
- como se solucionaron.
Un exemplo:
Data:
16/09/2026
Servizo:
Apache
Modificación:
Instalación do servidor web.
Proba:
Acceso mediante navegador á páxina inicial.
Resultado:
Correcto.
Observacións:
O servizo queda configurado para continuar coa integración de PHP.
A documentación permite:
- repetir unha instalación
- recuperar unha configuración
- solucionar problemas
- compartir coñecementos
- facilitar o mantemento
32. Conceptos que debes dominar
Ao finalizar a UD1 deberías poder explicar con palabras propias os seguintes conceptos:
- aplicación web
- cliente
- servidor
- arquitectura cliente-servidor
- arquitectura multicapa
- aplicación estática
- aplicación dinámica
- HTML
- CSS
- JavaScript
- PHP
- servidor web
- Apache
- base de datos
- SGBD
- MariaDB
- MySQL
- SQL
- Webmin
- máquina virtual
- anfitrión
- convidado
- hipervisor
- LAMP
- HTTP
- HTTPS
- módulo
- usuario
- permisos
- logs
- hash
- SHA-256
- integridade
- análise de requisitos
33. Resumo da unidade
Unha aplicación web está formada por diferentes compoñentes que colaboran para ofrecer un servizo ao usuario.
Nunha infraestrutura típica:
USUARIO
|
v
NAVEGADOR
|
| HTTP/HTTPS
v
SERVIDOR WEB
|
v
LÓXICA DA APLICACIÓN
|
v
BASE DE DATOS
Nun contorno LAMP podemos utilizar:
- Linux como sistema operativo;
- Apache como servidor web;
- MariaDB/MySQL como sistema xestor de bases de datos;
- PHP como tecnoloxía de procesamento no servidor.
Webmin permite administrar parte da infraestrutura mediante unha interface web.
A preparación correcta dun servidor implica moito máis que instalar paquetes. É necesario:
- analizar os requisitos
- instalar os compoñentes necesarios
- configurar os servizos
- comprobar o seu funcionamento
- aplicar medidas básicas de seguridade
- solucionar incidencias
- documentar o traballo
34. Preguntas para comprobar os coñecementos
- Que é unha aplicación web?
- Que diferenza existe entre unha aplicación estática e unha dinámica?
- Que función desempeña un navegador?
- Que é un servidor web?
- Que función desempeña Apache?
- Que é unha arquitectura cliente-servidor?
- Que significa arquitectura multicapa?
- Que diferenza existe entre o procesamento no cliente e o procesamento no servidor?
- Para que serve PHP?
- Para que serve MariaDB?
- Que é un SGBD?
- Que significa LAMP?
- Que función desempeña Webmin?
- Que vantaxes ofrece unha máquina virtual nun contorno de prácticas?
- Que é un hash?
- Para que podemos utilizar SHA-256?
- Que diferenza existe entre integridade e autenticidade?
- Por que debemos comprobar que un servizo está funcionando despois da súa instalación?
- Que información podemos obter dos logs?
- Por que é importante documentar os procedementos realizados?
- Que relación existe entre Apache, PHP e MariaDB nunha aplicación web?
35. Esquema final para memorizar
APLICACIÓN WEB
|
+-------------+-------------+
| |
LADO CLIENTE LADO SERVIDOR
| |
HTML/CSS SERVIDOR WEB
JavaScript |
PHP
|
MARIA DB
|
DATOS
INFRAESTRUTURA DE APOIO
+-------------------------------+
| Linux |
| Apache |
| MariaDB/MySQL |
| PHP |
| Webmin |
| Usuarios e permisos |
| Rede e seguridade |
| Logs e monitorización |
+-------------------------------+
Idea fundamental da UD1:
Para executar correctamente unha aplicación web non abonda con desenvolver o código. É necesario preparar, configurar, integrar, probar e asegurar o contorno no que esa aplicación vai funcionar.