В предыдущей статье я писал как можно установить и настроить nextcloud на операционной системе Ubuntu Server 20.04 с web-сервером nginx+php-fpm и базой данных postgresql. Почитать можно тут.

После успешного запуска nextcloud в панели администратора Вы можете в пункте общие сведения, увидеть следующие предупреждения:

Индексирование файлов

Для устранения запустим команды для ускорения индексирования файлов. В терминале набираем:

cd /var/www/nextcloud/

Включаем режим обслуживания:

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on

И вводим данные строки:

sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ db:convert-filecache-bigint

Выключаем режим обслуживания

sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off

После данной манипуляции ошибка должна исчезнуть.

Предупреждения о текущей конфигурации /.well-known/.

  • Веб-сервер не настроен должным образом для разрешения «/.well-known/webfinger».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/nodeinfo».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/caldav».
  • Веб-сервер не настроен должным образом для разрешения «/.well-known/carddav».

Чтобы исправить данные предупреждения в конфигурационный файл nginx вашего облака внесем следующую location:

    location /.well-known {
      location = /.well-known/carddav { return 301 https://$host/remote.php/dav/; }
      location = /.well-known/caldav { return 301 https://$host/remote.php/dav/; }
      location ~ /.well-known/acme-challenge { allow all; }
      rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
      rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
      location  ^~ /.well-known { return 301 https://host/index.php$uri; }
         try_files $uri $uri/ =404;
     }

Адрес https://mynextcloud.ru измените на свой.

Также внесём следующие строки в файл .htaccess

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT}  DavClnt
  RewriteRule ^$ https://%{SERVER_NAME}/remote.php/webdav/ [L,R=302]
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/host-meta https://%{SERVER_NAME}/public.php?service=host-meta [QSA,L]
  RewriteRule ^\.well-known/host-meta\.json https://%{SERVER_NAME}/public.php?service=host-meta-json [QSA,L]
  RewriteRule ^\.well-known/webfinger https://%{SERVER_NAME}/public.php?service=webfinger [QSA,L]
  RewriteRule ^\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
  RewriteRule ^remote/(.*) https://%{SERVER_NAME}/remote.php [QSA,L]
  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
  RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>

Зависание входа в панель NextCloud

Включил https на web сервере для nextclou и появился неприятный глюк: в google chrome, opera и яндекс браузере, а также в firefox, IE и edge при входе в аккаунт и выходе из него браузер “зависает” на странице входа, но при этом авторизуется. Если нажать F5, то окажемся в своем аккаунте.
Как же победить данную проблему?

Лечится добавлением в конфигурационный файл NexCloud:

sudo nano /var/www/nextcloud/config/config.php

следующего содержимого:

'overwriteprotocol' => 'https',

Не настроена система кэширования.

Не настроена система кэширования. Для увеличения производительности сервера, по возможности, настройте memcache.

Хочу использовать Memcached. Для этого надо установите модуль для PHP и сам memcached.

Как оказалось есть два похожих пакета:

  • php-memcache – модуль Memcache для PHP,
  • php-memcached – расширение PHP для взаимодействия с memcached.

Нужен с буквой d в конце.

Установливаем:

sudo apt install memcached php8.0-memcached

настройки в /etc/php/8.0/mods-available/memcached.ini оставляю все без изменений.
В выводе phpinfo(); появился блок с описанием memcached.

Настройки запуска сервиса в /etc/systemd/system/multi-user.target.wants/memcached.service и конфигурационный файл /etc/memcached.conf тоже не менял.

Запускаем memcached:

sudo systemctl start memcached

Проверяем запустился ли сервис

sudo ps ax | grep memcached

Должно выдать что-то вроде этого

725 ?        Ssl    0:11 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Теперь в конфиге NextCloud добавим строки:

sudo nano /var/www/nextcloud/config/config.php
  'memcache.local' => '\OC\Memcache\Memcached',
  'memcache.distributed' => '\OC\Memcache\Memcached',
  'memcached_servers' => [
     [ '127.0.0.1', 11211 ],
 ],

Модуль php-imagick не поддерживает SVG

Для устранения данного предупреждения необходимо установить модуль imagick:

sudo apt install imagemagick

Не указан регион размещения этого сервера Nextcloud

Не указан регион размещения этого сервера Nextcloud, что требуется для возможности проверки номеров телефонов без указания кода страны.

Чтобы разрешить пользователям сервера указывать номера телефонов без указания кода страны, добавьте параметр «default_phone_region» с соответствующим кодом страны в соответствии с ISO 3166-1↗.

Для устранения данного предупреждения откроем конфигурационный файл NextCloud :

sudo nano /var/www/nextcloud/config/config.php

и добавим следующие строки:

'default_phone_region' => 'RU',

Предупреждение headers

Для устранения данных ошибок в терминале набираем следующее:

sudo nano /etc/nginx/conf.d/headers.conf

И заполняем данным текстом:

    add_header Referrer-Policy   "no-referrer" always;
    add_header X-Content-Type-Options   "nosniff" always;
    add_header X-Download-Options   "noopen" always;
    add_header X-Frame-Options   "SAMEORIGIN" always;
    add_header X-Permitted-Cross-Domain-Policies "none" always;
    add_header X-Robots-Tag   "none"  always;
    add_header X-XSS-Protection   "1; mode=block" always;
    add_header Cache-Control "public, max-age=7200";
    # Remove X-Powered-By, which is an information leak
    fastcgi_hide_header X-Powered-By;

Сохраняем файл (ctrl+o, ctrl+x). И перезагружаем nginx

sudo service nginx restart

Заголовок HTTP «Strict-Transport-Security»

Для устранения данного предупреждения отредактируем файл Nginx headers.conf:

sudo nano /etc/nginx/conf.d/headers.conf

Добавим следующие строки:

add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;

Перезапустим nginx:

 sudo service nginx restart

PHP не настроен для системного окружения.

PHP не настроен правильно для получения переменных системного окружения.

Запрос getenv(«PATH») возвращает пустые результаты.
Обратитесь к разделу о конфигурации PHP и примечаниям к конфигурации PHP из руководства по установке. Обратите внимание на настройку параметров PHP, особенно при использовании механизма php-fpm.

Когда вы используете php-fpm, системные переменные среды, такие как PATH, TMP или другие, не заполняются автоматически так же, как при использовании php-cli. Вызов функции PHP, такой как getenv(‘PATH’); может возвращать пустой результат. Поэтому вам может потребоваться вручную настроить переменные среды в файле конфигурации php-fpm.

Редактируем файл:

sudo nano /etc/php/8.0/fpm/pool.d/www.conf

Находим строки:

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

И сними с них комментарий (;).

Далее перезапустим php8.0-fpm

sudo service php8.0-fpm restart

Значение PHP ниже рекомендуемого значения .

Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения в 512 МБ.

В терминале набираем:

sudo nano /etc/php/8.0/fpm/php.ini

Находим и редактируем следующие строки:

max_execution_time = 300
max_input_time = 600
memory_limit = 512M
post_max_size = 20M
upload_max_filesize = 40M

Не скачиваются файлы больше 1Гб

При попытках скачать из облака файлы объемом более 1гб скачивание прерывается при достижении 1гб. Такое происходит при условии использования Nginx как реверс-прокси. Решается очень просто, нужно добавить в конфигурационный файл сайта опцию «proxy_buffering off». Открываем и добавляем эту опцию:

server {
…
proxy_buffering off;
…
}

[endtxt]

. . . .

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 2 голоса
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять