Verification: a143cc29221c9be0

Nextcloud config php где находится ubuntu

Nextcloud config php где находится ubuntu

Установка и настройка системы и необходимых компонентов

Во время установки Ubuntu Server, отметить для установки SSH Server и LAMP. Выбрать автоустановку обновлений безопасности.

# Войти в режим рута
sudo -i
# Задать статический IP:
nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.7
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
dns-search workgroup

Перезагрузиться.

Зайти в систему по SSH и обновить систему целиком:

sudo -i
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y && apt-get autoremove

Установить все необходимые компоненты и, в данном случае, механизм кэширования APCu + Redis и компоненты для автогенерации favicon:

apt-get install php-zip php-xml php-gd php-json php-curl php-mbstring php-bz2 php-intl php-mcrypt php-apcu redis-server php-redis php-imagick libmagickcore-6.q16-2-extra -y

Если нужен SMB client (для подключения внешних накопителей в Nextcloud), LDAP и Midnight Commander:

apt-get install smbclient php-ldap mc -y

Установка Nextcloud

# Скачать последнюю версию
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
# Распаковать архив в корневую папку веб-сервера
tar xjf latest.tar.bz2 --strip=1 -C /var/www/html
# Удалить исходный архив (если нужно)
rm latest.tar.bz2
# Создать папку для пользовательских данных
mkdir /var/nextcloud-data
# Дать права владельца веб-серверу:
chown -R www-data:www-data /var/www/html /var/nextcloud-data
# Перезапустить Apache:
systemctl restart apache2
# Создать базу MySQL с именем "nextcloud":
mysql -u root -p -e "create database nextcloud";

Открыть браузер, зайти на веб-интерфейс (здесь: 192.168.1.7), задать логин и пароль админа, путь к папке с данными пользователей (здесь: /var/nextcloud-data) и имя БД (здесь: nextcloud). Либо настроить из командной строки:
FIXME - уточнить, можно ли тут обойтись без паролей

sudo -u www-data php /var/www/html/occ maintenance:install --database "mysql" --data-dir "/var/nextcloud-data" --database-name "nextcloud" --database-user "root" --database-pass "password" --admin-user "admin" --admin-pass "password"

Настройка

# Убрать закрывающую строку из конфига и заменить строку overwrite.cli.url на нужную.
# В sed экранирование апострофа безумное - '"'"'
sed -i '
/);/d
/overwrite.cli.url/c \'"'"'overwrite.cli.url\'"'"' => \'"'"'https://192.168.1.7\'"'"',' /var/www/html/config/config.php
 
# Настроить конфиг - "pretty URLs", кэширование, часовой пояс для логов и их ротацию (100 МБ)
echo "'htaccess.RewriteBase' => '/',
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
 'redis' => array(
      'host' => 'localhost',
      'port' => 6379,
       ),
'logtimezone' => 'Europe/Moscow',
'log_rotate_size' => 104857600,
);" >> /var/www/html/config/config.php
 
# Настроить максимальный размер файла на закачку в PHP и лимит памяти
# Проверить версию PHP и путь к используемым php.ini (php --ini), например, он может быть
# /etc/php/7.3/fpm/php.ini. Есть ещё
# /etc/php/7.3/cli/php.ini.
sed -i '
/upload_max_filesize =/c upload_max_filesize = 4G
/post_max_size =/c post_max_size = 4G
/memory_limit =/c memory_limit = 512M' /etc/php/7.3/apache2/php.ini
 
# Настроить параметры opcache
sed -i '
/opcache.enable=/c opcache.enable=1
/opcache.enable_cli=/c opcache.enable_cli=1
/opcache.memory_consumption=/c opcache.memory_consumption=128
/opcache.interned_strings_buffer=/c opcache.interned_strings_buffer=8
/opcache.max_accelerated_files=/c opcache.max_accelerated_files=10000
/opcache.revalidate_freq=/c opcache.revalidate_freq=1
/opcache.save_comments=/c opcache.save_comments=1' /etc/php/7.3/apache2/php.ini

Список часовых поясов для PHP

SSL, mod_env и mod_rewrite для pretty URLs

a2enmod ssl headers env rewrite && a2ensite default-ssl

Включить Strict transport security, Referrer Policy и Forward secrecy:

echo "
 Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
 Header always set Referrer-Policy "no-referrer-when-downgrade"

 
# Set Forward Secrecy
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES
" >> /etc/apache2/sites-available/default-ssl.conf

Перенаправить HTTP на HTTPS

nano /etc/apache2/sites-available/000-default.conf

VirtualHost *:80>
ServerName www.yourdomain.com
Redirect / https://www.yourdomain.com/
VirtualHost>
systemctl restart apache2

Настроить Pretty URLs

nano /etc/apache2/apache2.conf
 
# В разделе  изменить параметр AllowOverride None на AllowOverride All
# Выйти из редактора.
 
# Обновить файл .htaccess:
sudo -u www-data php /var/www/html/occ maintenance:update:htaccess
 
# Перезапустить Apache:
systemctl restart apache2

Переключить фоновые задачи на выполнение кроном

Выключить ненужные ссылки

config/config.php:

# Выключить ссылку на сброс пароля
'lost_password_link' => 'disabled',
# Remove link “Get your own free account”
'simpleSignUpLink.shown' => false,

Настроить аутентификацию через LDAP

Обновление

# Автоматически:
sudo -u www-data php /var/www/html/updater/updater.phar
 
# Вручную:
# Скачать последний релиз
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
# Распаковать скачанный архив в папку установки
tar xjf latest.tar.bz2 --strip=1 -C /var/www/html
# Дать права владельца веб-серверу:
chown -R www-data:www-data /var/www/html
# Включить режим обслуживания
sudo -u www-data php /var/www/html/occ maintenance:mode --on
# Запустить процесс обновления
sudo -u www-data php /var/www/html/occ upgrade
# Выключить режим обслуживания
sudo -u www-data php /var/www/html/occ maintenance:mode --off

https://docs.nextcloud.com/server/latest/admin_manual/maintenance/update.html

Экспресс-обновление со сменой шлюза

