bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
apache2_en_debian_ubuntu

Apache2 en Debian / Ubuntu

Apache2 és el servidor web més conegut, juntament a lighttpd o Nginx.

Instal·lació

Podem instal·lar Apache2 directament en la nostra distribució Linux amb:

$ sudo apt-get install apache2

Amb el què immediatament podem veure si funciona accedint a la web:

http://<ip_del_server>

…i t'hauria d'aparèixer un missatge que diu «It works!».

Si hem d'instal·lar aplicacions web (CMSs com Wordpress, Moodle, Joomla!, Drupal, etc.) també sol ser necessari afegir els paquets php, mysql i phpmyadmin.

Engegar i apagar serveis

Per engegar i apagar Apache ho pots fer com la resta de serveis amb un:

$ sudo service apache2 stop

(comprova ara que si intentes accedir a la web et dona error).

Per tornar a engegar el servei Apache:

$ sudo service apache2 start

I per saber l'estat del servei:

$ service apache2 status


Accés als fitxers www

Els arxius públics principals del servidor web estan a /var/www/html. Si feu

$ ls -la /var/www/html
drwxrwxr-x 17 root  root     4096 2011-05-01 22:45 .
drwxr-xr-x 17 root  root     4096 2010-11-08 14:15 ..
-rw-r--r--  1 root  root      693 2011-04-22 13:49 index.html

En principi heu de veure un sol fitxer, index.html. Si no especifiquem cap arxiu quan apuntem amb el navegador, aquest és el fitxer per defecte que visualitzem.

Exercici

Prova de modificar aquest arxiu HTML de les següents maneres:

  1. Com usuari root i amb un editor (sudo). Posa-hi un missatge de benvinguda personalitzat.
  2. Busca una manera de modificar aquest arxiu i d'afegir-ne de nous sense actuar com a root (o sigui, sense sudo). La idea és que donis permisos (MAI 777!) adequats i que la carpeta sigui d'un grup, per exemple «web».
    1. Crea el grup ‘’web’’ amb la comanda addgroup. Si no estàs segur de com va, ja saps, UTILITZA EL MANUAL:
      $ man addgroup
    2. Dona els permisos i propietari (recordeu! usuari:grup) adequats a la carpeta /var/www/html, per tal que pertanyi al grup «web».
    3. Recordeu que cal utilitzar les comandes chmod i chown per realitzar-ho.
    4. Afegeix l'usuari principal a aquest grup: es pot fer amb diverses comandes com adduser, usermod o directament modificant l'arxiu /etc/groups.
    5. Surt de la sessió de l'usuari principal i torna a entrar, i crea una nova pàgina HTML amb algun text.
    6. Visualitza-la amb el navegador.

Recorda explicar a l'informe les comandes exactes que has utilitzat i justifica els permisos assignats.


PHP

Per instal·lar PHP a la darrera versió ho podem fer amb:

$ sudo apt-get install libapache2-mod-php

…i reiniciar el servei amb

$ sudo service apache2 restart

Exercici

Per comprovar si funciona, aneu a la carpeta /var/www/html i creeu un arxiu prova.php amb el següent contingut:

 <html>
    <body>
       <?php
          phpinfo();
       ?>
    </body>
 </html>

Visualitzeu-lo amb el navegador. Recorda de posar una captura de pantalla a l'informe. I que es vegi l'escriptori, res de retallades.


Indexes

L'apache permet visualitzar els arxius que hi ha a una determinada carpeta.

Exercici

Per comprovar-ho, canvia el nom de index.html a index2.html.

RECORDA: A PARTIR D'ARA NO TREBALLIS COM A ROOT, SINÓ COM A USUARI PRINCIPAL («funky» si utilitzes el funkyserver).

