OCC를 사용하여 Nextcloud 유지 관리 모드가 계속 켜져 있는 문제 해결

Nextcloud 업데이트를 완료했지만 모든 사용자에게 여전히 유지 관리 페이지가 표시되는 경우가 있습니다. 또는 업그레이드가 중단되어 사이트가 다시 온라인 상태가 되지 않을 수도 있습니다. 유지 관리 모드를 비활성화하는 OCC 명령은 간단하지만, 업그레이드 상태를 확인하기 전에 이 명령을 실행하면 설치가 완료되지 않은 상태가 드러날 수 있습니다. 먼저 관리 중인 Nextcloud 인스턴스를 확인하고 데이터베이스 업그레이드가 여전히 필요한지 확인하십시오.

예시: 소규모 사무실에서 우분투 운영체제에 Nextcloud를 설치하여 사용하고 있다고 가정해 보겠습니다. 예정된 업데이트가 새로운 코드 파일 배포 후 중단되었고, 웹 페이지에는 여전히 서버가 유지보수 모드라고 표시됩니다. 이 예시는 가상의 상황이며, 실제 사고 보고나 테스트가 아닌 아래의 점검 사항들을 적용해 보기 위한 예시입니다.

유지보수 모드란 무엇인가

Nextcloud 유지보수 모드는 관리자가 업그레이드 또는 백업과 같은 작업을 수행하는 동안 일반 사용자 액세스를 차단합니다. 이 모드는 서버 전체에 적용되므로 웹 서버가 실행 중일 때도 사용자에게 유지보수 알림이 표시될 수 있습니다. Nextcloud의 최신 관리 설명서에는 이 모드를 활성화 또는 비활성화하는 OCC 명령어가 설명되어 있으며, 모드를 끈 후에는 브라우저를 새로 고쳐야 할 수도 있다고 안내되어 있습니다.

예시로 든 사무실의 경우, 유지보수 페이지만으로는 관리자가 업그레이드가 완료되었는지 여부를 알 수 없습니다. 모드를 변경하기 전에 Nextcloud 자체에 문의해야 합니다.

1단계: 설치 유형 및 OCC 경로를 확인합니다.

여기에 제시된 명령어 예시는 Ubuntu에 일반적인 아카이브 기반 Nextcloud 설치를 기준으로 하며, 코드는 에 있고 /var/www/nextcloud웹 서버 계정 이름은 입니다 www-data. Nextcloud 문서 파일은 occ설치 디렉터리에 있으며 HTTP 사용자 권한으로 실행해야 합니다. Debian 및 Ubuntu에서 해당 사용자는 일반적으로 입니다 www-data.

이 표준 레이아웃을 사용하려면 설치 디렉토리로 이동하십시오.

cd /var/www/nextcloud

Nextcloud 파일이 다른 위치에 있는 경우 해당 경로를 사용하십시오. Snap, Docker, 어플라이언스 및 관리형 호스팅은 서로 다른 명령 래퍼 또는 파일 시스템 레이아웃을 사용합니다. 컨테이너 설치 환경에서는 `host` 명령을 실행하지 마십시오. 또한 아카이브 경로가 해당 배포 환경에 적용된다고 가정하지 마십시오. 공식 Nextcloud 업그레이드 가이드 에 설명된 대로 설치 방법에 맞는 업데이트 지침을 따르십시오 .

사무실 환경의 경우, 관리자는 OCC를 실행하기 전에 배포 노트를 확인하고 이것이 아카이브 설치인지 확인합니다.

2단계: 유지 관리를 비활성화하기 전에 Nextcloud의 상태를 확인하세요.

파일과 구성 파일의 소유권이 원래대로 유지되도록 OCC를 웹 서버 계정으로 실행하십시오.

sudo -E -u www-data php occ status

maintenance및 필드 를 살펴보세요 needsDbUpgrade. 최신 버전에서는 상태 종료 코드도 지원합니다.

sudo -E -u www-data php occ status -e
echo $?

