You are on page 1of 7

1. Creamos un archivo donde alojaremos nuestro sitio web.

En el ejemplo creamos el
archivo en un directorio diferente al del directorio donde se alojan los sitios web
de apache. Lo realizamos en otro sitio colocando como ejemplo como si
hubiéramos descargado una aplicación web desde internet y hayamos guardado
en otro sitio diferente al directorio de apache.

Nuestro archivo fue creado en el directorio /tmp como el nombre de prueba. Esto
se puede observar en la imagen.

Ilustración 1

2. Ahora lo que haremos es mover el archivo prueba del directorio donde fue creado
al directorio donde se alojan los sitios web de apache. Los sitios web se alojan en
el directorio /var/www/html.

En la imagen podemos ver como movemos el archivo prueba al directorio de


apache.

Ilustración 2

3. Verificamos los permisos que tiene nuestro archivo y Ingresamos al archivo prueba
con un editor de texto ya sea nano, vim, gedit, etc. En este caso lo hicimos con el
editor nano. Podemos observar que los permisos están bien para que el usuario
propietario lo pueda ejecutar.
Ilustración 3

4. Dentro del archivo colocamos un mensaje para identificar el sitio, algo así como
lo muestra la imagen. Y luego guardamos los cambios.

Ilustración 4

5. Ahora nos dirigimos al navegar para verificar nuestro sitio, para ello ingresamos la
siguiente dirección: http://localhost/prueba. donde localhost es porque nuestro
servidor web está en la misma máquina o localmente y prueba porque es nuestro
archivo que tiene el sitio web con el cual estamos haciendo la prueba.

Ilustración 5

Como puede ven en la imagen anterior observamos un error. Este es el error del cual
les estaba hablando al principio de esta entrada. Dicho error nos dice que no se puede
acceder al sitio que no tiene permisos. Esto error de igual manera nos va salir si
realizamos los mismo pasos anteriores con una aplicación web descargada de internet.
Como solucionar este error:

1. Nos dirigimos a la consola para revisar los logs y verificar cual es el error
ocasionado por apache. Para ello ejecutamos el comando que se muestra en la
imagen. Y podemos observar que esta denegando apache que se acceda al sitio
web.

Ilustración 6

2. Luego verificamos de nuevo cuales son los permisos que tiene nuetro sitio web. Si
le damos todos los permisos a archivo prueba de todos modos nos va a salir el
mismo error. Ejecutamos el comando mostrado en la imagen para observar los
permisos.

Ilustración 7
3. Ahora de nuevo verificamos los permisos pero esta vez le añadimos los permisos
del SElinux. Y esta ocasión podemos observar algo diferente en el archivo prueba a
los otros archivos. La diferencia se puede observar claramente en el contexto de
SElinux, ya que es diferente al de los otros. Si miramos bien en la imagen que se
muestra debajo podemos ver que el archivo prueba cuando se crea en el directorio
/tmp hereda los permisos de la raíz de ese directorio y al mover el archivo prueba
al directorio de apache no cambia sus permisos por los de apache y su contexto
queda que con el del directorio /tmp (directorio temporal). Esto hace que cuando
al acceder al archivo prueba nos sale un error.

Ilustración 8

4. Luego de saber cuál es el error o el problema por el cual nos podemos acceder al
sitio web es de SElinux, instalamos un paquete el cual es un servicio que nos
brinda ayuda de cómo solucionar problemas de SElinux.. El paquete a instalar lo
podemos observar en la imagen y nos muestra como ejecutarlo.

Ilustración 9

5. Iniciamos el servicio que acabamos de instalar.

Ilustración 10

6. Verificamos los logs del SElinux, el cual nos muestra cual es la causa del error y nos
brinda un comando para ver detalladamente la causa de error. El comando para
ver detalladamente el error lo podemos observar en la imagen.
Ilustración 11

7. Ejecutamos el comando que nos dijo los logs SElinux y podemos ver
detalladamente el error. Nos muestra que el contexto que tiene el archivo prueba
que aloja nuestro sitio web no coincide con el que debe de ser para que apache
deje acceder al sitio web y nos muestra cual es el contexto correcto paraqué
apache deje acceder al sitio y también nos permite saber más detalladamente el
error. También nos da un comando para solucionar el problema de los contextos.
Todo esto se muestra en las siguientes imágenes.

Ilustración 12
Ilustración 13

8. Ejecutamos el comando arrojado en el paso anterior para solucionar este


problema o el error. Este comando restaurar el contexto adecuado para nuestro
archivo.

Ilustración 14

9. Verificamos de otra vez los permisos de Selinux del directorio de apache donde
está ubicado nuestro archivo prueba el cual contiene el sitio web que estamos
creando y observa en los permisos de Selinux o el contexto cambia y es igual de los
otros archivos y podemos ver que ya los permisos ya fueron heredados por el
directorio de apache.

Ilustración 15
10. De nuevo volvemos al navegador para entrar al sitio web prueba.

Ilustración 16

Ya esta el problema o el error solucionado correctamente, y sabemos por que ocurre este
error y entender de que se trata el problema y como se soluciona.

You might also like