====== 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}}