스크립트로 출력을 확인할 때 문서화된 종료 코드가 유용합니다. 0는 정상 작동을 나타내고, 1는 유지 관리 모드가 활성화되었음을 의미하며, 는 필수 2사항임을 나타 occ upgrade냅니다. 일반 상태 출력도 검토해야 하며, 사이트를 다시 열어야 할지 여부를 결정할 때 종료 코드만 사용해서는 안 됩니다.

가상의 사무실 서버의 경우, 만약 needsDbUpgradetrue이거나 status -e를 반환한다면 2, 다음 단계는 유지 관리 모드를 끄는 것이 아니라 업그레이드를 완료하는 것입니다.

3단계: 미완료된 업그레이드를 먼저 완료하세요

Nextcloud 코드 업그레이드가 의도적으로 배포되었고 OCC에서 데이터베이스 업그레이드가 필요하다고 보고하는 경우, 진행하기 전에 데이터베이스, 구성 및 데이터의 최신 백업을 생성하거나 확인하십시오. 그런 다음 설치 디렉터리에서 문서에 설명된 명령을 실행하십시오.

sudo -E -u www-data php occ upgrade

명령 출력 결과를 읽고 완료될 때까지 기다리세요. 마이그레이션이 실행되는 동안 웹 페이지는 변경되지 않은 것처럼 보일 수 있으므로 중단하지 마세요. 내장 업데이트 프로그램은 코드 교체 또는 occ upgrade실패 시 유지 관리 모드를 활성화된 상태로 유지할 수 있습니다. 업데이트 프로그램 자체가 코드 교체를 완료하지 못한 경우, 로그를 확인하고 해당 설치 환경에 맞는 업데이트 프로세스를 다시 시작하세요 maintenance:mode --off. Nextcloud의 내장 업데이트 프로그램 지침에는 업데이트 단계가 설명되어 있으며, 업데이트 프로그램 로그를 진단 리소스로 활용할 수 있다고 안내되어 있습니다.

예시에서 사무 관리자는 occ upgrade데이터베이스 마이그레이션이 보류 중이고 예상되는 새 코드가 적용된 경우에만 명령을 실행합니다. 명령 실행 시 오류가 발생하면 서버를 사용할 수 없도록 유지하고 먼저 해당 오류를 조사합니다.

4단계: OCC를 사용하여 유지 관리 모드를 끄십시오.

업그레이드가 완료되고 상태에 더 이상 데이터베이스 업그레이드가 필요하다는 메시지가 표시되지 않으면 Nextcloud의 내장 명령어를 사용하여 유지 관리 모드를 비활성화하십시오.

sudo -E -u www-data php occ maintenance:mode --off

명령이 성공적으로 실행되면 유지 관리 모드가 비활성화되었다는 메시지가 표시됩니다. 이는 표준 설치에서 모드를 변경하는 지원되는 방법이며, 수동으로 파일을 수정하는 대신 Nextcloud 자체 명령 인터페이스 내에서 상태 변경을 유지할 수 있습니다 config.php.

예시로 든 사무실 관리자는 이제 마이그레이션이 완료된 후에만 이 명령을 실행합니다. 업그레이드가 진행 중이지 않았고 설치 상태가 준비된 것으로 표시된 경우, 동일한 명령을 사용하여 예정된 유지 관리 후 남아 있는 유지 관리 플래그를 해제할 수 있습니다.

5단계: 상태 및 웹 인터페이스를 확인합니다.

상태를 다시 확인하세요:

sudo -E -u www-data php occ status
sudo -E -u www-data php occ status -e

설치가 완료되면 , , 그리고 정상적인 종료 코드가 표시될 것입니다 maintenance: false. needsDbUpgrade: false그런 0다음 새 개인 정보 보호 모드 브라우저 창에서 사이트를 열고 관리자 계정으로 로그인하십시오. 세션이 여전히 차단되었는지 확인하기 전에 일반 사용자 한 명에게 브라우저를 새로 고침하도록 요청하십시오.