ip route change default via 192.168.1.254 dev eth0
apt update && apt upgrade -y && apt autoremove -y
sudo -u www-data php /var/www/html/updater/updater.phar --no-interaction
ip route change default via 192.168.1.1 dev eth0

Обновление на след. мажорный релиз

# Нужно переключиться на бета-канал обновлений, обновляться, а затем переключиться обратно.
sed -i 's/stable/beta/' /var/www/html/config/config.php
sudo -u www-data php /var/www/html/updater/updater.phar --no-interaction
sed -i 's/beta/stable/' /var/www/html/config/config.php
sudo -u www-data php /var/www/html/updater/updater.phar --no-interaction

Настройка кэширования через сервер Redis

Как-то раз произошла ситуация - невозможно было стереть файл с сервера или обновить его, файл был заблокирован:

file is locked
Error transferring bva.dyndns.info/cloud/remote.php/dav/files/user/123.txt - server replied: Locked («123.txt» is locked)

В соответствующем howto советуют обнулить таблицу блокировок в базе mysql, а чтобы ситуация не повторялась, рекомендуют поставить кэширующий сервис Redis. Так как у меня уже был APCu, было решено поставить Redis для блокировок, а APCu оставить для локального кэша.

В Ubuntu это ставится просто, а в Armbian в репозитории отсутствуют соответствующие пакеты, так что пришлось их собирать из исходников.

Установить Redis

Информация устарела, в репозиториях для процессоров ARM появились собранные пакеты.
Теперь достаточно выполнить команду
apt-get install redis-server php-redis

Сборка из исходников

Настройка Nextcloud и разблокировка файлов

Конфиг Nextcloud в части кэширования нужно привести к следующему виду:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
 'redis' => array(
      'host' => 'localhost',
      'port' => 6379,
       ),
# Перевести Nextcloud в режим обслуживания:
sudo -u www-data php /var/www/html/occ maintenance:mode --on
# Зайти в базу "cloud" и очистить блокировки:
mysql -u root -p cloud
DELETE FROM oc_file_locks WHERE 1;
quit
# Вывести Nextcloud из режима обслуживания:
sudo -u www-data php /var/www/html/occ maintenance:mode --off
# Перезапустить Apache:
systemctl restart apache2

Дополнительные материалы

Сертификаты

#Сделать папочку для сертификатов
mkdir /etc/ssl/certs/nextcloud
# самоподписанный сертификат на 10 лет без запроса пароля
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/certs/nextcloud/nextcloud.key -out /etc/ssl/certs/nextcloud/nextcloud.crt
nano /etc/apache2/sites-available/default-ssl.conf
SSLCertificateKeyFile /etc/ssl/certs/nextcloud/nextcloud.key
SSLCertificateFile /etc/ssl/certs/nextcloud/nextcloud.crt
#SSLCACertificateFile /etc/ssl/certs/nextcloud/nextcloud-int.crt

FIXME

sed -i '
/SSLCertificateKeyFile/c SSLCertificateKeyFile /etc/ssl/certs/nextcloud/nextcloud.key
/SSLCertificateFile/c SSLCertificateFile /etc/ssl/certs/nextcloud/nextcloud.crt' /etc/apache2/sites-available/default-ssl.conf

Импорт контактов из файла vcf

Проблема: выгруженный файл vcf с мобильника на Android 4.4 не загружается в приложение «Контакты» в Nextcloud.

Решение:

  1. Открыть файл в программе tcode (в Windows), чтобы строки с кодировкой Quoted Printable перекодировались в нормальный русский текст. Это можно сделать и из командной строки:

    tcode input.vcf /auto output.vcf
  2. Убрать из всего файла строки ;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE

  3. Строки VERSION:2.1 заменить на VERSION:3.0

  4. Сохранить файл в кодировке UTF-8.

Ссылка на выгруженные контакты мобильным приложением

https://path-to-nextcloud-site.com/apps/files/?dir=/.Contacts-Backup

Полезные плагины

Плагин для Outlook

https://download.nextcloud.com/outlook/ Ставить нужно плагин той же разрядности, что и у Офиса (не системы в целом).

Cкачать свежую версию:

# ((Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
# ? {$_.Displayname -match 'Microsoft Office' -and $_.InstallLocation -match "\w"} |
# select -expand installlocation -First 1) -split '\\')[1] -match 'x86'
 
$offx64 = gci "$env:ProgramFiles\Microsoft Office\outlook.exe" -Recurse
$offx86 = gci "${env:ProgramFiles(x86)}\Microsoft Office\outlook.exe" -Recurse
$u = "https://download.nextcloud.com/outlook/"
$f = (curl $u).links |? href -like "20*" | select -Last 1 -expand href
$uf = $u + $f
if ($offx64) {
$plugx64 = (curl $uf).links |? href -like "*64*.msi" | select -expand href
$url64 = $uf + $plugx64
curl $url64 -OutFile "$env:userprofile\Downloads\$plugx64"
}
if ($offx86) {
$plugx86 = (curl $uf).links |? href -like "*86*.msi" | select -expand href
$url86 = $uf + $plugx86
curl $url86 -OutFile "$env:userprofile\Downloads\$plugx86"
}
# Путь к файлам перевода:
${env:ProgramFiles(x86)}\Nextcloud Outlook\Resources\Translations

Перевод на русский:

Автоудаление файлов

Снежок

Полезные команды

Включить превью офисных форматов:

nano /var/www/html/config/config.php
'preview_libreoffice_path' => '/usr/bin/libreoffice',

Удалить пользователя username вместе с его каталогом:

u=username
sudo -u www-data php /var/www/html/occ user:delete $u && rm -rf /var/nextcloud-data/$u

Решение проблем

Failed to connect to www.nextcloud.com

В логах куча сообщений:
GuzzleHttp\Exception\ConnectException: cURL error 7: Failed to connect to www.nextcloud.com port 80: Connection timed out

Сайт nexcloud.com реально бывает недоступен. Workaround - отключить проверку на наличие интернета:

echo "'has_internet_connection' => false," >> /var/www/html/config/config.php

Или не обращать внимания.

Some files have not passed the integrity check

