ownCloud Apache AllowOverride All 경고를 안전하게 해결하세요

ownCloud에서 Apache AllowOverride All설정이 누락되었다는 메시지가 표시되면 <Directory>ownCloud 설치 경로와 일치하는 Apache 설정 블록에 해당 설정을 추가하고 구성을 테스트한 후 Apache를 다시 로드하십시오. 일반적인 Debian 또는 Ubuntu 설치 환경에서는 해당 설정이 활성 ownCloud 가상 호스트 또는 Apache 구성의 일치하는 디렉터리 블록에 있어야 합니다. 경고 하나만 없애기 위해 서버 전체에 걸쳐 설정을 재정의하지 마십시오.

ownCloud Server(Classic)에서는 Apache가 설치 .htaccess규칙을 읽을 수 있도록 허용해야 합니다. 이러한 규칙은 URL 재작성을 지원하고 민감한 경로를 보호하는 데 도움이 됩니다. 따라서 규칙이 누락되었거나 제대로 작동하지 않으면 정상적인 URL과 데이터 디렉터리의 보안 검사 모두에 영향을 미칠 수 있습니다. 이 가이드는 Apache HTTP 서버를 사용하는 ownCloud Server에 적용되며, Nginx, ownCloud Infinite Scale 또는 Apache 구성이 호스팅 제공업체에 의해 제어되는 환경에는 적용되지 않습니다.

빠른 참조

목표확인 또는 설정
ownCloud의 디렉터리별 규칙을 허용합니다.AllowOverride All<Directory>일치하는 블록 에서
Apache가 변경 사항을 구문 분석할 수 있는지 확인하십시오.sudo apachectl -t보고해야 합니다Syntax OK
구성을 활성화하세요sudo systemctl reload apache2데비안 또는 우분투에서
클린 URL을 확인하세요mod_rewrite구성에 필요한 경우 활성화되어 있는지 확인하십시오.
경고 메시지가 사라졌는지 확인하십시오.문제가 발생한 URL을 테스트한 후 ownCloud 관리자 개요를 새로 고침하세요.

경고의 의미는 무엇인가요?

Apache의 AllowOverride지시문은 파일 내의 지시문이 .htaccess요청에 영향을 미칠 수 있는지 여부를 결정합니다. Apache는 섹션 AllowOverride내의 지시문만 인정합니다 <Directory>. 가상 호스트의 최상위 레벨이나 관련 없는 블록에 해당 줄을 배치하면 ownCloud 파일에 대해 해당 지시문이 활성화되지 않습니다. 더 광범위한 <Directory>규칙, 더 구체적인 규칙 또는 다른 활성화된 가상 호스트로 인해 사용자가 편집한 설정이 요청을 처리하는 데 적용되지 않을 수도 있습니다.

ownCloud의 최신 Server 10.16 설치 안내에 따르면 AllowOverride AllownCloud 문서 루트 디렉터리 블록에 "모두" 권한을 부여하면 해당 범위의 Apache 모듈에서 지원하는 오버라이드 클래스가 모두 허용됩니다. Apache의 전역 파일 시스템 정책을 변경하는 대신, 해당 권한을 ownCloud 디렉터리에만 제한적으로 적용하십시오. Apache 설명서에는 AllowOverrideList특정 지시문만 허용하려는 관리자를 위한 내용도 나와 있지만, 허용 범위를 좁히려면 ownCloud 버전 및 함께 제공되는 .htaccess규칙과의 호환성을 신중하게 테스트해야 합니다.

ownCloud 디렉터리 블록 내에서 AllowOverride All을 사용하는 Apache 가상 호스트 예제
가상 호스트의 예는 AllowOverride All디렉터리 블록 내부에 있습니다 /var/www/owncloud.

