Salta el contingut

Pràctica 4.1 – Instal·lació i configuració de servidor web NGINX

Requisits abans de començar la pràctica

Atenció, molt important abans de començar!

  • Heu de tenir funcionant sense errors el vostre servidor DNS. És a dir, almenys la pràctica 3.1 ha de funcionar sense problemes.
  • Comproveu-ho abans de començar aquesta pràctica

Instal·lació servidor web NGINX

Per instal·lar el servidor nginx en el Ubuntu Server, primer actualitzem els repositoris i després instal·lem el paquet corresponent:

sudo apt update
sudo apt install nginx

Comprovem que nginx s'ha instal·lat i que està funcionant correctament:

systemctl status nginx

Creació de les carpetes del lloc web

Igual que ocorre en Apache, tots els arxius que formaran part d'un lloc web que servirà nginx s'organitzaran en carpetes. Aquestes carpetes, típicament estan dins de /var/www.

Així doncs, crearem la carpeta de nostre lloc web o domini:

sudo mkdir -p /var/www/vostre_domini/html
On el nom de domini serà el nom del jugador que tinga el mateix número que el vostre ordinador, de la següent plantilla:

Com saber el meu nom de domini

Exemple

Si el meu ordinador és el 12, el meu nom de domini serà unai-lopez, i si és el 4, el domini serà msuarez (sense punts).

Recordeu, no heu de posar punts ni espais en el nom de domini.

Ací, dins d'aquesta carpeta html, heu de descomprimir un dels zip amb tots els arxius per al lloc web d'exemple que us he proporcionat.

Nota

NO és el mateix el vostre domini de zona de DNS, que el vostre domini per al vostre lloc web (bàsicament el nom que posem en la URL).

Per descomprimir, instal·leu-vos el paquet unzip:

apt get install unzip
I per descomprimir en un directori concret els arxius:

unzip nom_arxiu.zip -d nom_directori
A més, farem que el propietari d'aquesta carpeta i tot el que hi hagi dins sigui l'usuari www-data, típicament l'usuari del servici web.

sudo chown -R www-data:www-data /var/www/vostre_domini/html
I li donarem els permisos adequats perquè no ens de un error d'accés no autoritzat en entrar en el lloc web:

sudo chmod -R 755 /var/www/vostre_domini
Per comprovar que el servidor està funcionant i servint pàgines correctament, podeu accedir des del vostre client a:

http://ip_vostre_servidor
I us haurà d'aparèixer alguna cosa així:

El que demostra que tot és correcte fins ara.

Configuració de servidor web NGINX

En Nginx hi ha dues rutes importants. La primera d'elles és sites-available, que conté els arxius de configuració dels hosts virtuals o blocs disponibles en el servidor. És a dir, cadascun dels llocs webs que alberga el servit.

L'altra és sites-enabled, que conté els arxius de configuració dels llocs habilitats, és a dir, els que funcionen en aquest moment.

Dins de sites-available hi ha un arxiu de configuració per defecte (default), que és la pàgina que es mostra si accedim al servidor sense indicar cap lloc web o quan el lloc web no és trobat en el servidor (a causa d'una mala configuració per exemple). Aquesta és la pàgina que ens ha aparegut en l'apartat anterior.

Per a que Nginx presente el contingut de la nostra web, és necessari crear un bloc de servidor amb les directives correctes. En comptes de modificar l'arxiu de configuració predeterminat directament, crearem un de nou en "/etc/nginx/sites-available/vostre_domini":

sudo nano /etc/nginx/sites-available/vostre_domini
I el contingut d'aquest arxiu de configuració:

server {
        listen 80;
        listen [::]:80;
        root /ruta/absoluta/arxiu/index;
        index index.html index.htm index.nginx-debian.html;
        server_name vostre_domini www.vostre_domini;
        location / {
                try_files $uri $uri/ =404;
        }
}

Ací la directiva root ha d'anar seguida de la ruta absoluta absoluta on es trobi l'arxiu index.html de la nostra pàgina web, que es troba entre tots els que heu descomprimit.

Ací teniu un exemple de un lloc webs amb la seva ruta (directoris que hi ha) abans de l'arxiu index.html:

Info

Ruta → /var/www/exemple2/html/2016_soft_landing

I crearem un arxiu simbòlic entre aquest arxiu i el de llocs que estan habilitats, perquè es doni d'alta automàticament.

sudo ln -s /etc/nginx/sites-available/vostre_domain /etc/nginx/sites-enabled/

Configuració del DNS

Per a poder accedir a vostre lloc web, necessitareu afegir una entrada en l'arxiu de zona del vostre DNS.

Necessiteu afegir un parell de registres del tipus CNAME, de tal forma que els dominis o noms de la vostra pàgina web (vostre_domini i www.vostre_domini), en realitat apuntin a dnsserver.vostre_nom.es. (recordeu que en l'última pràctica del Tema 3 vau canviar el domini sre.es. Per vostre_nom.es.)

Per a configurar un CNAME podeu buscar informació de com fer-ho en algun d'aquests llocs:

Lloc 1

Lloc 2

Lloc 3

I reiniciem el servidor per aplicar la configuració:

sudo systemctl restart nginx

Comprovacions

Comprovació de funcionament correcte

Si tot ha anat bé, heu de poder accedir a vostre lloc web escrivint en la caixa de la URL del navegador:

http://vostre_domini

http://www.vostre_domini

Comprovar registres del servidor

Comproveu que les peticions s'estan registrant correctament en els arxius de logs, tant les correctes com les errònies:

  • /var/log/nginx/access.log: cada sol·licitud al seu servidor web es registra en aquest arxiu de registre, de no ser que Nginx estiga configurat per fer alguna cosa diferent.
  • /var/log/nginx/error.log: qualsevol error de Nginx s'assentarà en aquest registre.

Tasca a realitzar

Si volem tenir diversos dominis o llocs web en el mateix servidor nginx (és a dir, que tindran la mateixa IP) hem de repetir tot el procés anterior amb el nou nom de domini.

Configura un nou domini per a l'exemple de lloc web de l'altre .zip i documenta el procés.

El nou nom de domini serà el cognom del jugador que tinga el dorsal amb el mateix número que el vostre número d'ordinador, de la següent plantilla:

St. Pauli

Qüestions finals

Questió 1

De quina altra forma alternativa podría resoldre el nom del meu domini web amb el servici DNS sense fer ús del register CNAME?

Questió 2

Què passa si no faig el link simbòlic entre sites-available i sites-enabled del meu lloc web?

Questió 3

Qué passa si no li done els permisos adeqüats a /var/www/vostre_domini?

Questió 4

Podeu accedir desde la LAN (el vostre Lliurex) a la vostra web? Tant si es afirmatiu com negatiu, explica el motiu.

Questió 5

Si no ficarem cap entrada DNS a l'arxiu de zona, podrieu accedir encara a les vostres webs? Tant si es afirmatiu com negatiu, explica el motiu.

Avaluació

Criteri Puntuació
Configuració correcta del servidor web 1 punts
Configuració correcta del DNS 2 punts
Comprovació del correcte funcionament 1 punts
Configuració correcta i comprovació del funcionament de una segona web 2 punts
Qüestions finals 3 punts
S'ha tingut cura amb el format del document, utilitzant la plantilla actualitzada i fent ús d'un correcte llenguatge tècnic 0,5 punt
S'ha inclòs la taula amb les IPs de cada màquina de la pràctica, tal i com es demana 0,5 punt