Apache2: Prohibido No tiene permiso para acceder / dir / en este servidor


17

Puedo acceder localhostpero no a los subdirectoriosindex.html

Mi se default confparece a:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Incluso después de permitir el read/edit/writeacceso al directorio, muestra un error prohibido. Probé todas las salidas posibles en los foros, no funcionó. Cualquiera tiene una solución.

Entre los anteriores intenté algo para sub directoryacceder:

<Directory /var/www/*/>
    Allow from None
    Order allow,deny
</Directory>

Por favor sugiérame una posible solución. ¡Gracias!

Respuestas:


17

Dejemos claro el vhost:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Luego, asegúrese de establecer el permiso correcto de esta manera:

sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www

Así lo hice. Siempre lo mismo. Reiniciamos apache también. ¿Debería intentar modificar en apache.conf en su lugar?
Shobhit Sharma

Aquí está la cosa. Traté de cambiar el directorio raíz, al índice de mi carpeta de inicio y todavía apunta a / var / www. Tengo que encontrar el archivo de configuración correcto.
Shobhit Sharma

@ShobhitSharma Por favor, intente el actualizado. Si intenta ubicar su directorio vhost en la carpeta de inicio, debe crear un cambio de vhost diferente solo en DocumentRoot /var/wwwlugar de modificar el predeterminado.
Achu,

Simplemente genial. Solo es necesario agregar el usuario www-data. ahora todos los usuarios de mi red local pueden usar el contenido
DearDhruv
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.