---
# System prepended metadata

title: Pràctica Apache amb Docker
tags: [' docker', ' apache', M8, daw]

---

<div style="width: 45%; margin-left: auto;">

![image](https://hackmd.io/_uploads/By3ai4Bolx.png)

</div>

<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Llicència de Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />Aquesta obra està subjecta a una llicència de <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Reconeixement-CompartirIgual 4.0 Internacional de Creative Commons</a>

# Pràctica Apache amb Docker
Lliureu un document PDF amb captura de pantalla que mostrin el resultat i la parametrització emprada a cada punt.

:eyes: :fire: El primer cop que s'arrenquin les màquines heu de configurar el nom de cada màquina de manera que amb les captures de pantalla de les consoles es pugui saber a quina màquina som i el nom de l'alumne que realitza l'activitat. Per això haureu d'executar la següent instrucció:
```bash=
hostnamectl set-hostname 'nom-host'
```
on el nom-host tindrà el format:
  * o apache-docker-nom-cognom
****no poseu guions baixos

Per exemple: ```hostnamectl set-hostname 'apache-docker-xavi-quesada'```


## Requisits

-   Màquina amb Ubuntu Linux a partir de versió 24.04.
-   Docker instal·lat: ```sudo apt install docker.io```
-   Després de l'instal·lació és convenient realitzar algunes tasques de configuració. Veieu el següent [enllaç](https://docs.docker.com/engine/install/linux-postinstall/) i realitzeu les tasques indicades al punt: __'Manage Docker as a non-root user'__.
-   __No__ tenir instal·lat l'Apache: ```sudo apt remove apache2```

## 1. Crear l'estructura del projecte

``` bash
mkdir ~/apache-docker
cd ~/apache-docker

mkdir html conf
```

### Fitxer `html/index.html`
Personalitzem la pàgina web per defecte, substituïnt la que posa l'Apache per defecte per aquesta altra que és més fàcil d'identificar si utilitzem la comanda __curl__ per a obtenir el recurs.

``` html
<!DOCTYPE html>
<html lang="ca">
<head>
  <meta charset="UTF-8" />
  <title>Apache + Docker</title>
</head>
<body>
  <h1>Hola des d’Apache dins de Docker</h1>
  <p>Això és una prova de servidor web amb Apache2 + Docker.</p>
</body>
</html>
```

## 2. Executar Apache2 amb la imatge oficial

``` bash
docker run --name apache-daw \
  -d \
  -p 8080:80 \
  -v ~/apache-docker/html:/usr/local/apache2/htdocs/ \
  httpd:2.4
```

Accedir a: **http://localhost:8080** ```curl http://localhost:8080```

Aturar i eliminar el contenidor:

``` bash=
docker stop apache-daw
docker rm apache-daw
```

## 3. Documenta la comanda anterior
Cerca informació de les opcions emprades a la comanda anterior i explica que fa cadascuna d'elles.




