Это старая версия документа!
Nextcloud
Работа с occ
Перейти в каталог с nextcloud
/var/www/nextcloud
Выполнить команду occ
sudo -u www-data php occ {команда}
Источник для версии 28.х
Режим обслуживания
Включен
php occ maintenance:mode --on
Выключен
php occ maintenance:mode --off
Сброс пароль пользователя
sudo -u www-data php /path_to_nextcloud/occ user:resetpassword User_Login
Список пользователей
sudo -u www-data php /path_to_nextcloud/occ user:list
Для полного сканирования сервера
выполним команду с правили пользователя веб-сервера www-datа. Ключ files:scan ищет новые файлы и обновляет файловый кеш.
cd /var/www/nextcloudsudo -u www-data php occ files:scan --all
Для одного пользователя
например с именем username, команда немного отличается.
cd /var/www/nextcloudsudo -u www-data php occ files:scan username
При установленном nextcloud в контейнере
docker exec -it nextcloud sudo -u abc php /config/www/nextcloud/occ db:add-missing-indices
Не указан регион размещения этого сервера Nextcloud
что требуется для возможности проверки номеров телефонов без указания кода страны. Чтобы разрешить пользователям сервера указывать номера телефонов без указания кода страны, добавьте параметр «default_phone_region» с соответствующим кодом страны в соответствии с ISO 3166-1.
Добавить в config.php
'default_phone_region' => 'RU',
Модуль php-imagick в этом случае не поддерживает SVG
Для лучшей совместимости рекомендуется установить его.
apt install imagemagick
SAMBA не подхватывает шары
Есть два варианта
files:scan
каждую минуту через крон (не айс).
И есть недокументированная опция
'filesystem_check_changes' => 1
в конфиге и не нужен крон.
Если при регистрации вам надо, чтобы у пользователя уже был определённый набор файлов
Поместите их в директорию:
%CLOUD_ROOT%/core/skeleton
где %CLOUD_ROOT% — директория, в которую установлено облако.
Что бы отображался реальный IP адрес
в Параметры сервера → Журналирование При нахождении Nextcloud за NGINX proxy maneger (NPM), необходимо в NPM в раздел Advanced необходимого хоста внести запись
add_header X-Frame-Options "SAMEORIGIN";
или для большей безопасности
proxy_hide_header Upgrade; proxy_hide_header X-Powered-By; add_header Content-Security-Policy "upgrade-insecure-requests"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block" always; add_header X-Content-Type-Options "nosniff" always; add_header Cache-Control "no-transform" always; add_header Referrer-Policy no-referrer always; add_header X-Robots-Tag none;
,а в
nano /var/www/nextcloud/config/config.php
добавить
'trusted_proxies' =>
array (
0 => 'IP_address proxy',
),
'forwarded_for_headers' =>
array (
0 => 'HTTP_X_FORWARDED_FOR',
),
Что бы реаьный IP отражался и в журнале nextcloud и в log файлах сервера надо убрать настройки Advanced
add_header X-Frame-Options "SAMEORIGIN";
или
proxy_hide_header Upgrade; proxy_hide_header X-Powered-By; add_header Content-Security-Policy "upgrade-insecure-requests"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block" always; add_header X-Content-Type-Options "nosniff" always; add_header Cache-Control "no-transform" always; add_header Referrer-Policy no-referrer always; add_header X-Robots-Tag none;
Добавить настройки config.php
'trusted_proxies' =>
array (
0 => 'IP_address proxy',
),
'forwarded_for_headers' =>
array (
0 => 'HTTP_X_FORWARDED_FOR',
),
Открыть
mcedit /etc/nginx/nginx.conf
добавить в раздел
http {
# ...
##
# Logging Settings
##
log_format specialLog '$remote_addr forwarded for $http_x_real_ip - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
access_log /var/log/nginx/access-special.log specialLog;
проверим конфиг и перезагрузим nginx
nginx -t nginx -s reload
Русификация Nextcloud
'default_language' => 'ru', 'default_locale' => 'ru_RU', 'force_language' => 'ru', 'default_phone_region' => 'RU',
Модуль OPcache подсистемы PHP настроен некорректно
Дополнительная информация представлена в документации.
Буфер интернированных строк OPcache почти заполнен. Чтобы обеспечить эффективное кэширование повторяющихся строк, рекомендуется установить opcache.interned_strings_buffer в конфигурации PHP со значением выше, чем 8.
sudo nano /etc/php/8.1/fpm/php.ini
добавить
opcache.interned_strings_buffer=16
перезагрузить fpm
sudo systemctl restart php8.1-fpm
Установка списка фалов вместо dashboard
Следующая опция для тех, кто обновился выше 20 версии и при заходе на главную облака видит новый dashboard вместо знакомого списка файлов.
Исправляется просто добавлением в файл config.php следующей строки
'defaultapp' => 'files',
Настройка обратного прокси для доступа
Для доступа к файлам, используя обратный прокси, особых настроек делать не надо, достаточно в директиве proxy_pass указать IP сервера с Nextcloud. Однако, если вы используете клиент Nextcloud, то он при авторизации запустит окно браузера с IP сервера Nextcloud, а не его доменным именем. Чтобы это исправить, делаем следующее:
Для примера IP обратного прокси — 192.168.0.1, IP Nextcloud-сервера — 192.168.0.2
В файле nextcloud/config/config.php
'trusted_domains' =>
array (
0 => '192.168.0.2',
1 => '192.168.0.1',
),
'overwritehost' => 'domain.name.example.org',
'overwriteprotocol' => 'https',
'overwritewebroot' => '',
'overwritecondaddr' => '^192\.168\.0\.1$',
'overwrite.cli.url' => 'https://domain.name.example.org',
'trusted_proxies' =>
array (
0 => '192.168.0.1',
),
Таким образом, опция trusted_proxies исправляет проблему «Заголовки обратного прокси настроены неправильно, либо вы подключены к серверу Nextcloud через доверенный прокси»
Облако на сетевом диске по NFS
Этот пункт можно пропустить, если настраиваете облако на локальный диск, а не на отдельную машину с доступом по nfs
Ставим nfs-client
sudo apt install nfs-common -y
Монтируем папку nfs
sudo mkdir -p /nfs/nc sudo mount your_host_ip:/папка_шары_nfs/ /nfs/nc sudo ls -l /nfs/nc/ sudo df -h sudo du -sh /nfs/nc/
Монтируем nfs при загрузке
sudo nano /etc/fstab
Добавим такую строку в конец файл
your_host_ip:/папка_шары_nfs/ /nfs/nc nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
После установки 25.0.13
потребовалось изменить в файле /etc/nginx/
add_header X-Robots-Tag none;
на
add_header X-Robots-Tag "noindex, nofollow" always;
Обновление NC
29 to 30
В настоящее время вы используете PHP 8.1.33. PHP 8.1 устарел с момента выхода Nextcloud 30. Nextcloud 32 может потребовать как минимум PHP 8.2. Пожалуйста, обновитесь до одной из официально поддерживаемых версий PHP, предоставляемых PHP Group, как можно скорее. За дополнительными сведениями обратитесь к документации ↗
Рекомендуемая версия 8.2
NC на NGINX + php-fpm
Обновление
Сначала необходимо добавить репозитории для PHP 8.2:
sudo apt-get install ca-certificates apt-transport-https software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update
Теперь посмотрим перечень пакетов php, которые установлены в системе:
sudo apt list --installed php8*
Все эти пакеты нужно будет обновить до версии 8.2. Запускаем установку обновленных пакетов:
sudo apt install -y php8.2-apcu php8.2-bcmath php8.2-bz2 php8.2-cli php8.2-common php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-igbinary php8.2-imagick php8.2-imap php8.2-intl php8.2-ldap php8.2-mbstring php8.2-opcache php8.2-pgsql php8.2-readline php8.2-redis php8.2-smbclient php8.2-xml php8.2-zip php8.2 php8.2-msgpack php8.2-memcached
После установки новой версии PHP не забываем скорректировать лимиты по потреблению памяти. Для сервера NextCloud рекомендуется установить потолок в 1 ГБ:
sudo nano /etc/php/8.2/fpm/php.ini
memory_limit = 1024M
Теперь отключим PHP 8.1 и включим PHP 8.2
mcedit /etc/nginx/sites-available/MY_SITE
Изменить на
upstream php-handler {
#server 127.0.0.1:9000;
server unix:/run/php/php8.2-fpm.sock;
Раскомментировать в
mcedit /etc/php/8.2/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
Расскомментировать строку в
mcedit /etc/php/8.2/fpm/php.ini
opcache.interned_strings_buffer = 16
Перезапустить NGINX и PHP-pfm
systemctl restart nginx systemctl restart php8.2-fpm
Полезные ссылки
Установка PHP 8.3 на Debian 12 Bookworm после блокировки репозитория deb.sury.org