Nextcloud가 자체적으로 접속할 수 있도록 공개 URL을 설정하세요.
Nextcloud에서 발생하는 발신 주소 누락 경고를 해결하려면 정규 URL을 설정하고 서버 자체에서 DNS, HTTPS 및 역방향 프록시 라우팅을 확인하십시오.
Nextcloud 34.0.2 버전부터 Redis와 호환되는 KeyValueCache백엔드가 기본 제공되므로, 현재 Nextcloud 버전에서도 PHP의 Redis 확장 프로그램을 설치하지 않고 Redis를 사용할 수 있습니다. 단일 Ubuntu 24.04 서버에서 빠른 로컬 캐시를 위해 APCu를 사용하고, 분산 캐싱 및 트랜잭션 파일 잠금을 위해 Redis를 사용하며, 이 두 구성 요소는 Unix 소켓을 통해 연결됩니다. 이렇게 하면 Redis가 네트워크에 직접 연결되지 않고, Nextcloud는 PHP 요청 전반에 걸쳐 작동하는 공유 캐시를 사용할 수 있습니다.
현재 Nextcloud 35 관리 설명서에는 두 가지 Redis 경로가 나와 있습니다. Nextcloud 34.0.2 이상 버전에서는 KeyValueCacheNextcloud에 포함된 Predis를 사용하는 것이 좋습니다. Redis 서버를 설치하고 설정하기만 하면 되며 memcache.kvstore, 별도의 설정은 필요하지 않습니다 php-redis. 이전 Nextcloud 버전에서는 PhpRedis 확장 프로그램과 다른 config.php블록을 사용합니다. 설치 위치가 다른 경우 경로를 바꿔서 명령어로 버전을 확인하세요 sudo -u www-data php /var/www/nextcloud/occ status.
이 가이드는 Nextcloud와 Redis가 동일한 Ubuntu 호스트에서 실행되고, 웹 서버는 `<Property Server>`로 실행되며 www-data, PHP와 Redis를 직접 관리하는 경우를 가정합니다. Snap, AIO, Docker 또는 다른 어플라이언스를 통해 Nextcloud를 설치한 경우, 호스트 수준 명령어를 그대로 적용하는 대신 해당 패키지의 서비스 및 파일 시스템 규칙을 따르십시오. 로컬 캐싱에는 APCu가 Redis보다 빠르지만, 분산 캐시 및 파일 잠금에는 Redis가 적합합니다. Nextcloud 메모리 캐싱 관련 문서를 참조하십시오 .
우분투의 패키지 인덱스를 업데이트하고, Redis 서버와 APCu PHP 모듈을 설치하고, 부팅 시 Redis가 자동으로 실행되도록 설정합니다.
sudo apt update
sudo apt install redis-server php-apcu
sudo systemctl enable --now redis-server

Ubuntu 24.04에서 기본 PHP 버전은 8.3이며, php-apcu이는 배포판 패키지 이름입니다. Redis는 별도의 서비스이며, APCu는 PHP에서 로드됩니다. APCu를 설치한 후 웹에서 실행되는 PHP 프로세스가 모듈을 로드하도록 PHP 핸들러를 재시작하십시오. PHP-FPM을 사용하는 경우 일반적으로 `php-fsrc`를 사용하고, php8.3-fpmApache에서 mod_php를 사용하는 경우 `php- fsrc`를 재시작하십시오 apache2. 재시작하기 전에 활성화된 서비스 이름을 확인하십시오.
이 단일 호스트 설정에서는 Unix 소켓을 사용하고 Redis의 TCP 리스너를 끄십시오. /etc/redis/redis.conf기존 활성 지시문을 수정하여 충돌하는 여러 복사본을 남겨두지 말고 업데이트한 다음 설정하십시오.
port 0
unixsocket /run/redis/redis-server.sock
unixsocketperm 770

port 0TCP 포트를 비활성화하면 Redis는 소켓 경로를 통해 수신 대기합니다. 권한 모드를 770사용하면 Redis 소유자와 그룹은 소켓에 액세스할 수 있지만 다른 로컬 사용자는 액세스할 수 없습니다. 웹 서버 계정을 Redis 그룹에 추가하세요.
sudo usermod -aG redis www-data
sudo systemctl restart redis-server
그룹 멤버십을 변경한 후에는 PHP-FPM 서비스 또는 Apache를 다시 시작해야 합니다. 실행 중인 프로세스는 이전 그룹 목록을 유지하기 때문입니다. Nextcloud의 PHP를 실제로 실행하는 서비스를 사용하십시오. Redis 설명서에서는 신뢰할 수 있는 클라이언트로 접근을 제한할 것을 권장합니다. 로컬 소켓을 사용하면 인터넷에 노출되는 인터페이스에서 캐시 포트를 사용할 필요가 없습니다. Redis 보안 지침을 참조하십시오 .
백업을 수행한 config/config.php다음 기존 PHP 설정 배열에 다음 항목을 추가하십시오. 파일의 나머지 부분은 덮어쓰지 마십시오. Nextcloud 설치 경로를 사용하십시오.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\KeyValueCache',
'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
'server' => [
'host' => '/run/redis/redis-server.sock',
],
],