Quin efecte té? (Explica-ho a l'informe i inclou pantallada).


La gent veu els nostres arxius si falta l'arxiu index.html, això pot resultar un forat de seguretat ja per un descuit nostre podrien conèixer la estructura de la web i atacar arxius que contenen codi executable. Si ho volem evitar cal desactivar els «Indexes».

Exercici

Busca articles on expliqui com desactivar els indexes de les següents maneres:

  1. Desactivar indexes per tota la web (PISTA: busca els arxius de configuració dels directoris virtuals).
  2. Desactivar indexes per un directori concret. Per realitzar això caldrà utilitzar un arxiu .htaccess dins de la carpeta que vols anul·lar els índexes. També et caldrà activar l'ús d'aquests arxius al fitxer de configuració del directori virtual, en particular cal tocar el «AllowOverride», però abans de fer-ho documenteu-vos).

Resultat final:

  • Deixa els índexes activats per la web sencera.
  • Prohibeix-los de la carpeta «fotos», on pujaràs 3 fotos d'exemple amb aquests noms: 1.png, 2.png, 3.png

Realitza-ho, captura pantalles i documenta-ho adequadament a l'informe.


Mòduls de l'apache2

L'apache disposa de certs mòduls (complements o plugins) que afegeixen més funcionalitats al servei. Els arxius estan a:

  • /etc/apache2/mods-available: tots els mòduls disponibles.
  • /etc/apache2/mods-enabled: mòduls actius. Fixa't en què si els llistes veuràs que no son arxius, són enllaços simbòlics a la carpeta mods-available.

Una possible manera d'activar un mòdul és creant els enllaços adequats de mods-enabled a mods-available, però és massa «manual». És més còmode amb les comandes:

  • a2enmod : activa mòdul
  • a2dismod : desactiva mòdul

Mòdul Userdir

És molt útil per un servidor que cada usuari pugui tenir el seu espai web i que no interfereixi al dels altres usuaris. Apache ho té contemplat amb el mòdul «userdir». Per activar-lo és tan senzill com:

$ sudo a2enmod userdir

El directori de /etc/apache/mods-enabled (son links simbòlics) ara hi figura userdir, també:

zeus@zeusserver:~$ ls /etc/apache2/mods-enabled/
alias.conf            authz_host.load  deflate.load  negotiation.conf  rewrite.load   userdir.load
alias.load            authz_user.load  dir.conf      negotiation.load  setenvif.conf
auth_basic.load       autoindex.conf   dir.load      php7.0.conf       setenvif.load
authn_file.load       autoindex.load   env.load      php7.0.load       status.conf
authz_default.load    cgi.load         mime.conf     reqtimeout.conf   status.load
authz_groupfile.load  deflate.conf     mime.load     reqtimeout.load   userdir.conf

Si tenim l'usuari zeus (cal crear l'usuari del sistema operatiu), podrem accedir a la carpeta '/home/zeus/public_html' apuntant el navegador a:

http://<ip_del_server>/~zeus

La «tilde» de la lletra «ñ» s'aconsegueix amb [AltGr]+[ñ] (amb el teclat castellà). Si esteu en Windows i se us resisteix, premeu [Alt]+126 en el teclat numèric.

Exercici

  • Activa els «userdir»
  • Crea la carpeta de l'usuari principal (zeus, funky, super o el què sigui).
  • Afegeix una pàgina HTML. Captureu pantalla visualitzant-la.

PHP en userdirs

Per defecte, l'ús de PHP en els directoris d'usuari està desactivat. Ara l'activarem.

Exercici

Troba un article que expliqui com activar el PHP en els userdir. Si ja has vist on estan els arxius dels mods-available potser t'atreveixes a fer-ho per teu compte… oi? L'arxiu adequat és el phpX.conf (on X és la versió: 7.1, 7.4, 8.0, …). En els comentaris de dintre de l'arxiu ja explica què cal fer exactament.

OJU! Pensa a reiniciar el servei!!

  • Per comprovar-ho utilitza la pàgina de prova en php que he utilitzat abans. Captura pantallada.
  • Posa l'article trobat en la webgrafia de l'informe.


Hosts virtuals

Els «Virtual Hosts» serveixen per poder tenir diverses «sites» (dominis) en una mateixa màquina. És una pràctica molt comuna, ja que la majoria de dominis no tenen gaires visites i, per tant, es poden allotjar al mateix servidor.