Apache를 변경하기 전에

  • 제품이 ownCloud Server(Classic)인지 확인하고 웹 루트의 정확한 파일 시스템 경로를 파악하십시오. 예를 들어, URL이 /cloudApache를 통해 Alias디스크상의 다른 디렉터리로 매핑될 수 있습니다.
  • 활성화된 가상 호스트와 구성 파일을 찾으십시오. Debian 또는 Ubuntu에서는 일반적으로 `/etc/virtualhost/hosts` /etc/apache2/sites-available/및 `/etc/virtualhost/hosts`에 있습니다 /etc/apache2/apache2.conf. RHEL 계열 시스템에서는 Apache 구성 파일이 일반적으로 `/etc/virtualhost/hosts` 아래에 있습니다 /etc/httpd/. 호스팅 패널과 컨테이너는 다른 경로를 사용할 수도 있습니다.
  • 파일을 편집하기 전에 백업하고 기존의 TLS, 프록시, 액세스 제어 및 ownCloud 설정 내용을 모두 보존하십시오.
  • 다른 AllowOverride None규칙이나 디렉터리 규칙이 동일한 경로에 적용되는지 확인하십시오. ownCloud 호스트 이름에 대해 활성화되지 않은 기본 사이트 파일은 편집하지 마십시오.

자체 관리형 Apache 서버 수정하기

1. 활성 구성을 편집합니다.

Debian 또는 Ubuntu 시스템에서 ownCloud 호스트 이름을 제공하는 가상 호스트를 엽니다. 예를 들면 다음과 같습니다.

sudo nano /etc/apache2/sites-available/owncloud.conf

해당 파일 내에서 ownCloud 설치 디렉터리에 대한 섹션을 찾거나 추가하세요 <Directory>. 다음은 관련 위치를 보여주는 최소한의 예시입니다. 서버에서 이미 필요한 추가 지시문은 그대로 유지하세요.

<Directory /var/www/owncloud/>
    Options +FollowSymlinks
    AllowOverride All
    Require all granted
</Directory>

/var/www/owncloud/실제 경로로 바꾸십시오 . Apache가 URL을 매핑하는 경우 Alias, URL 경로뿐만 아니라 ownCloud 파일이 포함된 파일 시스템 디렉터리를 구성해야 합니다. ownCloud의 Apache 설치 가이드에는 추가 구성 참고 사항이 포함되어 있습니다. 사용 중인 ownCloud 버전 및 PHP 설정에 맞는 예제를 참조하십시오.

2. 모듈과 구문을 확인하세요

<p> 태그가 없는 깔끔한 URL을 사용하려면 index.phpownCloud 문서 mod_rewrite와 mod_env같은 필수 조건을 충족해야 합니다. Debian 또는 Ubuntu에서는 URL 재작성 모듈이 활성화되어 있지 않으면 활성화하십시오.

sudo a2enmod rewrite
sudo apachectl -t

구성 테스트는 완료되어야 합니다 Syntax OK. 오류가 발생하면 재로드하기 전에 해당 오류를 수정하십시오. 구문 검사가 성공하면 Apache가 구성 파일을 구문 분석할 수 있음을 증명하는 것이지, 올바른 가상 호스트가 활성화되었거나 실행 중인 프로세스가 수정된 파일을 로드했음을 증명하는 것은 아닙니다.

터미널에서 Apache 설정 테스트가 구문 오류를 반환하는 것을 확인했습니다.
Apache 구성 테스트는 Syntax OK서비스를 재시작하기 전에 완료되어야 합니다.

3. Apache를 재시작하고 ownCloud를 테스트합니다.

Debian 또는 Ubuntu 시스템에서는 구문 검사가 성공한 후 Apache를 다시 로드하십시오.

sudo systemctl reload apache2

RHEL 계열 시스템에서는 서비스 이름이 일반적으로 이므로 httpd, 해당 서비스 이름과 배포판의 configuration-test 명령어를 일치시켜 사용하십시오. 서비스 구조를 확인하지 않고는 Debian 관련 명령어를 다른 시스템에 복사하지 마십시오.