После обновления - ошибка подписи файлов:
Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the documentation. (List of invalid files… / Rescan…)

Помимо выполнения рекомендаций, убедиться, что core/signature.json актуальный.

Поломались "красивые" ссылки (без index.php)

Specified key was too long; max key length is 767 bytes

При обновлении Nexcloud ошибка:
DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin ENGINE = InnoDB ROW_FORMAT = compressed': SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Решение:

mysql -u root -p cloud
 
MariaDB [cloud]> set global innodb_large_prefix=on;
MariaDB [cloud]> set global innodb_file_format=Barracuda;
quit
 
sudo -u www-data php /var/www/html/occ maintenance:repair
sudo -u www-data php /var/www/html/occ upgrade

The database is missing some indexes

Проверка в админке пишет: The database is missing some indexes

Решение:

sudo -u www-data php /var/www/html/occ db:add-missing-indices
# В докере:
docker exec -u www-data nc php occ db:add-missing-indices

Обновление прошло неуспешно, PHP грузит систему на 100%, сайт в неотключаемом maintenance mode

Отключить регулярную задачу в crontab.

# Проверить, включен ли apc cli:
php -i | grep apc.enable
  apc.enable_cli => Off => Off
  apc.enabled => On => On
# Если нет, то включить
echo "apc.enable_cli=1" >> /etc/php/7.4/cli/php.ini
# Перейти в каталог NC (обязательно!) и запустить апгрейд заново
cd /var/www/html/cloud
sudo -u www-data php occ upgrade

Включить регулярную задачу в crontab.

https://help.nextcloud.com/t/nextcloud-21-update-needed/108714/25

Your installation has no default phone region set

sudo -u www-data php /var/www/html/occ config:system:set default_phone_region --value="RU"
# Докер
docker exec -u www-data nc php occ config:system:set default_phone_region --value="RU"

Last background job execution ran 15 hours ago. Something seems wrong

Запустить принудительно

sudo -u www-data php -f /var/www/html/cloud/cron.php

PHP Fatal error: Out of memory (allocated 3533701120) (tried to allocate 36864 bytes) in /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php on line 133

Введение

Шаг 1. Создание базы данных MySQL

NextCloud может использовать базу данных SQLite, PostgreSQL или MySQL для хранения всех своих данных. В этом руководстве мы будем использовать MySQL в качестве предпочтительной базы данных.

Если на вашем сервере Ubuntu не установлены MySQL или MariaDB, вы можете установить его, следуя одной из следующих инструкций:

  • Установите MySQL в Ubuntu 18.04
  • Установите MariaDB в Ubuntu 18.04

Чтобы создать базу данных и пользователя, сначала войдите в оболочку MySQL, набрав следующую команду:


sudo mysql 

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'change-with-strong-password'; FLUSH PRIVILEGES; EXIT;
 

Шаг 2: установка PHP и Apache

Nextcloud - это приложение PHP. PHP 7.2, который является версией PHP по умолчанию в Ubuntu 18.04, полностью поддерживается и рекомендуется для Nextcloud.

Выполните следующую команду, чтобы установить Apache , PHP и все необходимые расширения PHP и:

sudo apt install apache2 php7.2 php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php7.2-imagick php7.2-xml php7.2-zip libapache2-mod-php7.2 

Шаг 3. Настройка брандмауэра

Предполагая, что вы используете UFW для управления брандмауэром, вам необходимо открыть порты HTTP ( 80 ) и HTTPS ( 443 ). Вы можете сделать это, включив профиль Apache Full, который включает правила для обоих портов:

sudo ufw allow 'Apache Full' 

Шаг 4: загрузка Nextcloud

На момент написания этой статьи последней стабильной версией Nextcloud была версия 15.0.0. Прежде чем перейти к следующему шагу, посетите страницу загрузки Nextcloud и проверьте, доступна ли новая версия Nextcloud.

Начните с загрузки последней версии Nextcloud, используя следующую команду wget :

wget https://download.nextcloud.com/server/releases/nextcloud-15.0.0.zip -P /tmp 
sudo unzip /tmp/nextcloud-15.0.0.zip  -d /var/www 
sudo chown -R www-data: /var/www/nextcloud

 

Шаг 5. Настройте Apache

Откройте текстовый редактор и создайте следующий файл конфигурации Apache.

sudo nano /etc/apache2/conf-available/nextcloud.conf 

/etc/apache2/conf-available/nextcloud.conf

Alias /nextcloud "/var/www/nextcloud/"

/var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All

 mod_dav.c>
  Dav off
 

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud


 

Включите недавно добавленную конфигурацию и все необходимые модули Apache с помощью:

sudo a2enconf nextcloud sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime
 

Активируйте изменения, перезапустив службу Apache:

sudo systemctl reload apache2 

Шаг 6: установка Nextcloud

Теперь, когда Nextcloud загружен и все необходимые службы настроены, откройте браузер и запустите установку Nextcloud, посетив доменное имя или IP-адрес вашего сервера, а затем /nextcloud :

http://domain_name_or_ip_address/nextcloud
 

Вам будет представлена ​​страница настройки Nextcloud.


Введите желаемое имя пользователя и пароль администратора, а также данные пользователя и базы данных MySQL, которые вы создали ранее.

Нажмите на Finish setup кнопку, и как только процесс установки будет завершен, вы будете перенаправлены на панель управления Nextcloud, в которую вошли как пользователь с правами администратора.

Подготовка системы

1. Предполагается, что у нас уже есть настроенный сервер Nextcloud, например, по одной из инструкций:

  • Установка и настройка NextCloud на CentOS
  • Установка и настройка Nextcloud + NGINX на Ubuntu

2. Также необходимо убедиться в наличие модуля php-ldap. В противном случае в процессе настройки мы можем получить ошибку the library ldap is not available.

Чтобы посмотреть наличие модуля можно выполнить команду на сервере:

php -m | grep ldap

Если мы получим в ответ пустую строку, то необходимо установить пакет php-ldap и перезапустить службу, обрабатывающую скрипты php.

а) На Linux CentOS:

yum install php-ldap

systemctl restart php-fpm

systemctl restart httpd

