Diferencia entre revisiones de «Plantilla:Apache/Instalacion»
De WikiEducator
(→Cliente: varios nombres .. una ip) |
|||
(6 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 81: | Línea 81: | ||
<div class="slide"> | <div class="slide"> | ||
===Servidor Web=== | ===Servidor Web=== | ||
+ | ;Proceso de comunición '''''tcp/ip''''' | ||
+ | [[Archivo:transmision_tcp_ip2.png|center]] | ||
+ | *Es importante entender el concepto de protocolo. | ||
+ | {{MRM_Definicion|Title=Protocolo| | ||
+ | ;Un programa que implementa una serie de reglas y normas para que dos partes diferentes se puedan comunicar. | ||
+ | }} | ||
+ | *Un protocolo es un programa, pero solo el programa de '''''nivel de aplicación''''' vamos a gestinar (instalar, eliminar, configurar), el resto de software (protocolos de otros niveles), son parte del kernel del sistema operativo, a los que no tenemos acceso de gestionar, pero sí, a veces, de configurar, como estalbecer el ''número ip' dentro del '''''protocolo ip o protocolo de internet'''''. | ||
+ | |||
+ | ;El Servidor | ||
+ | *La imagen anterior, muestra el proceso de comunicación tcp/ip entre dos dispositivos. | ||
+ | *El equipo que recibe la comunicación se conoce como servidor, por el hecho de que están ejecutándose en él diferentes programas servidores. | ||
+ | *Cada programa está escuchando por un puerto, que es quién le identifica, de modo que cuando la tarjeta de red recibe un paquete, datagrama o fragmento (un grupo de bits), si el nivel de red, decide que es él el destinatario, desde el nivel de transporte sabe a qué aplicación entregarlo. | ||
+ | |||
[[Archivo:solicitud_web_2.png|center]] | [[Archivo:solicitud_web_2.png|center]] | ||
</div> | </div> | ||
Línea 88: | Línea 101: | ||
<div class="slide"> | <div class="slide"> | ||
+ | ====Permisos de ficheros==== | ||
+ | Parar poder acceder a un fichero necesitamos tener una referencia a él (Tanto para escribir como para leer). | ||
+ | ;Temas de permisos de <span style=color:red>apache</span> | ||
+ | A pesar de que no somos administradores/as debemos tener conocimientos para ciertos temas. | ||
+ | Lo primero debemos tener claro es que cuando '''php''' le dice en el script a apache que actúe sobre el sistema de ficheros, es en última instancia el usuario apache quién quiere hacer la acciones | ||
+ | *Lee atentamente el siguiente cuadro y asegúrate de tener claro cada punto, si no, pregunta. | ||
+ | {{MRM_Actividad|Title=Puntos fundamentales sobre permisos| | ||
+ | 1.- En '''''linux''''' todo '''fichero''' tiene un '''propietario''', y también todo '''proceso'''. | ||
+ | *El '''''propietario''''' del proceso es el '''''usuario que lazó''''' dicho proceso. | ||
+ | *Cuando un proceso quiere hacer algo sobre un fichero, el usuario que lanzó el proceso, debe tener '''''permisos sobre el fichero''''' para hacerlo. | ||
+ | *El usuario que lanza '''''apache''''' es '''''www-data''''' | ||
+ | *Para hacer a un usuario propietario de un fichero o a su grupo usamos la sentencia | ||
+ | <source lang=bash> | ||
+ | sudo chown usuario:grupo fichero (-R) }} | ||
+ | </source> | ||
+ | {{Nota|*'''''-R''''' parámetro opcional que actuaría de forma recursiva. | ||
+ | *En php un '''''directorio es igual que un fichero''''' cuyo contenido son los ficheros y directorios que contiene.}} | ||
+ | |||
+ | |||
+ | ;Para dar permisos sobre un fichero a un usuario usamos la sentencia | ||
+ | <source lang=bash> | ||
+ | sudo chmod permisos fichero (-R) }} | ||
+ | </source> | ||
+ | {{Nota| | ||
+ | *'''''permisos'''' es un número de tres dígitos en '''octal''', ver tabla de abajo. | ||
+ | *'''''fichero''''' al cual le queremos dar permisos, se puede usar * para especificar todos. | ||
+ | *'''''-R''''' parámetro opcional que actuaría de forma recursiva. | ||
+ | }} | ||
+ | }} | ||
+ | |||
+ | |||
+ | {| class="wikitable" colspec="C4" | ||
+ | |- | ||
+ | ! Número | ||
+ | ! Binario | ||
+ | ! Lectura (''r'') | ||
+ | ! Escritura (''w'') | ||
+ | ! Ejecución (''x'') | ||
+ | |- | ||
+ | | 0 | ||
+ | | 000 | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | |- | ||
+ | | 1 | ||
+ | | 001 | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|centeconcatenaciónr]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | |- | ||
+ | | 2 | ||
+ | | 010 | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | |- | ||
+ | | 3 | ||
+ | | 011 | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | |- | ||
+ | | 4 | ||
+ | | 100 | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | |- | ||
+ | | 5 | ||
+ | | 101 | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | |- | ||
+ | | 6 | ||
+ | | 110 | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:No-Symbol.svg|20px|center]] | ||
+ | |- | ||
+ | | 7 | ||
+ | | 111 | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | | [[Archivo:Symbol OK.svg|20px|center]] | ||
+ | |} | ||
+ | |||
+ | Por ejemplo: | ||
+ | <source lang="bash"> | ||
+ | chmod 766 file.txt # brinda acceso total al dueño | ||
+ | # y lectura y escritura a los demás | ||
+ | chmod 770 file.txt # brinda acceso total al dueño y al grupo | ||
+ | # y elimina todos los permisos a los demás usuarios | ||
+ | chmod 635 file.txt # Permite lectura y escritura al dueño, | ||
+ | # escritura y ejecución al grupo, | ||
+ | # y lectura y ejecución al resto | ||
+ | </source> | ||
+ | |||
+ | |||
+ | |||
+ | {{Nota| Recuerda que es el usuario '''''apache''''' el que ha de tener los permisos necesarios '''(leer(r),escribir (w), ejecutar (x)'''}} | ||
+ | |||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | |||
===Configuración de un servidor web=== | ===Configuración de un servidor web=== | ||
La configuración se basa en un VirtualHost. | La configuración se basa en un VirtualHost. | ||
Línea 105: | Línea 225: | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ;VirtualHost | |
;Una única ip, varios dominios | ;Una única ip, varios dominios | ||
*Cada dominio configurado en el Virtualhost | *Cada dominio configurado en el Virtualhost | ||
Línea 116: | Línea 236: | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ;VirtualHost | |
<br /> | <br /> | ||
{{MRM_Web| | {{MRM_Web| | ||
Línea 125: | Línea 245: | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ;VirtualHost | |
;sites_enabled vs sites_available | ;sites_enabled vs sites_available | ||
{{MRM_Actividad|Title=Organización de los ficheros de configuración| | {{MRM_Actividad|Title=Organización de los ficheros de configuración| | ||
Línea 137: | Línea 257: | ||
<br /> | <br /> | ||
− | + | ;VirtualHost | |
*Para crear un enlace simbólico | *Para crear un enlace simbólico | ||
<source lang=bash> | <source lang=bash> | ||
Línea 162: | Línea 282: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | ====Ejemplo Confituracion virutalHost | + | ====Ejemplo Confituracion virutalHost==== |
− | + | ||
</div> | </div> | ||
Línea 173: | Línea 292: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
====Cliente: varios nombres .. una ip==== | ====Cliente: varios nombres .. una ip==== | ||
[[Archivo:ip_server_cliente.png]] | [[Archivo:ip_server_cliente.png]] | ||
Línea 187: | Línea 307: | ||
3.-Se busca o pregunta a nuestro servidor '''''dns''''' que nos lo resuelva. | 3.-Se busca o pregunta a nuestro servidor '''''dns''''' que nos lo resuelva. | ||
}} | }} | ||
+ | {{Plegable|hide|Pasos a realizar| | ||
+ | ;1º Agregamos en la configuracion de apache los nuevos VirtualHost | ||
+ | *Creamos los ficheros de configuración en la carpeta correspondiente | ||
+ | /etc/apache2/sites-available/informatica.conf | ||
+ | /etc/apache2/sites-available/manuel.conf | ||
+ | /etc/apache2/sites-available/musica.conf | ||
+ | *En su contenido, especificamos los valores para DocumentRoot y para ServerName (comenta su significado). | ||
+ | {{Plegable|hide|Contenido de informatica.conf sin comentarios| | ||
<source lang=bash> | <source lang=bash> | ||
− | sudo | + | <VirtualHost *:80> |
+ | ServerName www.informatica.com | ||
+ | DocumentRoot /var/www/informatica | ||
+ | </VirtualHost> | ||
+ | </source> | ||
+ | }} | ||
+ | *Rebotamos el servicio (al haber cambiado el fichero de configuración) | ||
+ | <source lang=bash> | ||
+ | sudo service apache2 restart | ||
+ | </source> | ||
+ | ;2º Creo los recursos en la web | ||
+ | *Hemos establecido que cuando se acceda a este servidor web con el nombre '''''informatica.com''''' se ha de ir a buscar los recursos a '''''/var/www/informatica'''''. Ahora debemos de crear esa estructura de carpetas, y ubicar ahí algún recurso (página html). | ||
+ | *Para realizar esta acción, debes de asegurarte de tener premisos de escritura en esta carpeta. | ||
+ | |||
+ | ;3º Modificamos el fichero /etc/hosts para la resolución de direcciones ip, aportando un nombre | ||
+ | <source lang=bash> | ||
+ | sudo gedit /etc/host | ||
</source> | </source> | ||
</div> | </div> | ||
+ | *Agregamos las ip de los nombres, observa que la ip que pongo es la de loopback (127.0.0.1), o bien la ip que tenga asignada mi equipo | ||
+ | <source lang=bash> | ||
+ | 127.0.0.1 manuel.com | ||
+ | 127.0.0.1 informatica.com | ||
+ | #127.0.0.1 musica.com | ||
+ | 172.30.1.120 musica.com | ||
+ | </source> | ||
+ | {{MRM_Pregunta| | ||
+ | ;¿Cómo puedo comprobar que está bien esta configuracioń de ip-nombres? | ||
+ | }} | ||
+ | }} | ||
+ | |||
+ | |||
+ | |||
+ | }} | ||
<div class="slide"> | <div class="slide"> |