웹 서버 루트 디렉터리는 /home/user에 있습니다.

웹 서버 루트 디렉터리는 /home/user에 있습니다.

내 웹사이트는 현재 /var/www 디렉토리의 /dev/vda1 파티션에 있는 Debian 비 LVM VPS에서 호스팅됩니다.

내 VPS의 루트 파티션 /dev/vda1이 99% 찼습니다. 그러나 /dev/vda6의 home/ 파티션에는 디스크 사용량이 8%만 표시됩니다.

제 생각에는 /dev/vda1 파티션의 크기를 조정하고 /dev/vda6을 축소하는 것은 위험합니다. 특히 LVM이 아닌 파티션과 관련된 경우에는 더욱 그렇습니다.

그래서 저는 "즉시 사용 가능한" 해결 방법을 시도하고 모든 사이트를 그대로 /home/user/web에 복사했습니다. 새 위치를 가리키도록 웹 서버(cq Lighttpd)를 구성하고 웹 서버를 다시 시작했습니다.

모든 것이 잘 작동하고 있으며 지난 며칠 동안 아무런 문제도 발생하지 않았습니다.

나는 /home/user/web/이 웹 사이트를 저장하기에 이상적인 장소가 아니라는 것을 알고 있습니다. 적어도 그런 구성을 권장하는 사람은 없을 것입니다.

내 질문은: /home/user/web이 이상적인 웹 루트가 아닌 이유는 무엇입니까?

답변1

무엇이 이상적이지 않다고 생각하시나요?

이는 다른 어떤 디렉터리보다 이상적이지 않으며 디렉터리와 파일 권한, 서버 구성 세부 정보가 올바른 한 /var/www.

웹 서버(apache 또는 기타)가 올바르게 구성되어 있는 한 가상 호스트의 DocumentRoot가 어느 디렉터리에 있는지는 실제로 중요하지 않습니다.

기본적으로 내 자신의 가상 호스트 설정 스크립트는 로그, 가상 호스트 관련 CGI 스크립트 등 /home/WEB/$vhostuser/htdocs을 위한 다른 디렉토리와 함께 사용 되므로 /home/WEB/$vhostuser/가상 호스트와 관련된 모든 것이 동일한 디렉토리 트리 아래에 있습니다.

나는 또한 apache-mpm-itk각 가상 호스트가 자신의 사용자 ID로 실행되도록 이것을 사용합니다. 이는 보안 이점(예: vhost1의 스크립트는 vhost2에 속한 파일을 건드릴 수 없음)과 기타 이점(예: 로그 파일이 chown사용자에게 전송될 수 있으므로 루트가 소유하는 것이 아니라 사이트 할당량의 일부가 됨)을 갖습니다. 정기적으로 다운로드 및 삭제).

물론 VM과 컨테이너로부터 더 잘 격리할 수 있기 때문에 지금은 이 중 대부분이 더 이상 사용되지 않습니다. 하지만 90년대에 가상 호스트 자동화 스크립트를 처음 작성하기 시작했을 때는 이 중 아무 것도 존재하지 않았습니다.

답변2

읽다Slicehost를 통한 Debian Slice 구성. 성숙한 것을 사용하십시오 Apache로 VPS 설정, 사용자의 홈 디렉토리를 webroot로 사용하는 데 문제가 없습니다. 문제는 기본 보안 규칙이 아닌 Apache의 보안 규칙을 사용하여 사용자 디렉터리를 적절하게 보호해야 한다는 것입니다.

답변3

잠재적인 보안 위험이 있으므로 chroot(또는 Jail 또는 Zone)를 사용하여 이 문제를 해결할 수 있습니다.

관련 정보