Diferencia entre revisiones de «Usuario:ManuelRomero/NewPHP/inaem2017/ejercicios»

De WikiEducator
Saltar a: navegación, buscar
 
(3 revisiones intermedias por el mismo usuario no mostrado)
Línea 13: Línea 13:
 
#el fichero por defecto index.html
 
#el fichero por defecto index.html
 
}}
 
}}
{{MRM_Actividad|Title=Ficheros de usuarios|
+
{{Plegable|hide|Title Solucion|
*crea un fichero llamado '''''misUsuarios''''' y añade 3 usuarios maria/maria nieves/nieves sara/sara. Se indica usuario/password
+
;Primero creamos la estructura de directorios
*Posteriormente visualiza el contenido del fichero
+
1.-Nos movemos al directorio www
*Observa cómo la pass aparece cifrada
+
  cd /var/www
;Modo de actuación
+
2.- Una vez en ella, creamos la estructura de subdireactorios
1.- Primero nos ubicamos en el directorio donde queramos añadir o crear el fichero
+
  mkdir ciencia
  cd /home/MiUsuario
+
  mkdir deporte
'''''MiUsuario''''' es vuestro propio directorio
+
mkdir tecnologia
2.-Ahora creamos un directorio para guardar esta información y nos movemos en él
+
mkdir tecnologia/programacion
  mkdir usuarios
+
3.- Creamos los ficheros en cada carpeta
  cd usuarios
+
para ello nos movemos a cada carpeta y en ella con nuestro editor preferido creamos un fichero
3.-Una vez correctamente ubicados generamos el fichero de las password con la herramienta '''''htpasswd'''''
+
  el contenido del fichero, simplemente un <nowiki><h1></nowiki> con un texto significativo por ejemplo
  La primera vez con opción '''''-c''''' para crear el fichero
+
  <nowiki><h1></nowiki>Estoy en la página de ciencia<nowiki></h1></nowiki>
  htpasswd -c misUsuarios maria
+
:Ahora queremos que para una misma ip, nuestro servidor web atienda a diferentes nombres de dominio.
  htpasswd misUsuarios nieves
+
*Esto implica dos acciones.
  htpasswd misUsuarios nieves
+
{{Tip|Por un lado de alguna manera hay que conseguir que cuando se quiera acceder a uno de estos dominios, la red nos dirija a la ip donde está nuestro servidor web}}
}}
+
{{Tip|Por otro lado hay que indicar a nuestro servidor web que responda ante ese dominio}}
====Leer con php datos de la autentificación====
+
===Asignar al dominio una ip===
<br />
+
*Esta acción la vamos a conseguir modificando el fichero hosts
{{MRM_Actividad|Title=Accediendo con php a la autentificación|
+
Lo editamos y modificamos con las acciones siguientes
*Modifica la página restringida para ver el usuario y password así como el método usado de autentifiación
+
Nos movemos al directorio donde está el fichero
*El código que habría que añadir:
+
cd /etc
<source lang=php>
+
Lo editamos con nuestro editor favorito. Como es un fichero de configuración, hay que hacerlo con '''''sudo '''''
  <?php
+
sudo  vim hosts
        echo "te has autentificado como:<br/>";
+
o bien
       
+
sudo gedit hosts
        echo "Usuario: ". $_SERVER['PHP_AUTH_USER']."<br/>";
+
Escribimos las siguientes lineas
        echo "Password: ". $_SERVER['PHP_AUTH_PW']."<br/>";
+
<source lang=bash>
        echo "Tipo de autentificacion: ". $_SERVER['AUTH_TYPE'];
+
127.0.0.1      www.deporte.com
  ?>
+
127.0.0.1      www.tecnologia.com
 +
127.0.0.1      www.ciencia.com
 
</source>
 
</source>
}}
+
 
====Accesos Restringidos====
+
===Modificando el fichero de configuración de apache===
<br />
+
*Nos movemos al fichero de configuración
{{MRM_Actividad|Title= Accesos restringidos|
+
<source lang=bash>
Crea un sencillo sitio web que me redirija a 4 páginas:
+
cd /etc/apache2/sites-enable
*'''''Información General''''' :  Tendrá acceso todo el mundo
+
</source>
*'''''Información restringida'''''Sólo tenrán acceso los usuarios creados en el fichero misUsuarios
+
*Editamos el fichero de configuración de los sitios web con privilegios de root, o sea con el comando '''''sudo'''''
*'''''Información Sara''''' Tendrá acceso solo el usuario sara
+
<source lang=bash>
*'''''Información de grupo''''' : Tendrá acceso los usuarios 3 usuarios de los 5 creados (sara alicia y paula)
+
sudo vim 000-default.conf
{{Tip|Ten en cuenta los propietarios de la carpeta (el grupo que pertenezca a www-data}}
+
</source>
 +
*Agregamos los sitios web que queremos
 +
 
 +
<source lang=bash>
 +
 
 +
<VirtualHost *:80>
 +
ServerName www.deporte.com
 +
DocumentRoot /var/www/deporte
 +
DirectoryIndex deporte.php
 +
</VirtualHost>
 +
 
 +
<VirtualHost *:80>
 +
ServerName www.tecnologia.com
 +
DocumentRoot /var/www/programacion/tecnologia
 +
DirectoryIndex tecnologia.php
 +
</VirtualHost>
 +
 
 +
<VirtualHost *:80>
 +
ServerName www.ciencia.com
 +
DocumentRoot /var/www/ciencia
 +
DirectoryIndex ciencia.php
 +
</VirtualHost>
 +
 
 +
<VirtualHost *:80>
 +
ServerName  www.repartos.com
 +
DocumentRoot /var/www/repartos
 +
DirectoryIndex index.php
 +
</VirtualHost>
 +
 
 +
 
 +
</source>
 +
 
 +
*Ahora probamos que todo funciona.
 
}}
 
}}

Última revisión de 22:24 9 feb 2018




Icon activity.jpg
Creando dominios virtuales
Realiza los siguientes sitios web, cumpliendo las especificaciones

www.ciencia.es o ciencia.es

  1. Su directorio /var/www/ciencia
  2. El fichero por defecto inicio.html
www.deporte.es
  1. Su directorio /var/www/deporte
  2. El fichero por defecto empezar.php
www.programacion.es
  1. Su directorio /var/www/tecnologia/programacion
  2. el fichero por defecto index.html