ownCloud Apache .htaccess 경고를 안전하게 제거하는 방법

Apache 호스팅 ownCloud Classic 설치 환경에서 "AllowOverride All" 또는 ".htaccess가 작동하지 않습니다" 경고가 발생하는 경우, 활성 가상 호스트의 ownCloud 웹 루트에 AllowOverride All해당하는 Apache 블록 내에 다음 설정을 추가하여 문제를 해결 <Directory>하십시오. Apache 구성을 테스트하고 서비스를 재시작한 후 ownCloud 관리 개요를 새로 고치십시오. 전체 파일 시스템에 대한 재정의를 활성화하지 마십시오.

Apache 가상 호스트 편집기에서 DocumentRoot와 AllowOverride All이 설정된 ownCloud Directory 블록이 표시됩니다.
해당 재정의는 ownCloud의 파일 시스템 경로와 일치하는 Apache 디렉터리 블록에 있어야 합니다.

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

Apache의 AllowOverride지시문은 파일이 적용할 수 있는 설정을 제어합니다 .htaccess. ownCloud 디렉터리에 대해 재정의가 비활성화된 경우 Apache는 ownCloud에서 제공하는 .htaccess파일의 규칙을 무시할 수 있습니다. 이는 URL 재작성 및 보안 규칙에 영향을 미칠 수 있으므로 ownCloud의 최신 10.16 매뉴얼 AllowOverride All에서 Apache 설정 예제에 이 내용을 포함하고 있습니다.

이 지시문은 Apache 섹션에서만 유효합니다 . `<script>` 블록 이나 URL 경로 <Directory>내에는 사용할 수 없습니다 . 또한 Apache는 관리자에게 전역 블록에서 재정의를 활성화하지 말고, 대신 ownCloud 설치 디렉터리에 설정을 적용하도록 권장합니다. 자세한 내용은 ownCloud 10.16 Apache 설치 가이드 및 Apache 참조 문서를 확인하세요 ..htaccess<Location><Directory "/">AllowOverride

Apache를 편집하기 전에

  • ownCloud를 처리하는 웹 서버가 Apache인지 확인하십시오. 이 지시문은 Nginx를 구성하지 않습니다. Apache가 프록시 서버 뒤에 있는 경우 ownCloud 파일을 제공하는 Apache 호스트를 확인하십시오.
  • ownCloud의 실제 설치 경로(예: )를 찾으세요 /var/www/owncloud. 브라우저 URL(예: )이 아닌 Apache가 제공하는 파일 시스템 경로를 사용해야 합니다 /owncloud.
  • 가상 호스트 파일을 변경하기 전에 백업하십시오. Debian 또는 Ubuntu에서는 ownCloud 가이드에서 해당 파일의 위치를 ​​지정합니다 /etc/apache2/sites-available/owncloud.conf. 다른 배포판에서는 위치가 다를 수 있습니다.
  • HTTP 및 HTTPS 가상 호스트가 분리되어 있는지 확인하십시오. ownCloud 요청을 처리하는 가상 호스트에 설정을 적용하십시오. 두 가상 호스트 모두 파일을 직접 제공하는 경우, 두 호스트를 일관되게 구성하십시오.

Debian 또는 Ubuntu 시스템에서 sudo apachectl -SApache의 가상 호스트와 해당 호스트를 정의하는 구성 파일을 나열합니다. 이렇게 하면 HTTPS 가상 호스트가 ownCloud를 계속 제공하는 동안 사용하지 않는 기본 사이트를 수정하는 것을 방지할 수 있습니다.

해당 디렉터리 블록에 지시문을 추가하세요

활성화된 vhost 파일을 열고 기존 ownCloud <Directory>섹션을 찾습니다. 해당 위치에 줄을 추가하거나 수정합니다. 표준 설치의 경우 /var/www/owncloud관련 부분은 다음과 같을 수 있습니다.

DocumentRoot /var/www/owncloud

<Directory /var/www/owncloud/>
  Options +FollowSymLinks -Indexes
  AllowOverride All
  Require all granted
</Directory>

이 간단한 예제를 사용하여 전체 vhost를 교체하는 대신 기존 구성에 설정을 병합하세요. ownCloud 디렉터리가 다른 위치에 있는 경우 두 경로를 실제 경로로 바꿔야 합니다. Apache는 디렉터리 경로가 파일에 사용하는 파일 시스템 경로와 일치해야 합니다.

