Acceso prohibido/denegado 403

El otro día, al intentar configurar un entorno en mi pc local para una aplicación en CodeIgniter, me encontré con que el navegador me daba el siguiente error al intentar acceder a mi entorno, Acceso prohibido/denegado 403. Después de mucho buscar por internet y trastear con apache, .htaccess y el fichero Host, encontré la solución.

Voy a enumerar los pasos para crear un entorno en un pc local.

  1. Abrir el fichero Hosts y añadir la linea siguiente:
    127.0.0.1 app.local
    app.local es el nombre del dominio que quieres habilitar en el entorno local.
  2. Abrir el fichero httpd.vhost y añadir el bloque de código para tu host virtual. Un ejemplo sería el siguiente, con respecto al ejemplo anterior.
    <VirtualHost *:80>
        ServerName app.local
        ServerAlias app.local
        DocumentRoot "C:/app"
        ErrorLog "logs/app.local-error.log"
        CustomLog "logs/app.local-access.log" combined
    <VirtualHost>
    
    Tenemos que asegurarnos que la ruta hacia el virtual host es correcta y que tanto ServerName como ServerAlias corresponden con el nombre de host añadido al fichero hosts.
  3. He aquí el fallo de la mayoría. El hecho de tener un host virtual configurado no da acceso a la carpeta que se ha asignado, por lo que hace falta especificar permisos, pero no del sistema operativo como explican en muchos posts.
    Se debe añadir al final del fichero httpd.conf las siguiente líneas, correspondiendo con el ejemplo de este post.

    <Directory "C:app">
        Options FollowSymLinks
        Allow from all
    </Directory>
    
    Con estas líneas se conceden permisos de acceso al directorio. Fácil ¿no?.
  4. Añade un fichero index.html en la carpeta del host virtual con un “hola” como contenido, por ejemplo.
  5. Por último re-inicia el servidor apache e intenta acceder a app.local desde cualquier navegador en tu pc local…ualá

Espero que haya servido a algún emprendedor perdido.