Diferència entre revisions de la pàgina «Apache2 en GNU/Linux»
(→PHP) |
(→Index) |
||
Línia 65: | Línia 65: | ||
− | == | + | == Indexes == |
L'apache permet visualitzar els arxius que hi ha a una determinada carpeta. | L'apache permet visualitzar els arxius que hi ha a una determinada carpeta. | ||
<div class="exercici"><big><b>Exercici</b></big> | <div class="exercici"><big><b>Exercici</b></big> | ||
− | 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). | + | 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). | Quin efecte té? (Explica-ho a l'informe i inclou pantallada). | ||
</div> | </div> | ||
+ | |||
+ | |||
+ | La gent veu els nostres arxius si falta l'índex.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". | ||
+ | |||
+ | <div class="exercici"><big><b>Exercici</b></big> | ||
+ | Busca articles on expliqui com desactivar els indexes de les següents maneres: | ||
+ | #Desactivar indexes per tota la web (PISTA: busca els arxius de configuració dels '''directoris virtuals'''). | ||
+ | #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. | ||
+ | </div> | ||
+ | |||
+ | <br /> | ||
+ | |||
+ | |||
+ | == Mòduls de l'apache2 == | ||
+ | L'apache disposa de certs mòduls (complements) 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 Userdirs === | ||
+ | É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 | ||
+ | |||
+ | Si tenim l'usuari zeus, per exemple, podrem accedir a la carpeta ''/home/zeus/public_html'' (OJU! S'ha de crear "a mà") apuntant el navegador a: | ||
+ | http://<ip_del_server>/~zeus | ||
+ | |||
+ | ... i ara cal que li poseu algun contingut a la vostra carpeta. | ||
== Pràctica == | == Pràctica == |
Revisió del 21:44, 19 gen 2012
Apache2 és el servidor web més conegut.
Contingut
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 Joomla!, Drupal, etc.) també sol ser necessari afegir els paquets php, mysql i phpmyadmin.
Accés als fitxers www
Els arxius públics principals del servidor web estan a /var/www. Si feu
$ ls -la /var/www 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.php
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:
- Com usuari root i amb un editor (sudo). Posa-hi un missatge de benvinguda personalitzat.
- 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".
- Crea el grup "web" amb la comanda addgroup.
- Dona els permisos i propietari (recordeu! usuari:grup) adequats a la carpeta /var/www, per tal que pertanyi al grup "web".
- Recordeu que cal utilitzar les comandes chmod i chown per realitzar-ho.
- Afegeix l'usuari principal a aquest grup: es pot fer amb diverses comandes com adduser, usermod o directament modificant l'arxiu /etc/groups.
- Surt de la sessió de l'usuari principal i torna a entrar, i crea una nova pàgina HTML amb algun text.
- 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 versió 5 ho podem fer amb:
$ sudo apt-get install php5
...i reiniciar el servei amb
$ sudo service apache2 restart
Per comprovar si funciona, aneu a la carpeta /var/www 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.
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'índex.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".
Busca articles on expliqui com desactivar els indexes de les següents maneres:
- Desactivar indexes per tota la web (PISTA: busca els arxius de configuració dels directoris virtuals).
- 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) 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 Userdirs
É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
Si tenim l'usuari zeus, per exemple, podrem accedir a la carpeta /home/zeus/public_html (OJU! S'ha de crear "a mà") apuntant el navegador a:
http://<ip_del_server>/~zeus
... i ara cal que li poseu algun contingut a la vostra carpeta.
Pràctica
Per la pràctica has de seguir les següents passes:
- Instal·lar apache2
- Instal·lar