* в данном примере мы перезапускаем и php-fpm, и httpd. В вашей системе может использоваться только один сервис.

б) На Linux Ubuntu:

apt-get install php-ldap

systemctl restart php7.4-fpm

systemctl restart apache2

* в данном примере мы перезапускаем и php7.4-fpm, и apache2. В вашей системе может использоваться только один сервис. Имя для сервиса php7.4-fpm может быть другим — это зависит от версии PHP.

3. У нас должна быть учетная запись на сервере LDAP с правами чтения (DN user). От данной учетной записи будет выполняться подключение к серверу каталогов.

В моем примере будет создана запись bind.

Включение модуля (приложения) интеграции с LDAP

По умолчанию, после установки Nextcloud приложение для интеграции с LDAP установлено, но не активировано. Рассмотрим 2 способа его включения.

Графический интерфейс

Переходим к списку приложений:

Переходим к управлению приложениями в Nextcloud

Находим LDAP user and group backend:

Находим приложение для интеграции с LDAP

Справа от приложения кликаем по Включить:

Включаем приложение

Командная строка

Из командной строки мы можем управлять Nextcloud с помощью утилиты occ, которая находится в каталоге самого портала.

Для включения приложения интеграции LDAP вводим команду...

а) на CentOS / Red Hat / Fedora:

sudo -u apache php /var/www/nextcloud/occ app:enable user_ldap

б) на Ubuntu / Debian:

sudo -u www-data php /var/www/nextcloud/occ app:enable user_ldap

* где в приведенных 2-х командах /var/www/nextcloud — путь, в котором установлен nextcloud.
* обе команды аналогичны, за исключением пользователя, от которого они запускаются. В CentOS apache, а в Ubuntu www-data.

Настройка интеграции

Рассмотрим также 2 способа — с помощью веб-интерфейса и командной строки.

Графический интерфейс

Переходим к настройкам, кликнув по значку пользователя и выбрав Настройки:

Переходим к настройкам Nextcloud

Выбираем подраздел Интеграция LDAP / AD:

Переходим в раздел настроек интеграции с LDAP

В открывшемся окне, на вкладке Сервер добавляем имя сервера (можно задать просто имя домена). После нажимаем кнопку Определить порт — мы должны увидеть порт для подключения к каталогу (как правило, 389 или 636):

Прописываем имя и порт сервера ldap

* в данном примере мы задали имя сервера (домена) dmosk.local. Обратите внимание, что не все реализации LDAP позволяют системе определить порт — в таком случае, просто пропишем его вручную.

Ниже вводим данные для учетной записи, которая была нами подготовлена ранее - после кликаем по Сохранить учетные данные:

Указываем пользователя dn user для привязки к ldap

* как говорилось выше, для связки с ldap была создана запись bind. В разных реализациях LDAP могут быть разные требования для указания учетной записи. Например, во FreeIPA необходимо указать uid=bind,cn=users,cn=accounts,dc=dmosk,dc=local.

Для базы поиска пользователей и групп можно просто кликнуть по Определить базу поиска DN — тогда будет определен корень домена. Или можно ввести самому конкретное подразделение:

Настраиваем корень для поиска объектов

* в моем примере данные из AD будут искаться в организационном юните Пользователи, который находится в корне домена dmosk.local. Для других реализаций ldap определение может не работать — вводим вручную. Также, база должна быть соответствующей, например, для FreeIPA это cn=users,cn=accounts,dc=dmosk,dc=local.

Нажимаем Проверить базу поиска DN:

Проверяем базу поиска объектов

Если наши настройки верны, мы должны увидеть фразу «Конфигурация в порядке»:

Мы должны получить сообщение об успешной настройке

Нажимаем Продолжить — мы должны перейти на вкладку Пользователи:

Переходим на вкладку пользователи

На данной вкладке можно ничего не трогать, или настроить дополнительные фильтры. После кликаем по кнопке Проверить настройки и пересчитать пользователей:

Проверяем, что система может найти пользователей в ldap

* в моем примере было найдено 388 пользователей.

В нижней части мы должны увидеть Конфигурация в порядке. Кликаем по Продолжить:

Мы должны увидеть сообщение, что конфигурация в порядке

Мы окажемся на странице Учетные данные:

Переходим на вкладку с учетными данными

Мы можем задать поле, которое будем использовать в качестве логина:

Настройка поля для логина пользователей

* в данном примере мы оставляем значение по умолчанию — имена пользователя ldap.

Ниже мы можем проверить учетную запись, введя ее в специальное поле и нажав Проверить настройки:

Можно проверить пользователя

... если учетная запись найдена, мы увидим сообщение Пользователь найден и настройки проверены:

При успешной проверке мы получим сообщение, что пользователь найден

Внизу проверим, чтобы конфигурация была в порядке и нажимаем Продолжить:

Также должны увидеть сообщение о корректной настройке

На последней вкладке можно задать фильтры для групп или оставить по умолчанию. 

Интеграция настроена. Пользователи будут загружаться из каталога ldap, но их идентификаторы будут отображаться в виде UID — это произвольные набор цифр и букв и его использовать не удобно. Чтобы изменить атрибут для имени nextcloud, кликаем по ссылке Эксперт:

Переходим к экспертным настройкам

Задаем атрибут из ldap, который мы будем использовать для внутреннего имени системы:

Вводим атрибут для отображения логина пользователя

* в данном примере мы задали атрибут, характерный для логина Active Directory. Для FreeIPA указываем uid.

Командная строка

Для дальнейшего удобства, определим переменную с пользователем, от которого работает веб-сервер.

а) для CentOS / Red Hat:

webuser=apache

б) для Ubuntu / Debian:

webuser=www-data

Теперь создаем конфигурацию:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:create-empty-config

Мы должны увидеть в ответ что-то на подобие:

Created new configuration with configID s01

* в данном примере создана конфигурация с идентификатором s01 — последующие команды будут вводиться с данным ID.

Посмотреть информацию о созданной конфигурации можно командой:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:show-config

Теперь задаем настройки.

Указываем ldap-сервер для подключения и порт:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapHost "dmosk.local"

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapPort "389"

