/ var / www /에서 심볼릭 링크로 Apache2를 구성하는 방법은 무엇입니까?


14

우분투 (14.04)에 로컬 웹 서버를 설정하고 싶습니다. 그래서 LAMP 서버를 얻기 위해 모든 소프트웨어를 설치했습니다.

문제는 가상 호스트 생성에 문제가 있다는 것입니다. 로컬 호스트에서 다른 하위 도메인을 만들고 싶었습니다. 예를 들어 site1.localhost 및 site2.localhost입니다.

/var/www/디렉토리에서 나는 "site1"로 이동하는 심볼릭 링크를 만들었습니다 /home/user/Workspaces/site1.

내 Apache error.log 파일에서 다음 오류가 발생했습니다.

[core:error] [pid 12679] [client 127.0.0.1:59006] AH00037: Symbolic link not allowed or link target not accessible: /var/www/site1

내 아파치 구성에는 다음이 있습니다.

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

따라서 폴더 권한에 문제가 있다고 생각합니다. Google에서 검색 한 결과 같은 문제를 가진 소수의 사람들을 찾았지만 제공된 모든 답변이 효과가 없었습니다. 나는 www-data 그룹과 같은 것들에 내 자신의 사용자 이름을 추가했습니다.

따라서 다음을 ls -la /var/www반환합니다.

total 12
drwxrwsr-x  3 user www-data 4096 okt 13 19:08 .
drwxr-xr-x 14 root root     4096 okt  1 22:50 ..
drwxr-xr-x  2 root www-data 4096 okt  1 22:50 html
lrwxrwxrwx  1 root www-data   29 okt 13 19:08 site1 -> /home/user/Workspaces/site1/

그리고 다음을 ls -la /home/juul/Workspaces/site1반환합니다.

total 24
drwxrwxr-x 4 user www-data 4096 okt 13 18:21 .
drwxrwx--- 3 user user     4096 okt 13 17:31 ..
-rw-rw-r-- 1 user user        0 okt 13 18:21 index.html
drwxrwxr-x 4 user www-data 4096 okt 13 16:12 .metadata
drwxrwxr-x 5 user www-data 4096 okt 13 16:53 Project

잘만되면 누군가 나를 도울 수 있습니다 :-)

답변:


5

이 권한으로 인해 apache귀하에게 액세스 할 수 없습니다

drwxrwx--- 3 user user     4096 okt 13 17:31 ..

다른 사람에게 실행 권한을 부여해야합니다.

chmod o+x /home/juul/Workspaces/

(아마도 /home/juul/).


@muru 응답에 따라 모든 포함 디렉토리에 "x"권한이 설정되어 있는지 확인하십시오. 하나도 없다면 그것은 작동하지 않을 것입니다
dawez

3

14.04에 표준 아파치 설치가 있습니다. "www-data"를 지정하는 파일 또는 디렉토리가 없습니다. 이 모든 것을 스스로 바 꾸었습니까? 웹 서버를 설정하는 방법에 대한 오래되거나 단순히 잘못된 정보가 많이 있으므로 따라가는 사람을 조심하고 작동하지 않는 것을 실행 취소하십시오.

"site1"은 html디렉토리에 있어야하며 귀하가 소유해야합니다. 실제로 심볼릭 링크 일 필요는 없습니다. 구성 파일에서 다른 디렉토리를 지정할 수 있습니다. 이 같은:

# Add this to the end of the existing 000-default.conf file (after "</VirtualHost>")
<VirtualHost *:80>
    <Directory  /home/user/Workspaces/site1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    DocumentRoot /home/user/Workspaces/site1
    ServerName site1
</VirtualHost>

1

솔루션 : 기호 링크가 허용되지 않거나 링크 대상에 액세스 할 수 없음 : /var/www/html/mySymbolicLink.

이것은 분명히 권한 문제입니다. 문제는 홈 디렉토리 아래의 HTML이 사용자가 소유하고 있으며 아파치 서버가 다른 사용자가 실행하므로 홈 디렉토리에 액세스 할 수 없다는 것입니다.

해결책은 아파치를 실행하는 사용자를 일반적으로 사용자 이름과 같은 그룹에 추가하는 것입니다. 따라서 CentOS 상자에서 다음과 같이했습니다.

sudo usermod -a -G dev apache

따라서 이것은 사용자 아파치를 그룹 dev에 추가합니다. 이제 실행 권한을 부여해야합니다.

에서 /home:

chmod g+x dev -R

이렇게하면 그룹 구성원에 대해서만 내 폴더에 실행 권한이 부여됩니다. 그리고 그게 다야. 귀하의 웹 서버를 실행하는 모든 것에 대해 Apache 사용자를 수정해야합니다 www-data. 우분투의 경우 사용자는 입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.