호스트 경로의 맨 앞에 있는 슬래시는 Nextcloud의 KeyValueCache가 Unix 소켓을 사용하도록 지시하므로 TCP 포트나 프로토콜 설정이 필요하지 않습니다. Redis는 두 가지 모두를 제공하며 memcache.distributed, memcache.locking후자는 트랜잭션 파일 잠금을 데이터베이스에서 분리합니다. 지연 시간이 짧은 로컬 캐시 액세스를 위해서는 APCu를 계속 사용하십시오. 정확한 항목 및 소켓 옵션은 Nextcloud의 KeyValueCache 및 Unix 소켓 지침 과 트랜잭션 파일 잠금 가이드memcache.local 에 나와 있습니다 .
먼저 Redis 서비스가 활성화되어 있고 소켓이 응답하는지 확인하십시오.
sudo systemctl status redis-server
redis-cli -s /run/redis/redis-server.sock ping

두 번째 명령에 대한 예상 응답은 다음과 같습니다 PONG. 그런 다음 Nextcloud에 로그인하고 관리 설정 개요를 엽니다. 로컬 캐시 경고가 사라졌는지 확인하고, Redis 또는 캐시 경고가 여전히 남아 있으면 Nextcloud 로그를 확인합니다. sudo -u www-data php /var/www/nextcloud/occ status인스턴스가 여전히 로드되는지 확인하기 위해 명령을 실행할 수도 있습니다. 이 명령은 캐시 자체가 아닌 Nextcloud 가용성을 확인합니다.
Redis에서 "권한 거부됨" 오류가 발생하거나 Nextcloud에 연결할 수 없는 경우, 소켓이 존재하는지, 해당 소켓이 지정된 그룹 www-data에 속해 있는지 redis, 그리고 소켓의 그룹 및 모드가 접근을 허용하는지 확인하십시오. 그룹 멤버십을 변경한 후에는 Redis와 PHP 핸들러를 재시작하십시오. Redis에서 소켓을 생성할 수 없는 경우, 구성된 경로에 오타가 있는지 확인하고 해당 파일을 검사하십시오 sudo journalctl -u redis-server -n 50. 소켓 권한 문제는 Redis를 공용 네트워크에 개방하는 방식으로 해결하지 마십시오.
Nextcloud 버전이 34.0.2보다 이전 버전인 경우, Nextcloud에서 사용되는 PHP 버전에 맞는 PHP Redis 확장 프로그램을 설치하십시오. 표준 Ubuntu 24.04 PHP 8.3 설정에서는 해당 패키지가 php-redisPHP 8.3 Redis 확장 프로그램으로 표시됩니다. 설치 후 활성 PHP 핸들러를 다시 시작하십시오. 설정 파일에서 config.php위의 KeyValueCache 항목 대신 기존 Redis 클래스와 연결 블록을 사용하십시오.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '/run/redis/redis-server.sock',
'port' => 0,
],
Ubuntu의 Noble php-redis 패키지 목록을 확인하여 패키지 매핑이 올바른지 확인하십시오. 두 백엔드를 동시에 구성하지 마십시오. 일치하는 구성을 저장한 후 소켓 핑을 다시 실행하고 Nextcloud 관리자 개요를 확인하십시오.
Nextcloud에서 발생하는 발신 주소 누락 경고를 해결하려면 정규 URL을 설정하고 서버 자체에서 DNS, HTTPS 및 역방향 프록시 라우팅을 확인하십시오.
Nextcloud 캐싱 및 파일 잠금을 위해 로컬 Unix 소켓을 통해 APCu와 Redis를 구성하는 방법을 설명합니다. 최신 및 이전 Nextcloud 버전에 대한 단계별 지침이 포함되어 있습니다.
Nextcloud의 cron 모드를 확인하고, systemd 서비스와 타이머를 복구하고, 백그라운드 작업이 시작 후 및 5분마다 실행되는지 확인하십시오.
Nextcloud 파일 잠금 기능을 안정적으로 활성화하고, 적절한 Redis 또는 Valkey 백엔드를 선택한 다음, 동시 파일 변경 위험 없이 경고가 사라지는지 확인하십시오.
최신 업데이트, HTTPS 및 HSTS 지원, 정확한 리버스 프록시 신뢰 설정, 그리고 공용 서버 검사를 통해 Nextcloud 스캔에서 흔히 발견되는 문제들을 해결하세요.
기존 파일을 암호화하기 전에 필요한 스토리지에 맞게 Nextcloud SSE를 구성하고, 암호화 키를 보호하고, 전송 및 CPU 사용량에 미치는 영향을 측정하십시오.
Nextcloud의 파일 검색 기능을 Elasticsearch에 연결하고, 문서 콘텐츠를 색인화하고, 서버 및 보안 요구 사항에 맞는 설정을 선택하세요.
Nextcloud에서 지정된 보존 기간이 지나면 삭제된 파일을 제거하도록 설정하고, 백그라운드 작업을 안정적으로 예약하며, 모든 사용자의 휴지통을 비우는 명령을 사용하지 않도록 구성하십시오.
Nextcloud의 OCC 복구 기능을 안전하게 실행하고, 데이터베이스 변경 사항을 미리 보고, 경고가 계속 표시되는 이유를 확인하십시오.
PHP, Nginx 또는 Apache, 임시 저장소 및 시간 초과 설정을 조정하여 Nextcloud 브라우저의 대용량 파일 업로드를 허용하고, 어떤 제한 사항이 파일 업로드를 차단하는지 확인하십시오.