* в данном примере мы сервер dmosk.local и порт 389 (не зашифрованные запросы к ldap).

Задаем пользователя, от которого будем выполнять подключения к каталогу:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapAgentName "bind"

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapAgentPassword "bind"; history -d $((HISTCMD-1))

* мы указали, что подключение будет выполняться от пользователя bind с паролем bind. Дополнительная команда history -d $((HISTCMD-1)) удалить из истории строку с паролем.

Задаем область поиска учетных записей:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapBase "ou=Пользователи,dc=dmosk,dc=local"

Задаем фильтры пользователя, поля для логина и класса объекта:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapLoginFilter "(&(|(objectclass=person))(uid=%uid))"

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapUserFilter "(|(objectclass=person))"

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapUserFilterObjectclass "person"

Указываем поле для атрибута электронной почты:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapEmailAttribute "mail"

Проверяем конфигурацию:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:test-config s01

Мы должны увидеть:

The configuration is valid and the connection could be established!

Если же мы увидим ошибку, смотрим лог и устраняем проблемы:

tail /var/www/nextcloud/data/nextcloud.log

Активируем конфигурацию:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapConfigurationActive "1"

Пользователи будут загружаться из каталога ldap, но их идентификаторы будут отображаться в виде UID — это произвольные набор цифр и букв и его использовать не удобно. Чтобы изменить атрибут для имени nextcloud, вводим:

sudo -u ${webuser} php /var/www/nextcloud/occ ldap:set-config s01 ldapExpertUsernameAttr "sAMAccountName"

Торренты и youtube-dl

Вряд ли вы сегодня кого-то удивите торрент-клиентом с веб-интерфейсом, но приятно, когда загружаемыми файлами легко управлять. Youtube-dl, известная программа для получения видео с YouTube и многих других сервисов (включая Twitter, TikTok и даже Pornhub), вообще не имеет собственного графического интерфейса. Поэтому неплохо открыть страницу в браузере, ввести URL-адрес и получить файл, особенно если вы планируете использовать его с мобильного устройства.

ocDownloader

Первое, что я попробовал, это плагин ocDownloader, который можно найти в разделе «Утилиты». После установки перейдите в раздел настроек и в самом низу боковой панели слева найдите пункт Дополнительные настройки. Здесь появится раздел ocDownloader, а в нем — выбор программы, которая будет скачивать файлы — cURL или aria2. А если первый уже точно установлен, то со вторым придется повозиться. Но установив его, можно точно так же скачивать торренты.

Крат­кое руководс­тво по нас­трой­ке aria2 есть в рид­ми к ocDownloader.

Чтобы скачать видео с YouTube, вам нужно выбрать ocDownloader в верхней части Nextcloud, перейти на вкладку YouTube, вставить ссылку. Если youtube-dl установлен и доступен пользователю www-data, загрузка будет работать. Плагин действительно использует youtube-dl, чтобы получить прямую ссылку на видео и загрузить его с помощью выбранной вами программы. На практике это означает, что поддерживаются не все веб-сайты, которые может обрабатывать сам youtube-dl.

Второе ограничение — youtube-dl заработал только в паре с cURL, но не с aria2. Однако я так и не разобрался, что там творится и что пошло не так: зачем нужен кривой плагин с такими ограничениями, когда вместо aria2 можно использовать обычный youtube dl и трансляцию?

youtube-dl

Если вы хорошо поищете, окажется, что для youtube-dl есть веб-интерфейсы. Большинство из них являются форками одного и того же кода с разными модификациями. Самая продвинутая — версия пользователя katznboyz1. Установка описана в файле readme, но это всего лишь тестовый запуск Gunicorn.Для более надеж­ного деп­лоя луч­ше исполь­зовать Gunicorn через веб‑прок­си, в моем слу­чае — nginx. Здесь все хо­рошо докумен­тирова­но, пов­торять­ся не будем.

После установки и настройки вы получаете удобный веб-интерфейс, из которого вы можете отправлять видео для загрузки, выбирать параметры, просматривать историю и даже подписываться на канал, чтобы видео периодически выгружалось и сбрасывалось. в указанной папке.

Мой скрипт выдавал ошибки при работе и по какой-то неизвестной причине он однажды полностью остановился при загрузке видео из Twitter, так что мне все еще приходится с этим бороться.Так­же сущес­тву­ет похожий про­ект — youtube-dl-api-server, который вмес­то веб‑фрон­тенда пре­дос­тавля­ет RESTful API. Подой­дет, если ты собира­ешь­ся заряжать видео на закач­ку через бра­узер­ные пла­гины или какие‑то самопис­ные скрип­ты, а не веб‑интерфейс.

Transmission

Теоретически есть готовое приложение Nextcloud для Transmission, но, как и ocDownloader, у меня с ним дружба не сложилась. Покопавшись, я обнаружил, что автор плагина не беспокоился о каких-либо настройках или документации и обычно рекомендовал использовать созданный им контейнер Docker, который уже содержит Nextcloud и Transmission.

По некоторым причинам это может быть подходящим, но я выбрал свой собственный путь. Первым делом я установил и настроил transmission-demon (как это сделать в Ubuntu, вы можете прочитать в руководстве). Поскольку у него есть собственный веб-интерфейс, для Nextcloud нет необходимости в каких-либо плагинах.

Веб-интерфейс Transmission

Веб-интерфейс Transmission

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

Доступ к файлам и интерфейс для командной строки

Это может показать­ся неоче­вид­ным, но если прос­то взять и на уров­не фай­ловой сис­темы сер­вера бро­сить файл в пап­ку с дан­ными Nextcloud, то Nextcloud это­го фай­ла не уви­дит. При­чина прос­та — Nextcloud ведет свою базу дан­ных и все метадан­ные заносит в нее. А то, что ты видишь в пап­ке типа /var/www/nextcloud/data/пользователь/files, — это что‑то вро­де атта­чей к пись­мам без самих писем.

Вы можете решить эту проблему с разных сторон, но в любом случае нужно убедиться, что папка, из которой вы хотите видеть файлы в Nextcloud, будет доступна пользователю www-data — в том числе для записи, если это необходимо.

