NextCloud 를 제대로 써야 할 일이 생겼다. 29.04 에서 29.08 로 업데이트 하면서 검색 했던 것들을 일단 정리해 둔다.
로그파일 크기 제한
https://github.com/nextcloud/docker/issues/1154 에 나와 같은 질문을 한 사람이 있었고, 답변에 아래의 링크가 달렸다. 메뉴얼에 이미 적혀 있었네…
log_rotate_size
'log_rotate_size' => 100 * 1024 * 1024,
Enables log rotation and limits the total size of logfiles. Set it to 0 for no rotation. Specify a size in bytes, for example 104857600 (100 megabytes = 100 * 1024 * 1024 bytes). A new logfile is created with a new name when the old logfile reaches your limit. If a rotated log file is already present, it will be overwritten.
Defaults to 100 MB
요약하면 …/nextcloud/config/config.php 파일에 ‘log_rotate_size’ => 100 * 1024 * 1024, 를 추가하면 된다고 한다. 저건 100Mb 이고, 나는 적당하게 1Mb 로 설정했다. 앞에 100만 빼면 된다.
로그에 수도 없이 쌓이는 Webdev 및 exif.php 관련 에러
로그파일 제한을 검색하게 된 계기다. 동작에 별 이상은 없는 것 같은데, 로그에 수도 없이 에러 메시지가 쌓였다. 심할 때는 웹으로 로그메시지를 볼 때, 페이지에 과부하가 걸릴 정도였다. 나중에 확인해봤더니 IPad 의 NextCloud 앱에서도 500 에러를 업로드 할 때 마다 뱉어내고 있더라. 신기하게도 500 에러를 내면서도 동작 자체는 별 이상없이 되었다.
범인은 Memories 앱. 관리자 계정으로 로긴해서 지웠다. 그 다음부터는 로그에 뭐가 안 남는다.
로컬 계정의 기본 쉘을 변경
www 계정을 따로 생성해서 아파치를 돌리고 있는데, 괜한 구멍 막는다고 쉘로 로긴이 안되게 설정했었다. 근데 nextcloud 안의 occ 라는 것을 실행하니까, root 계정이라 위험하니까 www 계정으로 하라는 에러를 내더라. su 로 해당 계정으로 바꿔서 로긴하려고 해도 쉘이 설정되어 있지 않으면 (nologin으로 설정되어 있으면) 로긴이 안된다.
chsh -s <Shell path> <User>
chsh -s /bin/csh www
이렇게 하면 된다. 만약 다시 로긴 안되게 쉘을 지정하지 않고 싶으면…
cash -s /usr/sbin/nologin www