Instalación de nginx con PHP
1. Entrega la URL del repositorio GitHub donde has alojado la práctica.
https://github.com/belennazareth/nginx_php
2. Pantallazos para comprobar que se han creado los dos virtualhost después de ejecutar la receta ansible.
Al realizar la receta ansible resulta:
Y si consultamos en la máquina servidorweb
podemos ver los virtualhosts:
3. Comprobación de que al acceder a www.pagina1.org se produce una redirección. Pantallazo accediendo desde un navegador web.
Para realizar la redirección se edita el fichero /etc/nginx/sites-available/vhost1.conf
en la máquina servidorweb añadiendo:
location = / {
return 301 /principal;
}
Además de la línea para principal
:
location /principal {
try_files $uri $uri/ /index.html;
}
Se tiene que crear el directorio /principal
con un fichero index.html
, en /srv/www/pagina1
.
Podemos mostrar una página web estática copiando el fichero de construcción de la página en el directorio /srv/www/pagina1/
poniéndole de nombre principal
, después será necesario ejecutar el siguiente comando para que cambie las rutas del index
a /principal
:
sed -i 's/"\//"\/principal\//g' index.html
4. Pantallazo accediendo a www.pagina1.org/principal/documentos (pon algunos ficheros para que se vea la lista).
Se crea el directorio /srv/doc
con ficheros dentro de ejemplo.
A /etc/nginx/sites-available/vhost1.conf
se le añade un alias para poder entrar a los ficheros alojados en /srv/doc
:
location /principal/documentos {
alias /srv/doc;
autoindex on;
}
Entra aquí para ver los ficheros de /srv/doc
y la copia de /etc/nginx/sites-available/vhost1.conf
.
5. Pantallazos de la autentificación básica.
Para la autentificación básica primero se instala el paquete:
apt-get install nginx apache2-utils
Se crea el usuario y contraseña:
htpasswd -c /etc/nginx/.htpasswd totakeke
Se crea el directorio /secreto
en /srv/www/pagina1
con un fichero index.html
. (igualmente se puede encontrar en este repositorio)
Se añade en /etc/nginx/sites-available/vhost1.conf
:
location /secreto {
try_files $uri $uri/ =404;
auth_basic "contraseñita y eso";
auth_basic_user_file /etc/nginx/.htpasswd;
}
6. Finalmente, configura la receta ansible para desactivar el virtualhost www.pagina2.org. Pasa de nuevo la receta y manda alguna prueba de que se ha borrado dicho VirtualHost.
Para esto se vuelve a realizar el comando ansible-playbook site.yaml
Notas
Para crear un nuevo virtualhost tendremos que crear dentro de ansible/group_vars/all
un nuevo vhost y hay que crear un fichero llamado index_vhost[numero].html
en ansible/roles/nginx/files/
.