예시 시나리오에서 성공이란 OCC 상태와 웹 페이지 모두 인스턴스가 다시 온라인 상태가 되었음을 나타내는 것을 의미합니다. 이 가상 예시는 실제로 어떤 명령이 실행되었거나 실제 서버가 복구되었다는 것을 주장하는 것은 아닙니다.

유지보수 페이지가 남아 있는 경우

OCC는 유지보수가 거짓이라고 말합니다.

OCC를 실행한 대상이 되는 URL이 설치된 환경과 동일한 환경에서 실행했는지 확인하십시오. 이는 로드 밸런싱 환경, 여러 컨테이너가 있는 Docker 호스트, 또는 기존 Nextcloud 디렉터리와 새 Nextcloud 디렉터리가 나란히 있는 서버에서 특히 중요합니다. 실제 문서 루트 또는 컨테이너 경로를 확인하고 문제가 발생한 URL의 인스턴스를 쿼리하십시오. 각 웹 노드에 고유한 구성이 있는 경우, 모든 노드가 의도한 구성과 데이터베이스를 공유하는지 확인하십시오.

올바른 인스턴스에서 유지보수 비활성화됨으로 보고되는 경우, 서버의 원본 페이지와 공개 URL을 비교하십시오. 리버스 프록시 또는 캐시가 오래된 응답을 제공하고 있을 수 있습니다. 유지보수 페이지를 반환한 계층을 확인한 후에만 해당 캐시를 삭제하거나 우회하십시오.

OCC를 실행할 수 없거나 PHP 오류가 발생합니다.

명령어가 웹 설치와 호환되는 PHP CLI 버전 및 필요한 확장 프로그램을 사용하는지 확인하십시오. Nextcloud는 CLI PHP에서 APCu가 기본적으로 비활성화되어 있으며, APCu를 로컬 캐시로 구성할 경우 OCC 오류가 발생할 수 있다고 명시하고 있습니다. 매뉴얼에는 apc.enable_cliCLI PHP 구성에서 APCu를 활성화하거나 --define apc.enable_cli=1적절한 경우 PHP 명령어에 추가하는 방법이 설명되어 있습니다.

sudo -E -u www-data php --define apc.enable_cli=1 occ status

이 방법은 오류가 APCu CLI 문제임을 나타낼 때만 사용하십시오. 모든 PHP 오류에 대한 일반적인 해결 방법이 아닙니다. 또한 명령이 올바른 웹 사용자 계정으로 올바른 설치 디렉터리에서 실행되는지 확인하십시오.

데이터베이스 업그레이드가 여전히 필요합니다.

이 상태를 숨기기 위해 유지 관리 플래그를 강제로 해제하지 마십시오. 업데이트 프로그램 출력 및 로그를 다시 확인하고 올바른 Nextcloud 코드 릴리스가 설치되었는지 확인한 후 설치 유형에 맞는 지원되는 업그레이드 절차를 완료하십시오. 공식 OCC 시스템 및 유지 관리 명령 참조 문서 maintenance:mode, status, 및 명령줄 업그레이드를 참조하십시오.

유지보수 기간을 잘 관리하세요

유지 관리 모드를 비활성화하면 사용자가 인스턴스에 다시 액세스할 수 있으므로 데이터베이스 업그레이드 및 필요한 코드 교체가 완료되었는지 먼저 확인하십시오. 유지 관리 모드를 유발한 작업을 완료하지 않고 업데이트 파일을 수동으로 삭제하거나 구성 파일에서 유지 관리 설정을 편집하는 것은 첫 번째 조치로 피하십시오.

가상의 사무실 환경에서 가장 안전한 해결책은 간단합니다. 설치가 올바르게 되었는지 확인하고, 상태를 점검하고, 필요한 업그레이드를 완료한 다음, maintenance:mode --offOCC와 브라우저를 실행하고 검증합니다. 업그레이드가 원활하게 완료되지 않으면 유지 관리 모드를 유지하고 업데이트 로그 또는 설치별 복구 절차를 통해 문제를 해결하십시오.

댓글 남기기

iPhone에서 Zimbra ActiveSync 연결 오류 해결하기

iPhone에서 Zimbra ActiveSync 연결 오류 해결하기

