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.