All이 설정은 파일 에 허용된 모든 지시문이 해당 디렉터리의 서버 설정을 재정의할 수 있도록 합니다 . 이는 광범위한 권한이므로 이 설정 블록은 ownCloud 웹 루트에만 적용해야 합니다. 경고 메시지를 없애기 위해 , , 또는 관련 없는 사이트를 .htaccess변경하지 마십시오 .AllowOverride None//var/www

테스트, 재로드 및 검증

Debian 또는 Ubuntu에서 ownCloud는 mod_rewriteApache 설정에 필요한 문서를 제공합니다. Apache가 활성화되어 있지 않으면 다음 명령으로 활성화하십시오.

sudo a2enmod rewrite

적용하기 전에 구성을 확인하십시오.

sudo apachectl -t

Apache에서 오류가 보고되면 계속 진행하십시오 Syntax OK. Apache를 다시 로드하여 업데이트된 vhost를 읽도록 하십시오.

sudo systemctl reload apache2

서비스 이름을 사용하는 배포판의 경우 해당 배포판의 configuration-test 및 reload 명령을 사용하십시오. ownCloud의 설정 > 관리 > 개요httpd 로 돌아가서 페이지를 새로 고침하십시오. Apache가 편집된 vhost를 읽고 ownCloud의 . 을 처리하면 경고가 사라져야 합니다..htaccess

a2enmod rewrite 명령어가 실행 중인 Linux 터미널 화면으로, Apache rewrite 모듈이 활성화되어 있음을 보여줍니다.
ownCloud의 재작성 동작과 관련된 경고가 표시되는 경우 Apache의 재작성 모듈이 활성화되어 있는지 확인하십시오.
Apache를 재시작하기 전에 `apachectl -t` 명령을 실행했을 때 "Syntax OK"라는 메시지가 표시되는 Linux 터미널 화면입니다.
서비스를 다시 시작하기 전에 Apache 구성을 검증하십시오.
AllowOverride 경고가 표시되지 않는 ownCloud 스타일의 관리자 개요 페이지
페이지를 새로 고친 후 관리자 개요로 돌아가서 .htaccess 경고가 사라졌는지 확인하십시오.

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

  • 활성화된 vhost를 확인하십시오. 다시 실행 sudo apachectl -S하고 변경된 파일이 ownCloud에서 사용하는 호스트 이름과 포트에 해당하는지 확인하십시오. AllowOverride All일치하지 않는 블록 내의 줄은 아무런 효과가 없습니다.
  • 정확한 경로와 섹션을 확인하십시오. 블록이 실제 섹션인지 <Directory /path/to/owncloud/>, 경로가 설치 디렉터리와 일치하는지 확인하십시오. Apache는 AllowOverride와 .htaccess를 무시합니다 <Location>.
  • 오래된 ownCloud 규칙은 필요할 때만 다시 생성하십시오. 가상 호스트가 올바르지만 ownCloud의 재작성 규칙을 업데이트해야 하는 경우, 해당 매뉴얼 문서를 참조하십시오 occ maintenance:update:htaccess. ownCloud 디렉터리에서 웹 서버 사용자로 실행하십시오(예: ) sudo -u www-data php occ maintenance:update:htaccess. 웹 서버 사용자는 이 업데이트를 위해 제공된 파일을 쓸 수 있는 권한이 있어야 합니다 .htaccess. 파일에 모든 사용자가 쓰기 권한을 갖도록 설정하지 마십시오. 설치 지침에 따라 소유권 또는 권한을 수정하십시오.
  • 500 오류 발생 후 Apache 오류 로그를 확인하세요. 구문 검사는 Apache의 주요 구성을 검증하지만, .htaccess해당 모듈이 없거나 지시문이 허용되지 않는 경우 지시문이 제대로 작동하지 않을 수 있습니다. 오류 로그를 사용하여 특정 모듈 또는 규칙을 식별하세요.

