Diferència entre revisions de la pàgina «ASIX/M09/UF1/PT1»
| Línia 75: | Línia 75: | ||
Una vegada aplicada la nova configuració, podem accedir a la web pel port triat, definint-lo a la URL tal que <code>http://192.168.56.200:1996/M9</code> i obtindrem el mateix resultat que abans: | Una vegada aplicada la nova configuració, podem accedir a la web pel port triat, definint-lo a la URL tal que <code>http://192.168.56.200:1996/M9</code> i obtindrem el mateix resultat que abans: | ||
{{imatge|M09UF1PT13.png}} | {{imatge|M09UF1PT13.png}} | ||
| + | ====Nota==== | ||
| + | Es pot veure que la directiva Listen permet un número com a argument per a referir-se al port a través del que volem que escolti el servidor, però també podem definir una combinació adreça IP + port en el format x.y.z.t:pppp. Això pot ser útil per a servidors on tenim més d'una targeta de xarxa i volem restringir l'accés a través de només una d'elles. Si el meu servidor estigués accessible en 2 xarxes diferents com ara 192.168.56.0/24 i 172.20.20.0/24, podria decidir que només els usuaris des de la xarxa 192.168.56.0 tinguessin accés si definís la directiva com: | ||
| + | <source>Listen 192.168.56.200:1996</source> | ||
| + | D'aquesta manera, li estic dient a Apache que només escolti les peticions HTTP que li provinguin per la targeta de xarxa que té IP=192.168.56.200 i que no escolti per la 172.20.20.X. | ||
===4. Protegir amb password i contrasenya el site http://localhost/M9=== | ===4. Protegir amb password i contrasenya el site http://localhost/M9=== | ||
Revisió del 18:57, 27 set 2018
Contingut
- 1 Objectius
- 2 Enunciat
- 2.1 1. Instal·lar apache a una màquina virtual de nova creació
- 2.2 2. Crear el site http://localhost/M9
- 2.3 3. Utilitza un port diferent del 80 per accedir a la web
- 2.4 4. Protegir amb password i contrasenya el site http://localhost/M9
- 2.5 5. Accedir a la web d'un company
- 2.6 6. Fes el teu site segur amb un certificat SSL
- 2.7 7. Instal·lar PHP. Configura el teu web server per a que pugui processar PHP. Per tant necessitem instal·lar els paquets necessaris de MySQL i PHP
- 2.8 8. Fes la teva primera pàgina PHP
Objectius
L'objectiu serà aprendre a instal.lar i configurar el nostre web server, i començar a crear llocs virtuals. Concretament, crearàs el site que doni suport a l'assignatura d’aquest mòdul: http://localhost/M9
Enunciat
Les tasques a realitzar en aquesta pràctica són:
1. Instal·lar apache a una màquina virtual de nova creació
Em basaré en una màquina amb una instal·lació minimalista de CentOS 7 amb adreça IP 192.168.56.200.
Per a instal·lar Apache hem d'instal·lar el paquet httpd, disponible des dels repositoris base de CentOS:
yum install httpd -y
Per tal d'evitar problemes i simplificar la solució, desactivaré el SELinux i deshabilitaré el Firewall del sistema amb les comandes:
setenforce 0
systemctl disable firewalld systemctl stop firewalld
Una vegada instal·lat el programa, el podem engegar i habilitar perquè arrenqui automàticament amb el sistema amb:
systemctl enable httpd systemctl start httpd
Per a comprovar-ho, podem obrir el navegador des de l'ordinador client (la màquina física) i demanar per http://192.168.56.200. Si tot ha anat bé i Apache està funcionant, ens sortirà la pàgina principal que s'activa per defecte a l'instal·lar-lo:
2. Crear el site http://localhost/M9
Simplificaré la creació d'aquest directori posant l'arrel del site al directori /var/www/html/M9 de manera que, la configuració per defecte d'Apache servirà el contingut d'aquest directori sense necessitat de fer-hi canvis.
Crearé el directori amb
mkdir /var/www/html/M9
i li donaré permisos al servidor web per tal que pugui llegir el contingut i servir-lo
chown apache.apache /var/www/html/M9
Una vegada creat el subdirectori, crearem un arxiu index.html que serà el que servirà el web server per defecte quan naveguem cap a http://192.168.56.200/M9
nano /var/www/html/M9/index.html
i hi afegirem un contingut HTML bàsic com ara
<h1>Web Guillem</h1>
desarem l'arxiu i obrirem el navegador i demanarem per http://192.168.56.200/M9 i ens sortirà el contingut de l'arxiu HTML que hem creat abans:
3. Utilitza un port diferent del 80 per accedir a la web
- Per exemple:
http://localhost:8080/M9
Per a poder canviar el port d'escolta del servidor web haurem de modificar l'arxiu de configuració del dimoni del servidor. En CentOS 7 (i versions equivalents de Fedora i Red Hat Enterprise Linux) es troba a /etc/httpd/conf/httpd.conf. Editarem l'arxiu amb nano, per exemple, i buscarem la línia on es defineix la directiva Listen:
(...) # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80 (...)
Una vegada haguem localitzat aquesta línia, podem canviar el valor per defecte pel nou port que volguem configurar. Podem fer que deixi d'escoltar pel 80 i escolti pel 8080 o bé podríem optar per afegir una nova directiva Listen i fer que el servidor web escoltés en múltiples ports; sempre i quan no estiguin en ús per a altres serveis.
Jo opto per a deixar d'escoltar pel 80 i escoltar només les peticions pel 1996; de manera que la línia remarcada anteriorment es converteix en:
(...) # Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 1996 (...)
A continuació hem de parar i tornar a engegar el servidor web per tal que recarregui la configuració nova i passi a escoltar peticions pel port 1996:
systemctl restart httpd
Una vegada aplicada la nova configuració, podem accedir a la web pel port triat, definint-lo a la URL tal que http://192.168.56.200:1996/M9 i obtindrem el mateix resultat que abans:
Nota
Es pot veure que la directiva Listen permet un número com a argument per a referir-se al port a través del que volem que escolti el servidor, però també podem definir una combinació adreça IP + port en el format x.y.z.t:pppp. Això pot ser útil per a servidors on tenim més d'una targeta de xarxa i volem restringir l'accés a través de només una d'elles. Si el meu servidor estigués accessible en 2 xarxes diferents com ara 192.168.56.0/24 i 172.20.20.0/24, podria decidir que només els usuaris des de la xarxa 192.168.56.0 tinguessin accés si definís la directiva com:
Listen 192.168.56.200:1996
D'aquesta manera, li estic dient a Apache que només escolti les peticions HTTP que li provinguin per la targeta de xarxa que té IP=192.168.56.200 i que no escolti per la 172.20.20.X.
4. Protegir amb password i contrasenya el site http://localhost/M9
- Recorda posar la directiva AllowOverride all. Un cop funciona, ho pots desactivar.
5. Accedir a la web d'un company
Hem de conèixer la IP del company. Per ex, 192.168.10.20. Hauràs d'accedir a la seva web:
http://<IP company>/M9
Recorda que el company haurà de permetre que una IP de la xarxa pugui entrar al seu site, modificant convenientment les directives Deny i Allow.
6. Fes el teu site segur amb un certificat SSL
7. Instal·lar PHP. Configura el teu web server per a que pugui processar PHP. Per tant necessitem instal·lar els paquets necessaris de MySQL i PHP
8. Fes la teva primera pàgina PHP
Crea una pàgina PHP que mostri el teu nom i cognoms en pantalla per comprovar que tota la instal·lació anterior ha estat correcta.