Теперь нам нужно что бы Nextcloud, видел эту папку. Самый простой способ сделать это — использовать расширение поддержки внешнего хранилища. Подключите и активируйте его, после чего сможете перейти к его настройкам в разделе Administration (не Personal, где он тоже появится!).

Добавляем внешнее хранилище

Добавляем внешнее хранилище

До­бавь хра­нили­ще типа Local и задай путь к пап­ке. Если пра­ва нас­тро­ены пра­виль­но, сле­ва появит­ся зеленая галоч­ка, а сама пап­ка отоб­разит­ся в раз­деле Files.

Внешнее хранилище с точки зрения Nextcloud

Внешнее хранилище с точки зрения Nextcloud

Сами разработчики Nextcloud в документации описывают этот метод как не особо надежный. Папка сканируется только при открытии из пользовательского интерфейса, а глубина сканирования составляет всего три уровня.

Итак, пришло время познакомиться с инструментом OCC. Если вы активно используете Nextcloud, вы рано или поздно столкнетесь с этим.

info

Рас­шифро­выва­ется наз­вание ути­литы как ownCloud Console, то есть ее наз­вание так и оста­лось от ownCloud.

OCC — это единый инструмент, с помощью которого вы можете делать многие вещи, которые обычно выполняются через веб-интерфейс Nextcloud.Удоб­но, если их вдруг понадо­бит­ся авто­мати­зиро­вать и выз­вать из скрип­тов. На сай­те раз­работ­чика есть под­робная докумен­тация по OCC.

Мы же оста­новим­ся на одной коман­де — files:scan. Если запус­тить ее, то Nextcloud про­индекси­рует содер­жимое сво­их папок и добавит записи о новых фай­лах в базу дан­ных. Вызывать нуж­но так:

sudo -u www-data php occ files:scan --all

Вы можете просто взять эту команду и добавить ее в crontab, например, вызывая ее каждую минуту. Возникающая нагрузка невелика, но этот метод работает в железобетоне. Вам даже не нужно настраивать внешнее хранилище — просто поместите файлы в то же место, где Nextcloud хранит их сам.

Однако, если вам кажется, что это не изящное решение, вы можете попробовать настроить скрипт nextcloud-inotifyscan. У меня не получилось сделать это с наскока.

Мобильное и десктопное приложения

Говоря о Nextcloud, нельзя не упомянуть компонент, который работает на мобильном телефоне. Приложение неплохое, но набор функций минимален — эквивалент раздела Файлы. В нем вы можете передавать файлы туда и обратно, загружать их в память телефона, делиться ими, отправлять в другие программы. Есть встроенные просмотрщики, включая PDF и текстовый редактор.

Но все приложения, которые вы устанавливаете из магазина, останутся веб-ориентированными, и это, на мой взгляд, основная слабость Nextcloud как экосистемы. Однако никто не мешает просматривать веб-интерфейс с телефона.

Дру­гая вещь, которой здесь не хва­тает и которая впол­не мог­ла бы при­сутс­тво­вать — это интеграция с операционной системой телефона (я говорю только об iOS — не было возможности протестировать версию Android). К сожалению, Nextcloud не появился как раздел в приложении «Файлы», как это делают Dropbox и Google Диск. Обидно, потому что я рассчитывал на такое поведение.

Примечательно, что эта функция присутствует в ownCloud, а также есть интерфейс для Shortcuts, системы автоматизации iOS. Однако все это доступно только в платных версиях, что серьезно портит картину.

Что мне понравилось, так это возможность закрыть доступ к приложению и войти в систему через биометрические данные, встроенные в систему — датчик отпечатков пальцев или распознавание лиц.

Также есть программа для десктопов (Windows, Linux, macOS). Она синхронизирует выбранные папки между облаком и жестким диском и напоминает клиента любого аналогичного сервиса — с той небольшой разницей, что вам нужно будет указать адрес вашего сервера.

Настройка синхронизации

Нас­трой­ка син­хро­низа­ции

Папка Nextcloud

Пап­ка Nextcloud

Приватность и безопасность

Использование Nextcloud для повышения безопасности с точки зрения защиты ваших данных от взлома — сомнительная идея, по крайней мере, если вы не готовы предоставить дополнительные меры защиты. Прежде всего, ограничьте доступ с помощью VPN или другого метода и постоянно обновляйте все программное обеспечение.

Увы, на практике любые ограничения доступа начинают спорить с удобством, а техническая поддержка — это не то, что вам следует делать раз в год в первый день отпуска — по крайней мере, если защита является вашим приоритетом. Получается, что ваш сервер или одно из приложений взломают намного быстрее, чем, например, Gmail.

Но если вас раздражает мысль, что тот же Gmail собирает ключевые слова в ваших электронных письмах для таргетинга вашей рекламы, Nextcloud определенно поможет вам избавиться от этого неприятного ощущения. Но — ценой некоторой работы и отказа от многих фич.

Если вы боитесь перемещать свои данные в то или иное состояние … Я вас здесь не учу! Nextcloud может быть или не быть одним из ваших инструментов, но шифрование определенно будет другим.

Мак­сималь­но парано­идаль­ным тре­бова­ниям Nextcloud все рав­но не удов­летво­ряет, по край­ней мере если ты пла­ниру­ешь поль­зовать­ся мобиль­ным при­ложе­нием. Его исходни­ков, в отли­чие от исходни­ков самого Nextcloud, ник­то не видел, и если раз­работ­чики захотят собирать какую‑то ста­тис­тику, то в теории у них для это­го будет воз­можность.

Об уста­нов­ке вся­ких левых при­ложе­ний одной кноп­кой, кста­ти, тоже можешь забыть, если серь­езно заботишь­ся о при­ват­ности и безопас­ности. Чем боль­ше кода, написан­ного энту­зиас­тами и не про­шед­шего никаких ауди­тов, ты пос­тавишь на свой сер­вер, тем боль­ше воз­можнос­тей для про­течек и про­боин.

Итоги

