====== Nextcloud ====== {{:nextcloud:logo-150x150.png|}} Nextcloud — набор клиент-серверных программ для создания и использования облачного хранилища. По функционалу похож на Dropbox, также Nextcloud можно установить на физический сервер. В отличие от проприетарных сервисов, таких как Dropbox, открытая архитектура Nextcloud позволяет добавлять функциональность на сервер в виде приложений и позволяет пользователям полностью контролировать свои данные. Разработчик Фрэнк Карлитшек после ухода из [[owncloud:owncloud]], Inc. создал форк под названием NextCloud и продолжает его развитие совместно с другими разработчиками [[owncloud:owncloud]]. https://nextcloud.com/ ====== Особенности ====== Если удалить файл из ''локального хранилища'' (папка другого пользователя), он будет перемещён в ''корзину'' пользователя который его удалил. ====== Установка ====== FIXME [[php:php#Установка PHP 7.1 на Debian 8 (jessie)|]] Установка необходимых пакетов apt install\ apache2 mariadb-server libapache2-mod-php7.2\ php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring\ php7.2-intl php-imagick php7.2-xml php7.2-zip Установка необходимых пакетов: apt install\ apache2 mariadb-server libapache2-mod-php\ php-gd php-json php-mysql php-curl php-mbstring\ php-intl php-imagick php-xml php-zip Настройка [[apache:apache|]]: a2enmod rewrite headers env dir mime service apache2 restart Загрузка cd /opt wget https://download.nextcloud.com/server/releases/nextcloud-16.0.3.zip ===== Распаковка дистрибутива ===== Распаковка дистрибутива в нужную папку: unzip nextcloud-16.0.3.zip -d /opt ===== Настройка прав доступа к папкам и файлам ===== #!/bin/bash ncpath='/opt/nextcloud' htuser='www-data' htgroup='www-data' rootuser='root' printf "Creating possible missing Directories\n" mkdir -p $ncpath/data mkdir -p $ncpath/assets mkdir -p $ncpath/updater printf "chmod Files and Directories\n" find ${ncpath}/ -type f -print0 | xargs -0 chmod 0640 find ${ncpath}/ -type d -print0 | xargs -0 chmod 0750 printf "chown Directories\n" chown -R ${rootuser}:${htgroup} ${ncpath} chown -R ${htuser}:${htgroup} ${ncpath}/apps/ chown -R ${htuser}:${htgroup} ${ncpath}/assets/ chown -R ${htuser}:${htgroup} ${ncpath}/config/ chown -R ${htuser}:${htgroup} ${ncpath}/data/ chown -R ${htuser}:${htgroup} ${ncpath}/themes/ chown -R ${htuser}:${htgroup} ${ncpath}/updater/ chmod +x ${ncpath}/occ printf "chmod/chown .htaccess\n" if [ -f ${ncpath}/.htaccess ] then chmod 0644 ${ncpath}/.htaccess chown ${rootuser}:${htgroup} ${ncpath}/.htaccess fi if [ -f ${ncpath}/data/.htaccess ] then chmod 0644 ${ncpath}/data/.htaccess chown ${rootuser}:${htgroup} ${ncpath}/data/.htaccess fi ===== Создание новой БД ===== - Создать файл: CREATE DATABASE nextcloud; GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloud IDENTIFIED BY 'ПАРОЛЬ'; FLUSH PRIVILEGES; - Выполнить: mysql -uroot -p < nextcloud-mysql_init.sql Ввести пароль пользователя ''root'' ===== Настройка HTTP сервера ===== Настройка HTTP сервера [[apache:apache|Apache]]: - Нужно создать файл: Alias /nextcloud "/opt/nextcloud/" Require all granted Options FollowSymlinks MultiViews AllowOverride All Dav off SetEnv HOME /opt/nextcloud SetEnv HTTP_HOME /opt/nextcloud - Выполнить следующие действия: #!/bin/bash # Разрешаем сайт a2ensite nextcloud # Перезапуск service apache2 reload ===== Первый запуск ===== [[http://СЕРВЕР/nextcloud]] ---- [[https://docs.nextcloud.com/server/9.0/admin_manual/installation/installation_wizard.html#setting-strong-directory-permissions|Installation Wizard — Nextcloud 9 Server Administration Manual 9 documentation — Setting Strong Directory Permissions]] [[https://docs.nextcloud.com/server/16/admin_manual/installation/source_installation.html|Installation on Linux — Nextcloud latest Administration Manual latest documentation]] ====== Настройка ====== ===== Скелет ===== Набор файлов, папок которые копируются каждому новому пользователю при его первом входе находятся в папке: ''nextcloud/core/skeleton'' ===== Обновление информации о файлах ===== Обновление информации о файлах в БД. #!/bin/bash sudo -u www-data /opt/nextcloud/occ files:scan --all ===== Проверка безопасности и параметров ===== Меню ''Настройки/Администрирование/Общие сведения'' ==== memcache ==== Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация доступна в документации. - Установить: apt install memcached php-memcached php-memcache php-apcu - Добавить в файл ''nextcloud/config/config.php'' 'memcache.local' => '\OC\Memcache\APCu', 'memcached_servers' => [ [ 'localhost', 11211 ], ], ---- [[https://abc-server.com/ru/blog/administration/caching-cloud/|Включение кэширования на ownCloud/NextCloud | Блог]] [[https://docs.nextcloud.com/server/16/admin_manual/configuration_server/caching_configuration.html#id3|Memory caching — Nextcloud latest Administration Manual latest documentation]] ==== Увеличение размера загружаемых файлов ==== В ответ на предупреждение: Разрешённое PHP максимальное значение использования памяти ниже рекомендуемого значения в 512 МБайт, Нужно: - внести исправления: upload_max_filesize = 512M memory_limit = 512M - выполнить: service apache2 reload ==== Strict-Transport-Security ==== В ответ на предупреждение: Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «15552000» секунд Нужно: - внести исправления в описание хоста: ServerName cloud.nextcloud.ru Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" - выполнить: service apache2 reload ---- [[https://docs.nextcloud.com/server/16/admin_manual/installation/harden_server.html|Hardening and security guidance — Nextcloud latest Administration Manual latest documentation]] ===== Приложения ===== * [[https://apps.nextcloud.com/apps/groupfolders|Group folders]] * [[https://apps.nextcloud.com/apps/quota_warning|Quota warning]] * [[https://apps.nextcloud.com/apps/impersonate|Impersonate]] * [[https://apps.nextcloud.com/apps/files_trackdownloads|Activities for shared file downloads, visible to all admins]] * [[https://apps.nextcloud.com/apps/files_frommail|Files From Mail]] * [[https://apps.nextcloud.com/apps/files_antivirus|Antivirus for files]] * [[https://apps.nextcloud.com/apps/external|External sites]] ===== Отправка сообщений пользователям ===== Справка о параметрах: sudo -u www-data /opt/nextcloud/occ notification:generate --help Пример отправки сообщения пользователю ''test'': sudo -u www-data /opt/nextcloud/occ notification:generate \ test "Тестовое сообщение" \ -l "Это тестовое сообщение" FIXME Список пользователей: sudo -u www-data /opt/nextcloud/occ user:list ---- https://github.com/nextcloud/notifications/blob/master/docs/admin-notifications.md ===== Отключение сброса пароля ===== Нужно добавить в файл ''nextcloud/config/config.php'' 'lost_password_link' => 'disabled', ==== JS Loader ==== JavaScript loader app for Nextcloud https://github.com/nextcloud/jsloader/ Чтобы скрыть "Контакты" нужно в настройке JS Loader вставить строку: $('.icon-contacts.menutoggle').remove() ---- [[https://github.com/nextcloud/server/issues/5096#issuecomment-515250600|Hide contact icon when contacts app is disabled · Issue #5096 · nextcloud/server]] ==== Отключение Создайте свою бесплатную учётную запись ==== Отключение ссылки на https://nextcloud.com/signup/ Нужно добавить в файл ''nextcloud/config/config.php'' 'simpleSignUpLink.shown' => false, ---- [[https://help.nextcloud.com/t/remove-link-get-your-own-free-account/41131/5|Remove link "Get your own free account" - support - Nextcloud community]] ==== authz_core:error ==== Если в ''/var/log/apache2/error.log'' ошибка: authz_core:error client denied by server configuration: nextcloud/data/.ocdata Нужно добавить в файл ''nextcloud/data/.htaccess'' следующую конструкцию: Require all granted ---- [[https://help.nextcloud.com/t/client-denied-by-server-configuration-ocdata/13250/12|Client denied by server configuration:.ocdata - support - Nextcloud community]] ====== Ссылки ====== [[https://nextcloud.com/media/screenshot-150x150.png?x22777|Логотип]] [[wpru>Nextcloud]] [[https://www.linux.org.ru/forum/general/14273933|Доступ к файлам Nextcloud через SMB]] [[https://nextcloud.com/collaboraonline/|Collabora Online in Nextcloud]] [[https://habr.com/ru/post/430970/|Персональное облако / Хабр]] [[https://habr.com/ru/post/357854/|Чем загрузить VPS: своё «облако» Nextcloud / Хабр]] [[https://habr.com/ru/post/410011/|История создания домашнего облака. Часть 3. Создание персонального облака — установка и настройка Nextcloud / Хабр]] [[https://kurazhov.ru/nextcloud-update/|Обновление Nextcloud — kurazhov's blog]] {{tag>File_Server HTTP}}