Similarment als mòduls, disposem de dos directoris on estan els arxius de configuració de les diverses «sites»:

  • /etc/apache2/sites-available : hi ha un arxiu per cada site. També es podrien posar 2 sites en un arxiu però seria més confús.
  • /etc/apache2/sites-enabled : symbolic links a les «sites available». Si hi ha link és que està activada.

Exercici

L'objectiu d'aquest apartat serà tenir 2 dominis diferents al mateix servidor. Cadascun d'aquests dominis anirà a parar a una web d'un usuari diferent:

  • www.zeus.local → /home/zeus/public_html
  • www.mercuri.local → /home/mercuri/public_html

ULL: aquest exercici no el podreu fer si no heu entès i activat correctament el mòdul «userdir» (explicat més amunt).

Per poder-ho realitzar caldrà que facis diverses coses:

  1. Crear els usuaris zeus i mercuri i les seves respectives carpetes web.
  2. Posa una pàgina HTML de benvinguda diferent a cada directori d'usuari per distingir si ens estem connectant correctament.
  3. Configurar el '/etc/hosts del CLIENT (on tens el browser) i del servidor' (simulant un DNS) per tal que coneguin els 2 dominis i que apuntin a la IP del teu servidor.
    • NOTA: si el client és Windows, el fitxer de hosts està a C:\Windows\system32\drivers\etc\hosts
    • Comprova que pots accedir indistintament a www.zeus.local i a www.mercuri.local des del client (browser) amb:
      http://www.mercuri.local
  4. Configurar els servidors virtuals de l'Apache.

Configurar un nou Virtual Host

  1. Arxiu de virtual host: cada site (domini) ha de tenir un arxiu a /etc/apache2/sites-available. Crea una nova site copiant l'arxiu 000-default.conf a mercuri.conf (has de tenir, doncs, 2 arxius) a «sites-available».
  2. Configura el teu nou VirtualHost. Utilitza el següent article:
    • http://httpd.apache.org/docs/2.2/vhosts/name-based.html : la millor font sempre és la pàgina oficial.
    • ULL! No ho feu «a la tuntún». En l'article està tot en el mateix arxiu, i nosaltres el tenim repartit en 2.
    • Bàsicament es tracta de modificar el nou arxiu mercuri.conf amb:
      • Afegir la directiva ServerName (el default no la té ja que serveix a tothom qui ho demani).
      • Modificar DocumentRoot i el Directory per tal que apuntin a la carpeta de l'usuari mercuri (public_html).
  3. Activar la site amb la comanda a2ensite. Esbrina com fer-ho utilitzant el manual:
    $ man a2ensite
  4. Comprova que s'ha activat bé: ha d'haver un link simbòlic a /etc/apache2/sites-enabled cap al nou fitxer mercuri.conf:
      zeus@zeusserver:/etc/apache2/sites-available$ ls /etc/apache2/sites-available/
      000-default.conf  default-ssl.conf  mercuri.conf
      zeus@zeusserver:/etc/apache2/sites-available$ ll /etc/apache2/sites-enabled/
      total 8
      drwxr-xr-x 2 root root 4096 2012-01-18 06:10 ./
      drwxr-xr-x 7 root root 4096 2012-01-17 23:17 ../
      lrwxrwxrwx 1 root root   26 2012-01-17 18:15 000-default.conf -> ../sites-available/000-default.conf
      lrwxrwxrwx 1 root root   26 2012-01-18 06:10 mercuri.conf -> ../sites-available/mercuri.conf
  5. Recarrega (ull, no reinicia) el servei Apache2:
    $ sudo service apache2 reload


Exercici FINAL

Exercici FINAL

  • Realitza el mateix exercici de VirtualHosts però amb un usuari amb el teu nom (per exemple «enric») i la site amb el domini www.elteunom.local (per exemple www.enric.local).
  • Penja una pàgina en PHP al teu domini.

NOTA: Aquest exercici és el que haureu de mostrar com a «demo» a classe.

apache2_en_debian_ubuntu.txt · Darrera modificació: 2021/11/15 17:45 per enrique_mieza_sanchez