ownCloud의 문서화된 index.php 없는 URL 설정에는 쓰기 가능한 루트 디렉터리가 필요합니다 mod_rewrite. mod_env이는 .htaccess관련 재작성 구성일 뿐, ownCloud 디렉터리 범위를 넘어 재작성 범위를 넓혀야 할 이유는 아닙니다. PHP-FPM을 사용하는 경우 Apache 재작성 경고를 해결하기 위해 PHP 핸들러를 변경하는 대신 해당 설치에 대한 ownCloud의 최신 지침을 따르십시오. 데이터 디렉터리가 공개적으로 접근 가능할 수 있다는 경고가 표시되면 데이터 디렉터리가 웹 루트 외부에 있거나 명시적인 Apache 규칙으로 보호되는지 확인하십시오. 경고를 없애는 것만으로 .htaccess는 개인 파일에 직접 접근할 수 없다는 것을 보장할 수 없습니다.

문서화된 동작 및 플랫폼 제한 사항에 대해서는 ownCloud의 index.php-less URL 안내 및 OCC 명령 참조를 확인하십시오 .

댓글 남기기

ownCloud Apache .htaccess 경고를 안전하게 제거하는 방법

ownCloud Apache .htaccess 경고를 안전하게 제거하는 방법

ownCloud의 웹 루트에만 AllowOverride All을 설정하고, 활성 Apache vhost를 확인한 다음, 안전하게 페이지를 새로 고침하여 .htaccess 규칙을 복원하십시오.

ownCloud Enterprise 감사 설정 및 로그 검증

ownCloud의 엔터프라이즈 감사 앱을 활성화하고, admin_audit 이벤트를 보호된 로그 파일로 라우팅하고, 실제 사용자 작업이 기록되는지 확인하십시오.

OIDC를 사용하여 ownCloud Infinite Scale을 Keycloak에 연결합니다.

OIDC를 사용하여 ownCloud Infinite Scale을 Keycloak에 연결합니다.

Keycloak의 영역 발급자, 웹 클라이언트 및 사용자 클레임을 정렬하여 ownCloud Infinite Scale이 웹 및 모바일 클라이언트 전반에서 사용자를 안정적으로 로그인할 수 있도록 합니다.

ownCloud 파일의 지분 손실 없이 새 소유자에게 파일을 이전하세요

ownCloud의 occ 명령어를 사용하여 소유 파일과 공유 폴더를 이전하고, 어떤 파일이 남는지 확인하고, 이전 계정을 삭제하기 전에 액세스 권한을 확인하세요.

인덱스를 안전하게 관리하여 ownCloud 10 쿼리 속도를 향상시키세요

ownCloud 10 데이터베이스 인덱스에 주의가 필요한 시점, 지원되는 스키마 업데이트를 안전하게 적용하는 방법, 그리고 쿼리 튜닝이나 데이터베이스 변경이 더 나은 해결책인 경우를 알아보세요.

Linux 마운트 없이 ownCloud에서 SMB/CIFS 공유를 마운트하는 방법

Windows 또는 Samba 네트워크 공유를 외부 저장소를 통해 ownCloud에 연결하고, 자격 증명을 확인하고, 액세스할 수 없는 폴더 문제를 안전하게 해결하세요.

occ 명령어를 사용하여 ownCloud 파일 버전을 안전하게 삭제하세요

occ 명령어를 사용하여 ownCloud 파일 버전을 안전하게 삭제하세요

계정 하나 또는 모든 사용자에 대해 저장된 모든 ownCloud Server Classic 파일 버전을 삭제하고, 전체 삭제와 보존 기간 만료를 구분할 수 있습니다.

ownCloud 모바일 연결이 거부되었나요? URL 및 연결 가능성을 확인하세요.

ownCloud 모바일 연결이 거부되었나요? URL 및 연결 가능성을 확인하세요.

ownCloud 모바일 연결 거부 문제를 추적하려면 서버 URL, 휴대폰 네트워크, HTTPS 엔드포인트 및 서버 로그를 올바른 순서대로 확인하십시오.

Systemd 타이머를 사용하여 ownCloud 백그라운드 작업을 안정적으로 실행하세요

온디맨드 작업 실행을 ownCloud에서 지원하는 occ system:cron 명령을 15분마다 실행하는 systemd 타이머로 대체합니다.

손상된 경로를 찾아 ownCloud WebDAV 동기화를 복원하세요

Apache, Nginx 또는 리버스 프록시를 통해 WebDAV 요청을 추적한 다음 인증된 PROPFIND 테스트를 사용하여 ownCloud 동기화가 제대로 작동하는지 확인하십시오.