Конечно, запускать Nextcloud — удовольствие на любителя. Если вы планируете развернуть такую ​​экономику, нужно сразу подготовиться к тому, что здесь приложения в основном являются бледными копиями аналогичных коммерческих сервисов и уступают им как по удобству, так и по функциональности, а иногда и по надежности.

Однако, помимо повышения конфиденциальности, есть и другие аргументы в пользу Nextcloud и тому подобного. Один из них — экономия. Например, я использовал свободное пространство, которое получил от хостера вместе с экземпляром VPS. Сервер также может быть дома, иметь доступ к NAS с подключенных жестких дисков или через локальную сеть. Тогда цена за гиг намного ниже.

И, наконец, если вы, как и я, являетесь энтузиастом любой персональной автоматизации и имеете множество сценариев и рабочих процессов для различных действий, то вы наверняка сами поймете, зачем вам все это!

Доступ к файлам и интерфейс для командной строки

Это может показать­ся неоче­вид­ным, но если прос­то взять и на уров­не фай­ловой сис­темы сер­вера бро­сить файл в пап­ку с дан­ными Nextcloud, то Nextcloud это­го фай­ла не уви­дит. При­чина прос­та — Nextcloud ведет свою базу дан­ных и все метадан­ные заносит в нее. А то, что ты видишь в пап­ке типа /var/www/nextcloud/data/пользователь/files, — это что‑то вро­де атта­чей к пись­мам без самих писем.

Вы можете решить эту проблему с разных сторон, но в любом случае нужно убедиться, что папка, из которой вы хотите видеть файлы в Nextcloud, будет доступна пользователю www-data — в том числе для записи, если это необходимо.

Теперь нам нужно что бы Nextcloud, видел эту папку. Самый простой способ сделать это — использовать расширение поддержки внешнего хранилища. Подключите и активируйте его, после чего сможете перейти к его настройкам в разделе Administration (не Personal, где он тоже появится!).

Добавляем внешнее хранилище

Добавляем внешнее хранилище

До­бавь хра­нили­ще типа Local и задай путь к пап­ке. Если пра­ва нас­тро­ены пра­виль­но, сле­ва появит­ся зеленая галоч­ка, а сама пап­ка отоб­разит­ся в раз­деле Files.

Внешнее хранилище с точки зрения Nextcloud

Внешнее хранилище с точки зрения Nextcloud

Сами разработчики Nextcloud в документации описывают этот метод как не особо надежный. Папка сканируется только при открытии из пользовательского интерфейса, а глубина сканирования составляет всего три уровня.

Итак, пришло время познакомиться с инструментом OCC. Если вы активно используете Nextcloud, вы рано или поздно столкнетесь с этим.

info

Рас­шифро­выва­ется наз­вание ути­литы как ownCloud Console, то есть ее наз­вание так и оста­лось от ownCloud.

OCC — это единый инструмент, с помощью которого вы можете делать многие вещи, которые обычно выполняются через веб-интерфейс Nextcloud.Удоб­но, если их вдруг понадо­бит­ся авто­мати­зиро­вать и выз­вать из скрип­тов. На сай­те раз­работ­чика есть под­робная докумен­тация по OCC.

Мы же оста­новим­ся на одной коман­де — files:scan. Если запус­тить ее, то Nextcloud про­индекси­рует содер­жимое сво­их папок и добавит записи о новых фай­лах в базу дан­ных. Вызывать нуж­но так:

sudo -u www-data php occ files:scan --all

Вы можете просто взять эту команду и добавить ее в crontab, например, вызывая ее каждую минуту. Возникающая нагрузка невелика, но этот метод работает в железобетоне. Вам даже не нужно настраивать внешнее хранилище — просто поместите файлы в то же место, где Nextcloud хранит их сам.

Однако, если вам кажется, что это не изящное решение, вы можете попробовать настроить скрипт nextcloud-inotifyscan. У меня не получилось сделать это с наскока.

Мобильное и десктопное приложения

Говоря о Nextcloud, нельзя не упомянуть компонент, который работает на мобильном телефоне. Приложение неплохое, но набор функций минимален — эквивалент раздела Файлы. В нем вы можете передавать файлы туда и обратно, загружать их в память телефона, делиться ими, отправлять в другие программы. Есть встроенные просмотрщики, включая PDF и текстовый редактор.

Но все приложения, которые вы устанавливаете из магазина, останутся веб-ориентированными, и это, на мой взгляд, основная слабость Nextcloud как экосистемы. Однако никто не мешает просматривать веб-интерфейс с телефона.

Дру­гая вещь, которой здесь не хва­тает и которая впол­не мог­ла бы при­сутс­тво­вать — это интеграция с операционной системой телефона (я говорю только об iOS — не было возможности протестировать версию Android). К сожалению, Nextcloud не появился как раздел в приложении «Файлы», как это делают Dropbox и Google Диск. Обидно, потому что я рассчитывал на такое поведение.

Примечательно, что эта функция присутствует в ownCloud, а также есть интерфейс для Shortcuts, системы автоматизации iOS. Однако все это доступно только в платных версиях, что серьезно портит картину.

Что мне понравилось, так это возможность закрыть доступ к приложению и войти в систему через биометрические данные, встроенные в систему — датчик отпечатков пальцев или распознавание лиц.

Также есть программа для десктопов (Windows, Linux, macOS). Она синхронизирует выбранные папки между облаком и жестким диском и напоминает клиента любого аналогичного сервиса — с той небольшой разницей, что вам нужно будет указать адрес вашего сервера.

Настройка синхронизации

Нас­трой­ка син­хро­низа­ции

Папка Nextcloud

Пап­ка Nextcloud

Приватность и безопасность

Использование Nextcloud для повышения безопасности с точки зрения защиты ваших данных от взлома — сомнительная идея, по крайней мере, если вы не готовы предоставить дополнительные меры защиты. Прежде всего, ограничьте доступ с помощью VPN или другого метода и постоянно обновляйте все программное обеспечение.

Увы, на практике любые ограничения доступа начинают спорить с удобством, а техническая поддержка — это не то, что вам следует делать раз в год в первый день отпуска — по крайней мере, если защита является вашим приоритетом. Получается, что ваш сервер или одно из приложений взломают намного быстрее, чем, например, Gmail.

