
Установка nextcloud в TrueNas-core.
Привет читателям. Если вы сюда попали и читаете вот это вот всё, значит у вас есть интерес к тому, чтобы создать своё личное облако и уйти от этих все яндексов, маилов, гуглов и прочих платных облаков. Финансовое и все мысли с этим связанные расскажу в других статьях, которые, я надеюсь напишу и выложу). Почему TrueNas-core? Да потому что лично мне было с ним проще разобраться чем с докерами и прочим что есть в scale и мне больше понравилась FreeBSD удобством исползования jail-ов. Тут уже, как говориться, на вкус и цвет все фломастеры разные. Может гляди больше станут пользоваться core-версией, разрабы заметят и не забросят совсем эту ветку. Подразумевается, что трунас вы уже установи-ли и уже знаете, что это такое.
Скажу сразу, я лишь немного продвинутый пользователь ПК и ничему нигде не учился. Просто умею хорошо гуглить, желание сделать ну и в телеге в каналах задавал вопросы иногда. Я такой же новичок в этом всём как и Вы. И как видите, с сайто-строением знаком постольку поскольку )))). Вообще не исключаю что что-либо в настройках может быть немного неверно и надо бы подкрутить. Но! В данном виде всё работает и запускается, а тонкие настрой-ки и тюнинг это уже материал или для самостоятельной работы или других статей.
На данный момент вопрос «а как из интернета попасть в свое облако?» не рассматриваем, считаем что у вас белый IP/умеете использовать ddns.
1. На трунасе крутиться в джейле (позже в этой статье расскажу) прокси сервер angie https://angie.software/ (аналог Nginx-ProxyManager), на который приходят все запросы из интернетов (в роутере прокинуты 80 и 443 порты на прокси сервер), а он уже распределяет по сервисам в вашей сети. Для этого варианта да, нужен домен. Ssl сертификат от LetsEncrypt angie получит сам, причем не нужен никакой certbot и прочее, всего четыре строчки. Это одна из первых причин почему он мне понравился и я переехал на него.
2. Keenetic (netcraze), самое простое. Они вообще красавцы. Во всех роутерах есть пункт «доменное имя», прям роутере придумываешь себе имя и можно «ходить» к себе домой по домену имя.keenetic.pro (если роутер старый) или имя.crazedns.ru с сертификатом. Плюс еще в том, что даже с самым серым айпи можно попадать на своё облако. Одно облако у меня на интернете от usb модема через мобильную сеть.
3. Прямой из интернета.
Первый вариант считаю более привлекательным, по той простой причине, что помимо облака, поста-вите себе офис, какую-нибудь торрент качалку, медиа сервис или что-то еще и всем этим надо рулить из инета. А 443 порт он один, вот поэтому всё идет на прокси сервер, а он уже сам распределяет все запро-сы.
Итак погнали. Сам трунас-core скачиваю отсюда . Так вот, установили, запустили. В плагинах nextcloud мертвый (ноябрь 2025 года), поэтому ставить будем руками в jail. Создание датасетов я опустил, подра-зумевается, что с этим вы уже разобрались и настроили.
Создаем jail, смотрим внимательно картинки. Если это будет первым jail-ом, то система запросит «где хранить данные?», выбираете датасет который под nextcloud выделили.
Тут я всегда выбираю «базовый jail» и последнюю версию.
Далее выбираем dhcp. Это не принципиально, можете сразу прописать статичный IP если вам надо.
Jail создался. Теперь запускаем его.
И проверяем что адрес получен.
По всем канонам root доступ в консолях не разрешают и ходят обычным пользователем с разрешенным sudo, но у меня так ))). Я ssh наружу не выставляю, использую только внутри сети. Опустим лирику.
Запускаем WinSCP, подключаемся к трунасу (нажимаем "войти") с паролем трунасовским, соответственно . Откроется файловый менеджер. И тут же нажимаем "новое соединение", снова выбираем/вводим локальный адрес трунаса и нажимаем "открыть в putty". Запустится терминал и в нём вводим пароль (при вводе пароля курсор не двигается и введенные знаки не отображаются, просто вводите и нажимаете enter):
На следующем фото файловая иерархия, чтоб понимали где искать созданный jail с именем «next».
Итак, открываем Putty и пишем команду
iocage console next
и мы попадаем уже в консоль нашего джейла в котором будем устанавливать nextcloud:
Ну начнем:
pkg update && pkg upgrade pkg install -y nano # Ставим текстовый консольный редактор nano, пусть будет. Если -y не писать, то консоль будет спрашивать «N/Y» и надо будет ей ответить.
Далее будем ставить веб сервер angie вместо nginx. Хотя в официальной документации про него ничего не сказано. Да и в принципе, официальную документацию надо читать )
pkg install -y angie
sysrc angie_enable=YES # эта команда делает запись в файле rc.conf.
Ну так, просто для инфы, этот же файл можно открыть через winscp и сделать запись текстовым редактором:
service angie start # это мы запустили веб сервер.
Теперь если перейти по адресу, который получил наш jail «next», нас будет встречать окно angie. Значит пока не накосячили и всё идет правильным путём:
Теперь возвращаемся к официальной странице nextcloud с требованиями по установке и запоминаем про php 8.4 и mariadb 11.4
Ставим базу данных (БД). Будем ставить mariadb. Чтобы узнать как называется нужный нам пакет, используем команду search :
pkg search mariadb
Поиск показал что нужный пакет называется mariadb114. Надо ставить и сервер и клиент, вот их и ставим:
pkg install mariadb114-{server,client}
Для работы БД с nextcloud нужны пакеты pdo_mysql и mysqli и т.к. в рекомендациях идет php 8.4
pkg install php84-{pdo_mysql,mysqli} # с ними заодно установиться РНР 8.4 которое нам и надо sysrc mysql_enable=YES
Теперь папке temp надо выставить права 777, если не выставить права, получим ошибку: «Установка системных таблиц не удалась! Изучите журналы»
chmod -R 777 /tmp
service mysql-server start # запускаем БД
Начнем настраивать саму БД:
mysql_secure_installation # на первый запрос нажать просто enter, потом везде отвечать «У», придумать и ввести пароль для root пользователя БД и далее отвечать «У». Курсор также не будет двигаться.
Далее будем создавать базу для nextcloud
mysql -u root -p # пароль вводим на запрос тот, который выше придумали
Теперь придумайте логин и пароль для пользователя БД nextcloud, из надо будет вводить ниже вместо. Для образца у меня будет bdadmin с паролем bdpassword:
CREATE USER 'bdadmin'@'localhost' IDENTIFIED BY 'bdpassword'; # не пропустите точку с запятой в конце.
Название самой базы пусть будет nextbd, его ниже и введем и донастроим БД:
CREATE DATABASE nextbd CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON nextbd.* TO 'bdadmin'@'127.0.0.1' IDENTIFIED BY 'bdpassword';
FLUSH PRIVILEGES;
quit
Вот мы и дошли до установки nextcloud
pkg search nextcloud
Т.к. РНР у нас версии 8.4 то и устанавливаем nextcloud-php84:
pkg install nextcloud-php84
Далее надо создать два каталога:
mkdir -p /var/tmp/angie/proxy_temp
mkdir /var/tmp/angie/client_body_temp
Приступаем к настройке веб сервера. Но прежде зайдите в трунас и сделайте снимок этого джейла, чтоб в случае чего можно было быстро откатиться до этого момента. Официальная документация по настройке веб сервера ( нам нужны настройки nginx, т.к. angie это те же разработчики и настройки все одинаковые) предлагает делать один конфиг. Но мы будем делать два файла, чтоб было удобнее перенастроить веб сервер в плане hhtp/https. Запускаем WinSCP, подключаемся к трунасу и идем по пути /наш_jail/usr/local/etc/angie и открываем angie.conf, раскомментируем (удалить знак #) две дерективы:
tcp_nopush on;
gzip on;
Под tcp_nopush добавляем (про точку с запятой не забывайте):
tcp_nodelay on;
types_hash_max_size 2048;
server_tokens off;
server_names_hash_max_size 4096;
keepalive_timeout 65;
# установите максимальный размер загрузки и увеличьте время ожидания загрузки cli-ent_max_body_size 16G;
client_body_timeout 600s;
client_body_buffer_size 512k;
fastcgi_buffers 64 4K;
proxy_temp_path /var/tmp/angie/proxy_temp;
client_body_temp_path /var/tmp/angie/client_body_temp;
# Тайм-ауты прокси и клиентского ответа
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
send_timeout 600s;
proxy_buffer_size 4k;
proxy_buffers 8 16k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
После каждой правки сохраняйте редактируемый файл и вводите в терминале команду:
angie -t
Это проверка синтаксиса. Если где-то ошиблись, терминал об этом скажет и укажет номер строки с ошибкой:
вот я, например, ввёл второе значение keepalive_timeout 65.
Продолжаем. Под gzip on добавляем:
gzip_vary on;
gzip_static on;
gzip_comp_level 4;
gzip_buffers 16 8k;
gzip_disable "msie6";
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml text/javascript application/javascript application/json applica-tion/ld+json application/manifest+json application/rss+xml application/vnd.geo+json applica-tion/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
map $arg_v $asset_immutable {
"" "";
default ", immutable";
}
В начале документа найдите строчку include /usr/local/etc/angie/mime.types; и под ней добавьте:
types {
text/javascript mjs;
}
На этом с angie.conf всё. Сохраняем файл. Открываем тут же каталог http.d и создаем файл nextcloud.conf с таким содержимым:
upstream php-handler {
server unix:/var/run/nextcloud-php-fpm.sock;
}
#Раскомментировать acme_client для получения сертификата letsencrypt, если доступ к нексту прямой по домену,
#а не через прокси веб сервер или роутер кинетик, например. Они сами ssl сертификат получают
#Выделенное имя зеленым (nextcloud) в четырех строчках можете придумать сами.
#acme_client nextcloud https://acme-v02.api.letsencrypt.org/directory;
server {
listen 80 default_server;
listen [::]:80;
# Path to the root of your installation
root /usr/local/www/nextcloud/;
location ^~ /.well-known/acme-challenge {
# Path to the root of your installation
root /usr/local/www/nextcloud/;
try_files $uri $uri/ =404;
}
#location / {
# return 301 https://$host:443$request_uri;
#}
include http.d/nextcloud.inc; # если доступ к nextcloud через https, перенести эту строку в блок listen 443 ssl
}
#server {
# listen 443 ssl;
# http2 on;
# server_name _; # вместо "_" пропишите свой домен
# Три строки ниже просто раскомментируйте чтобы получить сертификат от LetsEncrypt
#acme nextcloud;
#ssl_certificate $acme_cert_nextcloud;
#ssl_certificate_key $acme_cert_key_nextcloud;
# HSTS settings
# ПРЕДУПРЕЖДЕНИЕ: Добавляйте опцию предварительной загрузки только после того, как прочитаете о
# последствия в https://hstspreload.org/. Этот вариант
# добавит домен в жестко запрограммированный список, который будет отправлен
# во всех основных браузерах и быть удаленным из этого списка
# может занять несколько месяцев.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains;" always;
#}
Сохраняем файл (если сделаете проверку синтаксиса, будет ошибка, т.к. файл nextcloud.inc еще не создали) и создаём рядом в этом же каталоге (http.d) файл с именем nextcloud.inc с таким содержимым:
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ^~ /.well-known {
# Правила в этом блоке представляют собой адаптацию правил
# из `.htaccess` Nextcloud, которые касаются `/.well-known`.
# Необходимо предотвратить включение схемы, домена и порта в заголовок Location.
absolute_redirect off;
location = /.well-known/carddav { return 301 /remote.php/dav/; }
location = /.well-known/caldav { return 301 /remote.php/dav/; }
location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
location /.well-known/pki-validation { try_files $uri $uri/ =404; }
# Позвольте API Nextcloud для URI `/.well-known` обрабатывать все остальные
# запросы, передавая их контроллеру интерфейса.
return 301 /index.php$request_uri;
}
# Заголовки HTTP-ответа заимствованы из Nextcloud `.htaccess`
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-Download-Options "noopen" always;
add_header X-XSS-Protection "1; mode=block" always;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Удалить X-Powered-By, который является утечкой информации
fastcgi_hide_header X-Powered-By;
# Укажите, как обрабатывать каталоги, указав `/nextcloud/index.php$request_uri`
# здесь в качестве резервного варианта означает, что Nginx всегда будет вести себя так,
# когда клиент запрашивает путь, соответствующий каталогу, существующему
# на сервере. В частности, если этот каталог содержит файл index.php,
# этот файл будет обработан корректно; если нет, запрос будет передан
# контроллеру фронтенда. Такое согласованное поведение означает, что нам не нужно
# задавать специальные правила для определённых путей (например, изображений и других ресурсов,
# `/updater`, `/ocs-provider`), и, следовательно,
# `try_files $uri $uri/ /nextcloud/index.php$request_uri`
# всегда будет вести себя так, как нужно.
index index.php index.html /nextcloud/index.php$request_uri;
# Правило, заимствованное из `.htaccess` для обработки клиентов Microsoft DAV
location = / {
if ( $http_user_agent ~ ^DavClnt ) {
return 302 /nextcloud/remote.php/webdav/$is_args$args;
}
}
# Правила, заимствованные из `.htaccess`, для скрытия определенных путей от клиентов
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }
location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) { return 404; }
# Убедитесь, что этот блок, передающий PHP-файлы в PHP-процесс, находится выше блоков,
# обрабатывающих статические ресурсы (как показано ниже). Если этот блок не объявлен первым,
# то angie столкнётся с бесконечным циклом перезаписи при добавлении `/index.php`
# к URI, что приведёт к ошибке HTTP 500.
location ~ .php(?:$|/) {
# Требуется для поддержки устаревших версий
rewrite ^/(?!index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|.+/richdocumentscode(_arm64)?/proxy) /index.php$request_uri;
fastcgi_split_path_info ^(.+?.php)(/.*)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
#fastcgi_param HTTPS on; # раскоментировать если некст работает по домену(сервер 443)
fastcgi_param modHeadersAvailable true; # Избегайте повторной отправки заголовков безопасности
fastcgi_param front_controller_active true; # Включить красивые URL-адреса
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering on; # Требуется, так как PHP-FPM не поддерживает кодирование фрагментиро-ванной передачи и требует допустимого заголовка ContentLength, было off
# Тайм-ауты ответа PHP-FPM 504
# Раскомментируйте и увеличьте эти значения, если при загрузке больших файлов возникают ошибки тайм-аута.
#fastcgi_read_timeout 60s;
#fastcgi_send_timeout 60s;
#fastcgi_connect_timeout 60s;
fastcgi_max_temp_file_size 0;
}
# Обслуживание статических файлов
location ~ .(?:css|js|mjs|svg|gif|ico|jpg|png|webp|wasm|tflite|map|ogg|flac)$ {
try_files $uri /nextcloud/index.php$request_uri;
# Заголовки HTTP-ответа заимствованы из Nextcloud `.htaccess`
add_header Cache-Control "public, max-age=15778463$asset_immutable";
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-XSS-Protection "1; mode=block" always; # перенесено из старого
access_log off; # Optional: Don't log access to assets
}
location ~ .(otf|woff2?)$ {
try_files $uri /nextcloud/index.php$request_uri;
expires 7d; # Политика управления кэшем заимствована из `.htaccess`
access_log off; # Необязательно: не регистрировать доступ к активам
}
# Rule borrowed from `.htaccess`
location /remote {
return 301 /remote.php$request_uri;
}
location / {
try_files $uri $uri/ /index.php$request_uri;
}
Сохраняем. Не забываем в терминале проверять синтаксис angie -t и убеждаться, что терминал выдал всего две строки ответа:
root@next:~ # angie -t
angie: the configuration file /usr/local/etc/angie/angie.conf syntax is ok
angie: configuration file /usr/local/etc/angie/angie.conf test is successful
Скопировав отсюда весь конфиг и вставив в текстовый редактор WinSCP, всё вставляется правильно. В принципе проблем не должно быть.
Продолжаем настройку. Далее переходим к терминалу и запускаем php_fpm :
sysrc php_fpm_enable=YES
service php_fpm start
Настраиваем mysql как описано тут отредактировав два файла. Открываем файл /usr/local/etc/mysql/my.cnf и редактируем.
Перед [client-server] вставляем:
[server]
skip_name_resolve = 1
innodb_buffer_pool_size = 128M
innodb_buffer_pool_instances = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 32M
innodb_max_dirty_pages_pct = 90
query_cache_type = 1
query_cache_limit = 2M
query_cache_min_res_unit = 2k
query_cache_size = 64M
tmp_table_size= 64M
max_heap_table_size= 64M
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
И в конце добавляем:
[client]
default-character-set = utf8mb4
[mysqld]
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
transaction_isolation = READ-COMMITTED
binlog_format = ROW
innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=1
Теперь идем по пути /usr/local/etc/php/ext-30-pdo_mysql.ini и добавляем:
[mysql]
mysql.allow_local_infile=On
mysql.allow_persistent=On
mysql.cache_size=2000
mysql.max_persistent=-1
mysql.max_links=-1
mysql.default_port=
mysql.default_socket=/var/run/mysql/mysql.sock
mysql.default_host=
mysql.default_user=
mysql.default_password=
mysql.connect_timeout=60
mysql.trace_mode=Off
С БД всё, теперь настраиваем РНР. Идем по пути /usr/local/etc/ и создаем файл php.ini с таким содержанием:
memory_limit = 578M
upload_max_filesize=64G
post_max_size=48G
max_input_time 3600
max_execution_time 3600
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Идём по пути /usr/local/etc/php-fpm.d/ и создаём файл nextcloud.conf :
[nextcloud]
user = www
group = www
listen = /var/run/nextcloud-php-fpm.sock
listen.owner = www
listen.group = www
pm = dynamic
pm.max_children = 100
pm.start_servers = 25
pm.min_spare_servers = 25
pm.max_spare_servers = 75
php_admin_value[session.save_path] = "/usr/local/www/nextcloud-sessions-tmp"
php_admin_value[date.timezone] = "Europe/Moscow"
; Nextcloud wants PATH environment variable set.
env[PATH] = $PATH
Далее читаем офф доку и доустанавливаем:
pkg install php84-phar pkg install php84-pecl-imagick pkg install ffmpeg4 pkg install sudo # Надо чтобы запускать обновление некстклауда в терминале командой sudo -uwww php /var/www/nextcloud/updater/updater.phar
С этим всё. Остались штрихи, выполняем команды в терминале:
chown -R 80:80 /usr/local/www/nextcloud # выдали права на каталог nextcloud
mkdir -m 700 /usr/local/www/nextcloud-sessions-tmp # создали каталог для временных сессий
chown -R 80:80 /usr/local/www/nextcloud-sessions-tmp # выдали ему права
Ну и перезапускаем службы:
service mysql-server restart
service angie restart
service php_fpm restart
Небольшое отступление, если для файлов пользователей облака (в некстклауде это каталог data) вы сделаете отдельный датасет/пул/другое место, то остановите джейл, в настройках джейла «точки монтирования» пропишите путь до каталога под личные файлы.
Открываем браузер и заходим по IP нашего nextcloud. Придумываем логин и пароль для адми-на некстклауда, и заполняем остальные поля и нажимаем «установить».
Небольшое уточнение, на момент написания (6 ноября 2025) в некстклауде был баг, установка не начиналась. Для этого идем по пути /usr/local/www/nextcloud/config/ и создаем файл autoconfig.php с таким содержимым:
$AUTOCONFIG = array(
"dbtype" => "mysql",
);
Обновляем страницу и нажимаем «установить». И вот оно, наше облако.
Про настройки самого некстклауда разговора сейчас не будет. Если зайти в «параметры сервера-общие сведения» там будут предупреждения, которые надо «лечить», об этом в другой статье(когда не знаю) но все это легко гуглится /в телеге/на форумах и т.п. Там не сложно.
Организация доступа извне к нашему облаку.
1. Через прокси серверу по домену.
Для этого вы должны знать ка пробросить 80 и 443 порты напрямую на айпи адрес джейла который сейчас будет создаваться и как из интернета в принципе «заходить к себе домой», и как у хостера прописывать записи А для своего домена. В качестве прокси сервера будем снова использовать angie.
Создаем новый jail и заходим в него. Устанавливаем angie:
pkg install angie
sysrc angie_enable=YES
service angie start
Открываем WinSCP заходим в наш новый джейл по пути /usr/local/etc/angie/http.d/ и создаем файл с любым именем.conf с таким содержимым (ИмяЛатиницейЛюбое – в одном конфиге должно быть одинаковое во всех четырех строчках и не совпадать с другими именами в других конфигах):
# cat /usr/local/etc/angie/http.d/своеоблако.conf
# Acme Let's Encrypt certificate enable
acme_client ИмяЛатиницейЛюбое https://acme-v02.api.letsencrypt.org/directory;
resolver 192.168.1.1; # ip роутера
server {
listen 80;
server_name СвойДоменПишите; # если домен в зоне рф, то использовать запись в punycode https://2ip.ru/punycode/
# Redirect all HTTP to HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
http2 on;
server_name СвойДоменПишите;
# Obtain and use certificate from LetsEncrypt
acme ИмяЛатиницейЛюбое;
ssl_certificate $acme_cert_ИмяЛатиницейЛюбое;
ssl_certificate_key $acme_cert_key_ИмяЛатиницейЛюбое;
location / {
proxy_pass http://192.168.1.136:80; #тут пишите локальный айпи своего некстклауда
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
client_max_body_size 0m; # тут можно задать максималный размер загружаемого файла, например 1m, значит пользователь сможет загрузить файл не больше одного мегабайта
}
}
Как видим, всё элементарно и просто, angie сам получил сертификат LetsEncrypt. Собственно говоря этим он мне и понравился.
Теперь осталось поправить конфиг некстклауда, добавить свой домен доверенные, о чем он сам и пишет в окне:
Конфиг лежит в джейле некстклауда по пути /usr/local/www/nextcloud/config/ . Открываем config.php и в секцию trusted_domains добавляем свой домен, не забываем про запятую в конце!
2. Доступ к облаку через роутеры keenetic (самое простое).
Вот вы купили себе кинетик, включили, заходите в список устройств и регистрируете свой некстклауд.
Далее идёте в сетевые_правила-доменное_имя. Придумываете себе имя, регистрируете и ждете пока не появиться надпись «С сертификатом ssl»
Как появилась, нажимаете добавить и создаете правило для некстклауда, тут всё интуитивно понятно:
Ну собственно и всё, добавляете этот домен в доверенные некстклауда и пользуетесь.
P.s. бывает что при доступе через keenetic нельзя войти, перезагружается страница авторизации. В таком случае через cli кинетика надо прописать команду ip http proxy next preserve-origin где next это доменное имя которое назначили для nextcloud, потом открыть config.php некстклауда и добавить строку
'overwriteprotocol' => 'https',
Ну а далее уже выполнить послеустановочные настройки. На официальной странице есть раздел для тюнинга.
Всем удачи !
Забыл добавить, когда терминалом входите в jail, то команды для nextcloud все те же как и в линукс версии, только их надо писать сразу с 'occ', например так:
occ files:scan --all
Отдельная благодарность чатикам в тележеньке, которые наполняли мой мозг знаниями:
P.S. Если всё выше написанное помогло вам со своим облаком, тогда можете выписать премию к пенсии )))))























