Apache2 : 금지됨이 서버에서 / dir /에 액세스 할 수있는 권한이 없습니다


17

localhost하위 디렉토리에는 액세스 할 수 있지만 하위 디렉토리에는 액세스 할 수 없습니다index.html

default conf모습은 :

<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

read/edit/write디렉토리에 대한 액세스를 허용 한 후에도 Forbidden 오류가 표시됩니다. 포럼에서 가능한 모든 방법을 시도했지만 효과가 없었습니다. 누구나 해결책이 있습니다.

위의 사이에 sub directory액세스를 위해 무언가를 시도했습니다 .

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

가능한 해결책을 제안하십시오. 감사!

답변:


17

가상 호스트를 명확하게하자 :

<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>

그런 다음 올바른 권한을 다음과 같이 설정하십시오.

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

나는 그렇게했다. 여전히 동일합니다. 아파치를 다시 시작했습니다. 대신 apache.conf에서 수정을 시도해야합니까?
Shobhit Sharma

여기 있습니다. 루트 디렉토리를 홈 폴더 색인으로 변경하고 여전히 / var / www를 가리 키려고했습니다. 올바른 conf 파일을 찾아야합니다.
Shobhit Sharma

@ShobhitSharma 업데이트 된 것을 시도하십시오. 가상 호스트 디렉토리를 홈 폴더로 찾으려면 기본 가상 디렉토리를 DocumentRoot /var/www수정하는 대신 다른 가상 호스트 변경 사항 만 작성해야합니다 .
Achu

그냥 좋아요 www-data 사용자 만 추가하면됩니다. 이제 모든 로컬 네트워크 사용자가 컨텐츠를 사용할 수 있습니다
DearDhruv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.