Но если вас раздражает мысль, что тот же Gmail собирает ключевые слова в ваших электронных письмах для таргетинга вашей рекламы, Nextcloud определенно поможет вам избавиться от этого неприятного ощущения. Но — ценой некоторой работы и отказа от многих фич.

Если вы боитесь перемещать свои данные в то или иное состояние … Я вас здесь не учу! Nextcloud может быть или не быть одним из ваших инструментов, но шифрование определенно будет другим.

Мак­сималь­но парано­идаль­ным тре­бова­ниям Nextcloud все рав­но не удов­летво­ряет, по край­ней мере если ты пла­ниру­ешь поль­зовать­ся мобиль­ным при­ложе­нием. Его исходни­ков, в отли­чие от исходни­ков самого Nextcloud, ник­то не видел, и если раз­работ­чики захотят собирать какую‑то ста­тис­тику, то в теории у них для это­го будет воз­можность.

Об уста­нов­ке вся­ких левых при­ложе­ний одной кноп­кой, кста­ти, тоже можешь забыть, если серь­езно заботишь­ся о при­ват­ности и безопас­ности. Чем боль­ше кода, написан­ного энту­зиас­тами и не про­шед­шего никаких ауди­тов, ты пос­тавишь на свой сер­вер, тем боль­ше воз­можнос­тей для про­течек и про­боин.

Итоги

Конечно, запускать Nextcloud — удовольствие на любителя. Если вы планируете развернуть такую ​​экономику, нужно сразу подготовиться к тому, что здесь приложения в основном являются бледными копиями аналогичных коммерческих сервисов и уступают им как по удобству, так и по функциональности, а иногда и по надежности.

Однако, помимо повышения конфиденциальности, есть и другие аргументы в пользу Nextcloud и тому подобного. Один из них — экономия. Например, я использовал свободное пространство, которое получил от хостера вместе с экземпляром VPS. Сервер также может быть дома, иметь доступ к NAS с подключенных жестких дисков или через локальную сеть. Тогда цена за гиг намного ниже.

И, наконец, если вы, как и я, являетесь энтузиастом любой персональной автоматизации и имеете множество сценариев и рабочих процессов для различных действий, то вы наверняка сами поймете, зачем вам все это!

Мобильное и десктопное приложения

Говоря о Nextcloud, нельзя не упомянуть компонент, который работает на мобильном телефоне. Приложение неплохое, но набор функций минимален — эквивалент раздела Файлы. В нем вы можете передавать файлы туда и обратно, загружать их в память телефона, делиться ими, отправлять в другие программы. Есть встроенные просмотрщики, включая PDF и текстовый редактор.

Но все приложения, которые вы устанавливаете из магазина, останутся веб-ориентированными, и это, на мой взгляд, основная слабость Nextcloud как экосистемы. Однако никто не мешает просматривать веб-интерфейс с телефона.

Дру­гая вещь, которой здесь не хва­тает и которая впол­не мог­ла бы при­сутс­тво­вать — это интеграция с операционной системой телефона (я говорю только об iOS — не было возможности протестировать версию Android). К сожалению, Nextcloud не появился как раздел в приложении «Файлы», как это делают Dropbox и Google Диск. Обидно, потому что я рассчитывал на такое поведение.

Примечательно, что эта функция присутствует в ownCloud, а также есть интерфейс для Shortcuts, системы автоматизации iOS. Однако все это доступно только в платных версиях, что серьезно портит картину.

Что мне понравилось, так это возможность закрыть доступ к приложению и войти в систему через биометрические данные, встроенные в систему — датчик отпечатков пальцев или распознавание лиц.

Также есть программа для десктопов (Windows, Linux, macOS). Она синхронизирует выбранные папки между облаком и жестким диском и напоминает клиента любого аналогичного сервиса — с той небольшой разницей, что вам нужно будет указать адрес вашего сервера.

Настройка синхронизации

Нас­трой­ка син­хро­низа­ции

Папка Nextcloud

Пап­ка Nextcloud

Приватность и безопасность

Использование Nextcloud для повышения безопасности с точки зрения защиты ваших данных от взлома — сомнительная идея, по крайней мере, если вы не готовы предоставить дополнительные меры защиты. Прежде всего, ограничьте доступ с помощью VPN или другого метода и постоянно обновляйте все программное обеспечение.

Увы, на практике любые ограничения доступа начинают спорить с удобством, а техническая поддержка — это не то, что вам следует делать раз в год в первый день отпуска — по крайней мере, если защита является вашим приоритетом. Получается, что ваш сервер или одно из приложений взломают намного быстрее, чем, например, Gmail.

Но если вас раздражает мысль, что тот же Gmail собирает ключевые слова в ваших электронных письмах для таргетинга вашей рекламы, Nextcloud определенно поможет вам избавиться от этого неприятного ощущения. Но — ценой некоторой работы и отказа от многих фич.

Если вы боитесь перемещать свои данные в то или иное состояние … Я вас здесь не учу! Nextcloud может быть или не быть одним из ваших инструментов, но шифрование определенно будет другим.

Мак­сималь­но парано­идаль­ным тре­бова­ниям Nextcloud все рав­но не удов­летво­ряет, по край­ней мере если ты пла­ниру­ешь поль­зовать­ся мобиль­ным при­ложе­нием. Его исходни­ков, в отли­чие от исходни­ков самого Nextcloud, ник­то не видел, и если раз­работ­чики захотят собирать какую‑то ста­тис­тику, то в теории у них для это­го будет воз­можность.

Об уста­нов­ке вся­ких левых при­ложе­ний одной кноп­кой, кста­ти, тоже можешь забыть, если серь­езно заботишь­ся о при­ват­ности и безопас­ности. Чем боль­ше кода, написан­ного энту­зиас­тами и не про­шед­шего никаких ауди­тов, ты пос­тавишь на свой сер­вер, тем боль­ше воз­можнос­тей для про­течек и про­боин.

Установка Fail2Ban

Для установки в терминале набираем:

sudo apt-get install fail2ban

После установки Fail2Ban имеет рабочий фильтр для ssh.