브라우저에서 ownCloud 호스트 이름을 열고 이전에 URL 재작성이 필요했던 페이지를 테스트해 보세요. 서버에서 `<url>`과 같은 경로 접두사를 사용하는 경우 /cloud, 접두사가 붙은 URL도 테스트해 보세요. 리디렉션 루프, 403 응답 또는 Apache 500 오류가 발생하는 경우 구성에 대한 추가 조사가 필요합니다. 관련 없는 지시문을 반복적으로 변경하기보다는 Apache 오류 로그와 ownCloud 로그를 확인하세요.

터미널에 rewrite 모듈이 활성화되었고 Apache 서비스가 다시 로드되었다는 메시지가 표시됩니다.
필요한 경우에만 활성화하고 mod_rewrite, 구문 검사가 성공적으로 완료되면 Apache 서비스를 다시 로드하십시오.

경고 메시지가 계속 표시되는 경우

증상다음 확인
경고 메시지가 새로 고침 후에도 남아 있습니다.수정된 가상 호스트가 활성화되어 호스트 이름을 제공하는지 확인 apachectl -S하고, 하위 수준 또는 더 구체적인 디렉터리 규칙이 있는지 검사하십시오.
깔끔한 URL에는 여전히 다음이 포함됩니다.index.phpmod_rewrite해당 기능이 활성화되어 있는지, ownCloud 디렉터리에 의도한 재정의 권한이 있는지, 그리고 ownCloud의 재작성 기준 경로가 URL 경로와 일치하는지 확인하십시오 .
관리자 페이지에는 데이터 디렉터리가 공개적으로 접근 가능할 수 있다고 나와 있습니다.가능하면 데이터 디렉터리가 웹 루트 외부에 있는지 확인하십시오. 그렇지 않은 경우, 제공된 데이터 디렉터리가 .htaccess존재하고 읽기 가능하며 Apache에서 제대로 인식되는지 확인하십시오. 경고를 지우는 것만으로는 디렉터리를 보호하는 것을 대체할 수 없습니다.
Apache는 500 오류를 반환하거나 "여기에 허용되지 않습니다"라고 보고합니다.Apache 오류 로그를 확인하십시오. .htaccess활성화된 재정의 클래스에서 해당 지시문이 허용되지 않거나 필수 모듈을 사용할 수 없을 수 있습니다.
컨테이너 또는 관리형 호스트에서 실행이미지에 문서화된 Apache 설정 또는 공급자의 제어판을 검사하십시오. 호스트 수준의 Apache 파일이 요청을 처리하는 서버가 아닐 수도 있습니다.

ownCloud에서 .htaccess파일 업데이트가 불가능하다는 보고가 있을 경우, 변경하기 전에 ownCloud의 업그레이드 및 보안 강화 지침에 따라 소유권 및 쓰기 권한을 확인하십시오. 웹 서버에서 전체 설치 파일을 쓰기 가능하게 만드는 것은 지름길이 될 수 있으므로 피해야 합니다. ownCloud 설명서에 따르면 구성 세부 정보는 설치 환경에 따라 다르며, PHP-FPM은 `/etc/php.php` 파일의 PHP 설정을 사용하지 않습니다 . .htaccess해당 설정은 `/etc/php.php` 파일에 있어야 합니다 .user.ini. 이러한 PHP 설정의 차이점 자체는 Apache가 ownCloud의 재작성 및 접근 규칙을 처리해야 하는 필요성을 대체하는 것은 아닙니다.

검증 체크리스트

  1. 경로 <Directory>가 디스크에 있는 ownCloud 파일의 경로와 정확히 일치합니다.
  2. 일치하는 블록에는 가 포함되어 있으며 AllowOverride All, 활성화된 충돌 규칙이 우선합니다.
  3. sudo apachectl -t반환됩니다 Syntax OK.
  4. Apache가 올바른 서비스 이름을 사용하여 다시 로드되었습니다.
  5. ownCloud 로그인 페이지와 이전에 문제가 발생했던 URL은 예상대로 HTTPS를 통해 로드됩니다.
  6. 관리자 개요 화면에서 새로 고침 후 더 이상 동일한 경고 메시지가 표시되지 않지만, 데이터 디렉터리는 여전히 공용 웹에서 접근할 수 없습니다.