iPhone에서 Zimbra ActiveSync 오류를 해결하려면 계정 정보, 자격 증명, 인증서, 네트워크 경로 및 서버 정책을 확인하고 안전한 대안을 비교해 보세요.

ownCloud Infinite Scale과 Nextcloud 28 비교: 성능 및 RAM 사용량 설명

ownCloud Infinite Scale과 Nextcloud 28 비교: 성능 및 RAM 사용량 설명

ownCloud Infinite Scale과 Nextcloud 28의 아키텍처, 성능 동작, RAM 요구 사항, 캐싱, 확장성 및 실제 배포 시 고려 사항을 비교합니다.

Nextcloud "트랜잭션 파일 잠금이 구성되지 않았습니다" 오류 해결 방법

Nextcloud "트랜잭션 파일 잠금이 구성되지 않았습니다" 오류 해결 방법

Nextcloud의 트랜잭션 파일 잠금 경고를 해결하려면 배포 환경을 확인하고, Redis 또는 KeyValueCache를 구성하고, 관련 서비스를 재시작하고, 파일 작업을 검증하십시오.

Zimbra에서 외부 LDAP 인증을 구성하는 방법

Zimbra에서 외부 LDAP 인증을 구성하는 방법

실용적인 CLI 예제, TLS 안내, 바인드 DN 및 검색 필터 패턴, 검증 단계, 롤백 확인 등을 통해 Zimbra용 외부 LDAP 인증을 구성하세요.

BigBlueButton에서 자동 녹음 정리 기능을 설정하는 방법

BigBlueButton에서 자동 녹음 정리 기능을 설정하는 방법

cron, 보존 규칙, 로그 및 검증 기능을 사용하여 BigBlueButton 녹화 파일 정리 작업을 안전하게 자동화하세요. 원시 데이터 정리와 전체 녹화 파일 삭제를 비교해 보세요.

Jitsi Meet 라이브 스트리밍을 RTMP를 통해 YouTube로 설정하는 방법

Jitsi Meet 라이브 스트리밍을 RTMP를 통해 YouTube로 설정하는 방법

Jitsi Meet을 YouTube로 스트리밍하는 데 Jibri와 OBS를 비교하고, 올바른 경로를 설정하고, 스트림 키를 안전하게 사용하고, 라이브 미리보기를 확인하세요.

BigBlueButton과 Jitsi 비교: 리소스 사용량 및 기능 매트릭스

BigBlueButton과 Jitsi 비교: 리소스 사용량 및 기능 매트릭스

BigBlueButton과 Jitsi Meet을 서버 크기 산정, 녹화 비용, 교육 도구, 확장성, 그리고 자체 호스팅 배포를 선택하거나 크기를 조정해야 할 때 참고할 수 있는 실질적인 지표를 기준으로 비교합니다.

OCC를 사용하여 Nextcloud 유지 관리 모드가 계속 켜져 있는 문제 해결

OCC를 사용하여 Nextcloud 유지 관리 모드가 계속 켜져 있는 문제 해결

OCC를 사용하여 멈춘 Nextcloud 유지 관리 페이지를 안전하게 닫고, 업그레이드가 완료되지 않았는지 확인하고, 인스턴스가 사용자를 위해 준비되었는지 확인합니다.

Zimbra 발신 메일 지연 오류 해결: "포트 25 연결 시간 초과"

Zimbra 발신 메일 지연 오류 해결: "포트 25 연결 시간 초과"

Zimbra 발신 메일 지연 오류(포트 25)를 진단합니다. 큐, MX DNS, 방화벽, 공급자 차단을 확인하고 승인된 SMTP 릴레이를 구성하십시오.

Conduit을 사용하여 Raspberry Pi 4에 Matrix 서버를 설정하는 방법

Conduit을 사용하여 Raspberry Pi 4에 Matrix 서버를 설정하는 방법

Conduit, Docker, NGINX, HTTPS, 회원 관리, 연동 및 검사 기능을 갖춘 경량 Matrix 홈서버를 Raspberry Pi 4에 설치합니다.