Показать страницуИстория страницыСсылки сюдаНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Nextcloud ====== ===== Работа с occ ===== Перейти в каталог с **nextcloud** <code bash> /var/www/nextcloud </code> Выполнить команду **occ** <code bash> sudo -u www-data php occ {команда} </code> [[https://docs.nextcloud.com/server/28/admin_manual/configuration_server/occ_command.html|Источник]] для версии 28.х ==== Режим обслуживания ==== Включен <code bash> php occ maintenance:mode --on </code> Выключен <code bash> php occ maintenance:mode --off </code> ==== Сброс пароль пользователя ==== <code bash> sudo -u www-data php /path_to_nextcloud/occ user:resetpassword User_Login </code> ==== Список пользователей ==== <code bash> sudo -u www-data php /path_to_nextcloud/occ user:list </code> ==== Для полного сканирования сервера ==== выполним команду с правили пользователя веб-сервера **www-datа**. Ключ **files:scan** ищет новые файлы и обновляет файловый кеш. <code>cd /var/www/nextcloudsudo -u www-data php occ files:scan --all</code> ==== Для одного пользователя ==== например с именем username, команда немного отличается. <code>cd /var/www/nextcloudsudo -u www-data php occ files:scan username</code> При установленном nextcloud в контейнере <code>docker exec -it nextcloud sudo -u abc php /config/www/nextcloud/occ db:add-missing-indices </code> ===== Не указан регион размещения этого сервера Nextcloud ===== что требуется для возможности проверки номеров телефонов без указания кода страны. Чтобы разрешить пользователям сервера указывать номера телефонов без указания кода страны, добавьте параметр «default_phone_region» с соответствующим кодом страны в соответствии с ISO 3166-1. Добавить в **config.php** <code>'default_phone_region' => 'RU',</code> ===== Модуль php-imagick в этом случае не поддерживает SVG ===== Для лучшей совместимости рекомендуется установить его. <code>apt install imagemagick</code> ===== SAMBA не подхватывает шары ===== Есть два варианта <code>files:scan</code> каждую минуту через крон (не айс).\\ И есть недокументированная опция <code>'filesystem_check_changes' => 1</code> в конфиге и не нужен крон. ===== Если при регистрации вам надо, чтобы у пользователя уже был определённый набор файлов ===== Поместите их в директорию: <code>%CLOUD_ROOT%/core/skeleton</code> где **%CLOUD_ROOT%** — директория, в которую установлено облако. ==== Что бы отображался реальный IP адрес ==== в //Параметры сервера -> Журналирование// При нахождении Nextcloud за NGINX proxy maneger (NPM), необходимо в NPM в раздел Advanced необходимого хоста внести запись <code>add_header X-Frame-Options "SAMEORIGIN";</code> или для большей безопасности <code>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;</code> ,а в <code>nano /var/www/nextcloud/config/config.php</code> добавить <code>'trusted_proxies' => array ( 0 => 'IP_address proxy', ), 'forwarded_for_headers' => array ( 0 => 'HTTP_X_FORWARDED_FOR', ),</code> [[https://github.com/NginxProxyManager/nginx-proxy-manager/issues/674?ysclid=ldo3rtpnf4879823214|Источник]] Что бы реаьный IP отражался и в журнале **nextcloud** и в **log** файлах сервера надо убрать настройки **Advanced** <code>add_header X-Frame-Options "SAMEORIGIN";</code> или <code>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;</code> Добавить настройки **config.php** <code>'trusted_proxies' => array ( 0 => 'IP_address proxy', ), 'forwarded_for_headers' => array ( 0 => 'HTTP_X_FORWARDED_FOR', ),</code> Открыть <code>mcedit /etc/nginx/nginx.conf</code> добавить в раздел <code>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;</code> проверим конфиг и перезагрузим nginx <code>nginx -t nginx -s reload</code> [[https://www.oslogic.ru/knowledge/1020/kak-poluchit-realnyj-ip-adres-polzovatelya-v-nginx-za-obratnym-proksi-serverom-nginx/?ysclid=ldo3rveaav881598653|Источник]] ==== Русификация Nextcloud ==== <code>'default_language' => 'ru', 'default_locale' => 'ru_RU', 'force_language' => 'ru', 'default_phone_region' => 'RU',</code> ==== Модуль OPcache подсистемы PHP настроен некорректно ==== Дополнительная информация представлена в документации. Буфер интернированных строк OPcache почти заполнен. Чтобы обеспечить эффективное кэширование повторяющихся строк, рекомендуется установить opcache.interned_strings_buffer в конфигурации PHP со значением выше, чем 8. <code>sudo nano /etc/php/8.1/fpm/php.ini</code> добавить <code>opcache.interned_strings_buffer=16</code> перезагрузить **fpm** <code>sudo systemctl restart php8.1-fpm</code> ==== Установка списка файлов вместо dashboard ==== Следующая опция для тех, кто обновился выше 20 версии и при заходе на главную облака видит новый dashboard вместо знакомого списка файлов. Исправляется просто добавлением в файл **config.php** следующей строки <code>'defaultapp' => 'files',</code> ==== Настройка обратного прокси для доступа ==== Для доступа к файлам, используя обратный прокси, особых настроек делать не надо, достаточно в директиве proxy_pass указать IP сервера с Nextcloud. Однако, если вы используете клиент Nextcloud, то он при авторизации запустит окно браузера с IP сервера Nextcloud, а не его доменным именем. Чтобы это исправить, делаем следующее: Для примера IP обратного прокси — 192.168.0.1, IP Nextcloud-сервера — 192.168.0.2 В файле nextcloud/config/config.php <code>'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', ),</code> Таким образом, опция **trusted_proxies** исправляет проблему "//Заголовки обратного прокси настроены неправильно, либо вы подключены к серверу Nextcloud через доверенный прокси//" ===== Облако на сетевом диске по NFS ===== Этот пункт можно пропустить, если настраиваете облако на локальный диск, а не на отдельную машину с доступом по nfs Ставим **nfs-client** <code>sudo apt install nfs-common -y</code> Монтируем папку **nfs** <code>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/ </code> Монтируем **nfs** при загрузке <code>sudo nano /etc/fstab</code> Добавим такую строку в конец файл <code>your_host_ip:/папка_шары_nfs/ /nfs/nc nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0</code> ===== Обновление NC ===== ==== После установки 25.0.13 ==== потребовалось изменить в файле /etc/nginx/ <code>add_header X-Robots-Tag none;</code> на <code>add_header X-Robots-Tag "noindex, nofollow" always;</code> ==== 29 to 30 ==== //В настоящее время вы используете PHP 8.1.33. PHP 8.1 устарел с момента выхода Nextcloud 30. Nextcloud 32 может потребовать как минимум PHP 8.2. Пожалуйста, обновитесь до одной из официально поддерживаемых версий PHP, предоставляемых PHP Group, как можно скорее. За дополнительными сведениями обратитесь к [[https://www.php.net/supported-versions.php|документации]] ↗// Рекомендуемая версия 8.2 NC на NGINX + php-fpm Обновление Сначала необходимо добавить репозитории для PHP 8.2: <code>sudo apt-get install ca-certificates apt-transport-https software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update</code> Теперь посмотрим перечень пакетов php, которые установлены в системе: <code>sudo apt list --installed php8*</code> Все эти пакеты нужно будет обновить до версии 8.2. Запускаем установку обновленных пакетов: <code>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</code> После установки новой версии PHP не забываем скорректировать лимиты по потреблению памяти. Для сервера NextCloud рекомендуется установить потолок в 1 ГБ: <code>sudo nano /etc/php/8.2/fpm/php.ini</code> <code>memory_limit = 1024M</code> Теперь отключим PHP 8.1 и включим PHP 8.2 <code>mcedit /etc/nginx/sites-available/MY_SITE</code> Изменить на <code>upstream php-handler { #server 127.0.0.1:9000; server unix:/run/php/php8.2-fpm.sock;</code> Раскомментировать в <code>mcedit /etc/php/8.2/fpm/pool.d/www.conf</code> <code> env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp </code> Расскомментировать строку в <code>mcedit /etc/php/8.2/fpm/php.ini</code> <code>opcache.interned_strings_buffer = 16</code> Перезапустить NGINX и PHP-pfm <code>systemctl restart nginx systemctl restart php8.2-fpm</code> ===== Полезные ссылки ===== [[https://docs.reconn.ru/software/nextcloud/nextcloud_installation/|Установка Nextcloud]] [[https://kurazhov.ru/nextcloud-tuning/?ysclid=mgwiakbpzx718534201|Тюнинг Nextcloud]] [[https://itproblog.ru/%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-php-%D0%B4%D0%BB%D1%8F-nextcloud/?ysclid=mgwgc4627l927789795|Обновление php]] [[https://blog.altuninvv.ru/linux/debian/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-php-83-%D0%BD%D0%B0-debian-12-bookworm-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8-%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D1%8F-debsuryorg?ysclid=mgwgccoysl251720218|Установка PHP 8.3 на Debian 12 Bookworm после блокировки репозитория deb.sury.org]] Последнее изменение: 18:10:2025 23:59