터미널에서 trusted-domains 검사를 수행하는 구성된 호스트 이름에서의 ownCloud 로그인 페이지 예시
구성된 호스트 이름에서 ownCloud에 로그인했을 때의 예시 페이지입니다. 실제 경고 상태는 관리자 개요에서 확인하세요.

공식 참조

댓글 남기기

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 10가지

빠른 LAN 검색, 플랫폼 간 스캔 및 IP 주소 관리를 위한 10가지 핑 스윕 도구를 비교해 보세요. 스윕을 통해 무엇을 알 수 있고 무엇을 알 수 없는지 알아보세요.

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

성능 추적을 위한 최고의 네트워크 관리 도구 6가지

SNMP 적용 범위, 매핑, 알림, 배포 모델 및 비용 대비 효과를 포함하여 성능 모니터링을 위한 6가지 네트워크 관리 도구를 비교합니다.

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iOS 및 Android용 최고의 Wi-Fi 분석기

Windows, iPhone, Android용 Wi-Fi 분석 앱들을 비교해 보세요. 채널 혼잡도, 신호 범위, 히트맵, 네트워크 문제 해결 도구 등을 포함합니다.

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

핑 모니터: 네트워크 가용성을 위한 7가지 무료 오픈소스 도구

종합적인 네트워크 관리 도구부터 특정 지연 시간 측정에 특화된 도구까지, 7가지 무료 오픈 소스 핑 모니터링 도구를 비교하고 가용성, 패킷 손실률, 기록 관리에 적합한 도구를 선택하세요.

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서의 QoS: 서비스 품질(QoS)이란 무엇이며 어떻게 작동하는가

네트워킹에서 QoS가 무엇을 의미하는지, DSCP 마킹과 트래픽 큐가 음성, 비디오 및 비즈니스 애플리케이션의 우선순위를 어떻게 지정하는지, 그리고 QoS로 해결할 수 없는 문제는 무엇인지 알아보세요.

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap을 사용하여 트레이서루트를 실행하고 네트워크 경로를 읽는 방법

Nmap의 --traceroute 옵션을 사용하여 홉을 인증된 호스트로 매핑하고, 홉 및 RTT 출력을 이해하고, 과도한 스캔 없이 누락된 응답 문제를 해결할 수 있습니다.

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

안전한 파일 전송을 위한 최고의 SFTP 서버 소프트웨어

Windows 및 Linux용 안정적인 SFTP 서버 소프트웨어(OpenSSH, Bitvise, SolarWinds, SFTPGo 등)를 비교해 보세요. 보안 및 파일 전송 요구 사항에 맞는 최적의 솔루션을 찾아보세요.

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

네트워크 팀을 위한 최고의 IP 주소 관리 도구 7가지

서브넷 검색, DNS 및 DHCP 조정, 네트워크 인벤토리, 오픈 소스 IPAM을 위한 7가지 IP 주소 관리 도구를 비교합니다.

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

네트워크 모니터링 모범 사례: 추적 대상 및 사용 도구

SolarWinds NPM, PRTG 및 OpManager를 비교하여 명확한 장치 범위, 유용한 성능 지표, 실행 가능한 알림을 통해 실용적인 네트워크 모니터링 시스템을 구축하십시오.

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

기기 및 IP 주소 검색을 위한 최고의 네트워크 스캐너 도구 10가지

빠른 장치 검색, 플랫폼 간 IP 스캔 및 엔터프라이즈 IPAM을 위한 네트워크 스캐너 도구를 비교하고, 각 옵션을 네트워크에 맞게 선택하는 방법에 대한 지침을 제공합니다.