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와 브라우저를 실행하고 검증합니다. 업그레이드가 원활하게 완료되지 않으면 유지 관리 모드를 유지하고 업데이트 로그 또는 설치별 복구 절차를 통해 문제를 해결하십시오.

댓글 남기기

네트워크에서 장치를 찾는 데 유용한 최고의 핑 스윕 도구 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을 위한 네트워크 스캐너 도구를 비교하고, 각 옵션을 네트워크에 맞게 선택하는 방법에 대한 지침을 제공합니다.