Установка ownCloud 10 и Transmission в OMV 4 (Arrakis) без плагинов (для ленивых)

Список разделов Openmediavault по-русски Плагины

Описание: Установка и настройка плагинов в OpenMediaVault.
Здесь обсуждаем и задаем вопросы только по дополнениям и плагинам.
Модератор: Major

#1 Vasom » 16.11.2017, 01:31

Всем привет!
Openmediavault 4 (Arrakis) вышел в релиз и я решил опробовать его на виртуалке.
Что привлекло в новом OMV: Debian 9.2; архитектура только 64х; "из коробки" php 7.0.
Дистрибутив OMV (на момент написания 4.0.9.) скачивается с оф. сайта: https://sourceforge.net/projects/openmediavault/files/4.0.9/openmediavault_4.0.9-amd64.iso/download
Установку самого OMV нет смысла описывать - она ничем не отличается от предыдущих версий, настройка основных сервисов тоже, а вот установка ownCloud и Transmission имеет некоторые нюансы, поэтому решил сваять этот гайд.

Сам задам несколько вопросов и отвечу на них :biggrin:
В: Почему установка ownCloud и Transmission без плагинов?

О: 1. ownCloud. Давно установлено, что ownCloud без специального плагина работает надежнее и стабильнее; плагин не так оперативно обновлялся, как серверная часть облака и вносил свои глюки; без плагина проще админить (резервные копии, перенос, обновление и т.д.). Справедливости ради надо отметить, что используются 2 других плагина: MySQL и Nginx - по идее можно и от них отказаться, поставив все из консоли, но обычно багов в их работе не замечено, а настройка упрощается в разы.
2. Transmission. Тут все проще, на момент написания в репозиториях нет такого плагина, так что выбора просто не было. К тому же этот сервис очень простой для настройки и без плагина.

В: Почему для ленивых?
О: Гайд не только для ленивых, кому лень клацать по клавишам, но и для начинающих, которых бросает в пот при слове "консоль". В гайде я постараюсь минимизировать работу в консоли (но без нее все равно никуда) и больше отдать предпочтение работе мышкой. Многие люди, не имеющие опыта работы в linux системах, просят писать проще, а не на сухом языке linux, благо сейчас многие сервисы имеют свои веб-морды и позволяют это сделать. Ну и напишу более менее подробно, чтобы не получилась известная всем тема "как нарисовать сову".

Далее гайд разобью на 3 части:
1. Общее
2. Установка ownCloud
3. Установка Transmission

1. Общее
После установки OMV Вы увидите консоль с предложением ввести логин. Логин у всех root, а пароль тот, что Вы задали при установке. Далее, для простоты, я везде использую пароль "123", но у меня система виртуальная и не стоит так делать на рабочей системе - это понятно.
После ввода логина и пароля надо узнать (если не знаете), какой IP адрес достался серверу, чтобы зайти на его веб-морду.
Вводим:
Код: Выделить всё
ip a
В результате увидим IP(первый слева в строке, у меня это 192.168.115.134), который вводим в браузере и больше мы к этой консоли не вернемся!
Все скрины далее кликабельны.
ip.jpg

Для ввода всех последующих команд будем использовать протокол SSH и программу PuTTY https://www.chiark.greenend.org.uk/~sgtatham/putty/
Работу с файлами и папками будем осуществлять в Midnight Commander (mc) запушенном все в том же PuTTY- это консольный файловый менеджер для Linux.
Немного о работе в mc, далее уже повторять не буду:
Копирование файла - F5
Перенос файла - F6
Создать папку - F7
Меню - F9
Перемещение курсора между панелями - Tab
Выход из mc - F10
Открыть файл для чтения - F3
Открыть файл для правки - F4 (в первый раз просит выбрать редактор - самый простой и надежный nano под цифрой 1)
Сохранить изменения в файле Ctrl+O
Выйти из режима редактирования файла Ctrl+X
Для копирования текста внутри файла надо поставить курсор клавишами стрелок (не мышкой) в место, куда вставляется текст, мышкой выделить фрагмент, который копируем, и на ранее установленный курсор кликаем правой кнопкой мышки.
Для копирования текста между файлами или между виндовой машиной и PuTTY лучше использовать сочетание Ctrl+insert (копировать) и Shift+insert (вставить).
Чтобы не писать руками пути до папок, открываем в mc нужную папку и сворачиваем панели mc сочетанием Ctrl+O. После этого открытый путь выделяем мышкой и жмем Ctrl+insert для копирования, затем панели надо вернуть опять нажав Ctrl+O !!! При свернутых панелях можно вводить команды, но не стоит открывать файлы для редактирования - есть баг. Все дело в том, что сохранение редактируемого файла и скрытие панелей используют комбинацию Ctrl+O и если Вы откроете в nano файл для редактирования и потом захотите его сохранить, то при нажатии CTRL+O у вас откроются панели mc и файл не сохранится.

Итак: Мы попали на веб-морду OMV. Стандартный логин: admin, пароль: openmediavault (лучше сразу сменить в общих настройках)
login.jpg
login.jpg (40.62 КБ) Просмотров: 747

Открываем раздел сервиса SSH (он уже включен по умолчанию) и для первичной настройки можно ничего не менять, просто ввести эти же данные в PuTTY. В дальнейшем лучше отключить вход для рут и сделать для этого другого пользователя.
ssh.jpg

После ввода пользователя root и его пароля в PuTTY должны увидеть нечто подобное:
putty.jpg

Проверяем обновления и ставим mc, поочередно выполняя команды (так как мы зашли под root, можно не писать sudo перед каждой командой)
Код: Выделить всё
apt-get update
Код: Выделить всё
apt-get upgrade
Код: Выделить всё
apt-get install mc
Запускаем mc
Код: Выделить всё
mc
Если все правильно, то Вы увидите файловый менеджер и переходим к следующему этапу.
mc.jpg


Добавлено спустя 1 час 4 минуты:
2. Установка ownCloud
Ранее у нас была отличная инструкция по установке OwnCloud 8 в Openmediavault (без плагина) http://homenas.ru/forum/viewtopic.php?f=4&t=440 от ув. Roman http://homenas.ru/forum/memberlist.php?mode=viewprofile&u=152 но время идет, ПО обновляется, а гайды устаревают, увы.
Естественно, часть этой инструкции берет свои корни из указанной выше. Спасибо, Roman.
Приступим:
Для работы ownCloud нам понадобится установить 2 плагина, которые идут в пакете OMVExtras
Скачиваем пакет с оф. сайта http://omv-extras.org/openmediavault-omvextrasorg_latest_all4.deb
Заходим на веб-морду OMV -> раздел плагины -> кнопка "загрузить" и выбираем скачанный выше файл.
После этого в списке сразу появится нужный плагин, отмечаем его и устанавливаем:
extras.jpg


После установки в разделе плагины ждем кнопку "проверка" для обновления списков плагинов, без этого нужные не отобразятся.
Находим в списке нужные, отмечаем, устанавливаем:
plugins.jpg


Если все верно, в списке сервисов появится 2 новых, только что добавленных:
services.jpg
services.jpg (25.3 КБ) Просмотров: 745


Через консоль ставим пакеты, необходимые для правильной работы ownCloud
Код: Выделить всё
apt-get install php7.0-zip
Код: Выделить всё
apt-get install php7.0-gd
Код: Выделить всё
apt-get install php7.0-curl
Код: Выделить всё
apt-get install redis-server php-redis
Код: Выделить всё
apt-get install php-apcu
Код: Выделить всё
apt-get install memcached php-memcached

Через веб-морду создаем общий каталог www и в нем подкаталок owncloud (права пока не трогаем, оставим по умолчанию). Создаем именно за 2 раза.
У меня примонтирована виртуальная файловая система с меткой "data" поэтому везде далее будет путь на этот диск.
www.jpg

wwwcloud.jpg

Для хранения данных рекомендую использовать отдельную папку, вне созданной выше. Это облегчит дальнейшее администрирование.
Так же как и выше, создаем в корне диска каталог clouddata, права пока тоже по умолчанию.
С оф. сайта ownCloud скачиваем серверную часть, распаковываем и любым удобным способом закидываем в папку www/owncloud https://download.owncloud.org/community/owncloud-10.0.3.zip
Теперь можно выставить права. Чтобы не писать в консоли, делаем через веб-морду, как на скринах:
acl.jpg

acldata.jpg


Через веб-морду создаем SSL сертификат, нужен будет позже.

Переходим к настройке MySQL.
В списке сервисов открываем MySQL, включаем, сбрасываем пароль по умолчанию:
sqlpass.jpg

Кнопкой "show" открываем сайт управления MySQL. Логин по умолчанию omvadmin, пароль установили шагом выше.
- Создаем базу данных owncloud и открываем ее
Через меню Инструменты -> пользователь manager создаем пользователя owncloud и даем ему пароль (у меня все тот же 123)
sqluser.jpg

тут же даем пользователю права на базу owncloud (порядок действий на скрине):
sqlbase.jpg

Можно закрывать страницу MySQL - настройка завершена.

Настройка плагина Nginx:
В списке сервисов открываем плагин, включаем.

На вкладке pools добавим запись как на скрине (доп опции пока не трогаем, может не запуститься сайт в первый раз)
pool.jpg


На вкладке сервера добавим сервер:
server.jpg

В расширенные опции сервера добавим следующее:
Код: Выделить всё
client_max_body_size 10G; # set max upload size
fastcgi_buffers 64 4K;

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}

location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ index.php;
}

location ~ ^(.+?\.php)(/.*)?$ {
try_files $1 = 404;

include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
fastcgi_param HTTPS on;
fastcgi_pass $socket;
}

# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}

Теперь нам надо сделать первичную настройку облака, чтобы сконфигурировался файл config.php, который потом будем править.
В строке сервера кликаем на url и должен открыться сайт ownCloud с первичной настройкой
owncloud.jpg


меняем настройки базы и путь до каталога данных на свои, пользователя и пароль указываем любого - это будет учетка админа
owncloud1.jpg


Первичная настройка завершена

При входе на веб-морду облака в разделе основных настроек видим ошибки:
errors.jpg


Устраним их:
- В файл www/owncloud/config/config.php добавим следующие строки:
Код: Выделить всё
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',

- в дополнительные опции пула nginx добавим следующее:
Код: Выделить всё
env[PATH] = /usr/local/bin:/usr/bin:/bin

- в консоли пишем
Код: Выделить всё
crontab -u www-data -e
и в самый низ открывшегося файла добавим строку и сохраним:
Код: Выделить всё
*/15  *  *  *  * php -f /тут свой путь до папки/owncloud/cron.php
После этого надо зайти на веб-морду облака и включить в настройках cron, после чего выйти из системы и заново зайти

Вуаля! Все настройки завершены:
noerrors.jpg


Добавлено спустя 25 минут 38 секунд:
3. Настройка Transmission

Через консоль ставим следующиие пакеты:
Код: Выделить всё
apt-get install transmission-common transmission-daemon

Создаем через веб-морду OMV общий каталог torrent, права пока по умолчанию
torrent.jpg


через mc заходим в папку torrent и добавим 2 папки (клавиша F7) downloading и complete
torrentfolders.jpg


Задумка такая, что торренты во время скачки находятся в папке downloading и по окончанию скачки автоматически переносятся в complete - так не будет путаницы.

Теперь через веб-морду OMV ставим права сразу на все папки:
torrentacl.jpg


В консоли остановим демона, иначе не получится править файл конфигурации:
Код: Выделить всё
/etc/init.d/transmission-daemon stop

Файл конфигурации лежит по пути: /etc/transmission-daemon/settings.json
выбираем файл в mc, жмем F4 (мы же помним, что мы ленивые)
Минимально в файле правим следующее, остальное по желанию - там все понятно:

«download-dir» — папка загрузки
"incomplete-dir" - папка незавершенной загрузки (надо включить в соседней строке)
«rpc-whitelist» — ip-адреса, с которых можно получить доступ или в строке "rpc-whitelist-enabled" пишем false, чтобы доступ был с любого.
«rpc-username» — логин для доступа
«rpc-password»: «тут будет абракадабра» все, что в кавычках («») меняем на свой пароль в открытом виде, потом он сменит вид на шифрованный автоматически.

Чтобы все заработало я правил только следующие строки:
Код: Выделить всё
"download-dir": "/srv/dev-disk-by-label-data/torrent/complete",
"incomplete-dir": "/srv/dev-disk-by-label-data/torrent/downloading",
"incomplete-dir-enabled": true,
"rpc-password": "123",
"rpc-username": "123",
"rpc-whitelist-enabled": false,

Сохраняем конфиг и стартуем демон:
Код: Выделить всё
/etc/init.d/transmission-daemon start

Проверим, что включен автозапуск демона при старте системы. Для этого в файле /etc/default/transmission-daemon в строке ENABLE_DAEMON= должна стоять 1. Если 0, то автозапуск выключен.

Все, Transmission работает и через свою веб-морду и через приложение Remote Transmission GUI
transmisiongui.jpg


transmisionremotegui.jpg


Добавление папки слежения для Transmission:

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

1. В папке torrent создаем подпапку start и через веб-морду, как было выше, установим права сразу на всю папку torrent.

2. Остановим демона
Код: Выделить всё
/etc/init.d/transmission-daemon stop
и откроем для правки файл /etc/transmission-daemon/settings.json

В самый низ, до закрывающей фигурной скобки, добавим следующие строки (в последней строке нет запятой в конце, во всех остальных есть, обратите внимание!):

Код: Выделить всё
"watch-dir": "/srv/dev-disk-by-label-data/torrent/start",     (Тут, конечно, у каждого свой путь. Я пишу для примера, как было выше)
"watch-dir-enabled": 1

Если мы хотим, чтобы файлы .torrent автоматически удалялись из папки слежения после добавления задания, то строку

Код: Выделить всё
"trash-original-torrent-files": false,

меняем на

Код: Выделить всё
"trash-original-torrent-files": true,

Если этого не делать, то после добавления задания, файл .torrent автоматически переименовыввается в .torrent.added (если не ошибаюсь) и файл остается в папке слежения и со временем их там будет очень много. Тут каждый решит для себя, как ему удобнее.

3. Стартуем демона и проверяем работоспособность)
Код: Выделить всё
/etc/init.d/transmission-daemon start
Последний раз редактировалось Vasom 14.12.2017, 17:20, всего редактировалось 4 раз(а).
OMV 3.0.89. Intel Pentium G2120 3,1GHz 8Gb RAM. Системный SSD Silicon Power 32Gb. Суммарный объем дисков WD Red 10Tb.
Vasom M
Автор темы, Бывалый
Аватара
Возраст: 38
Откуда: Санкт-Петербург
Репутация: 23
Сообщения: 86
С нами: 2 года 8 месяцев

#2 Chexov » 16.11.2017, 22:09

Спасибо!
Chexov
Репутация: 0
Сообщения: 3
С нами: 2 года 5 месяцев

#3 yurok » 01.12.2017, 08:35

Как заставить transmission задавать правильные права на файлы? При настройках, как указано здесь директории создаются с правами 777, но файлы только на чтение/запись для transmission и чтение для всех остальных.
yurok

#4 Гость » 02.12.2017, 02:38

Тут указаны минимальные настройки, чтобы работал transmission. В тестируемой системе выше даже не было создано ни одного пользователя. Фактически же, Вы можете выставить любые права любым пользователям на папки, которые использует transmission, добавить эти папки в шару любым другим сервисам (ftp, nfs и т.д.) главное не забыть выставить права debian-transmission, чтобы не нарушить работоспособность сервиса.
Гость

#5 Vasom » 02.12.2017, 02:39

Авторизоваться забыл... :toothless:
OMV 3.0.89. Intel Pentium G2120 3,1GHz 8Gb RAM. Системный SSD Silicon Power 32Gb. Суммарный объем дисков WD Red 10Tb.
Vasom M
Автор темы, Бывалый
Аватара
Возраст: 38
Откуда: Санкт-Петербург
Репутация: 23
Сообщения: 86
С нами: 2 года 8 месяцев

#6 ToXaNSK » 11.12.2017, 10:57

Спаисбо за мануал, по нему можно и NextCloud поставить.

OMV 4 стабильный релиз или еще нет?
На офф. форуме находил пост, что еще не рекомендуют его на рабочий сервер, для простых смертных.
ToXaNSK
Репутация: 0
Сообщения: 1
С нами: 5 дней 7 часов

#7 Vasom » 11.12.2017, 17:33

ToXaNSK, в разделе загрузок на оф. сайте OMV нет описаний файлов и нет разделения по релизам (бета, стабильный, nightly и т.д.), но на главной странице предлагается скачать 3.0.86 как последнюю версию, хотя уже выложена 4.0.14. Оф. форум не изучал по данной теме, обычно просто ставлю на виртуалке и проверю работоспособность. Однако, судя по "Looking for the latest version? Download openmediavault_3.0.86-amd64.iso (403.7 MB)" можно сделать вполне логичный вывод, что это и есть последняя стабильная версия.

Кстати, у меня еще не дошли руки попробовать NextCloud (кто не знает - это следующее поколение облака, запущенное разработчиком ownCloud). ToXaNSK, Вы пробовли? Может расскажете нам об отличиях? По крайней мере на оф. сайте nextcloud.com есть все мобильные и десктопные клиенты, можно устроить полноценный тест или даже переход...
OMV 3.0.89. Intel Pentium G2120 3,1GHz 8Gb RAM. Системный SSD Silicon Power 32Gb. Суммарный объем дисков WD Red 10Tb.
Vasom M
Автор темы, Бывалый
Аватара
Возраст: 38
Откуда: Санкт-Петербург
Репутация: 23
Сообщения: 86
С нами: 2 года 8 месяцев

#8 vikror » 14.12.2017, 04:23

получил вот это:
Ошибка #0:
OMV\Config\DatabaseException: Failed to execute XPath query '/config/services/transmissionbt/modules/blocklists'. in /usr/share/php/openmediavault/config/database.inc:78
Stack trace:
#0 /usr/share/openmediavault/engined/rpc/transmissionbt.inc(213): OMV\Config\Database->get('conf.service.tr...')
#1 [internal function]: OMV\Engined\Rpc\TransmissionBt->getBlocklistsSettings(NULL, Array)
#2 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array)
#3 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('getBlocklistsSe...', NULL, Array)
#4 /usr/sbin/omv-engined(536): OMV\Rpc\Rpc::call('TransmissionBt', 'getBlocklistsSe...', NULL, Array, 1)
#5 {main}
третий день не могу победить.
vikror
Репутация: 0
Сообщения: 6
С нами: 1 год 8 месяцев

#9 Vasom » 14.12.2017, 16:01

vikror, немного подробностей не помешало бы... (после чего это, что делали, что хотите сделать)
Похоже, что ошибка идет из /etc/openmediavault/config.xml
Вы случаем не пытаетесь установить transmission из консоли после плагина?
Когда ставите плагин через вэб-морду, то настройки transmission вносятся и в /etc/openmediavault/config.xml и в /etc/transmission-daemon/settings.json, а при установке из консоли все только в /etc/transmission-daemon/settings.json
OMV 3.0.89. Intel Pentium G2120 3,1GHz 8Gb RAM. Системный SSD Silicon Power 32Gb. Суммарный объем дисков WD Red 10Tb.
Vasom M
Автор темы, Бывалый
Аватара
Возраст: 38
Откуда: Санкт-Петербург
Репутация: 23
Сообщения: 86
С нами: 2 года 8 месяцев

#10 vikror » 14.12.2017, 22:42

дошло.спасибо за подсказку.только наоборот всё сначала пробовал по здешней инструкции а когда не получилось сунул плагин.сегодня ушёл на третью версию.всё ставится через плагины. :smile:
vikror
Репутация: 0
Сообщения: 6
С нами: 1 год 8 месяцев

#11 Vasom » Сегодня, 00:59

vikror писал(а):когда не получилось
Извините, а что не получилось по этой инструкции? Может мне стоит где-то написать подробнее, или может запилить видео, как в последней моей теме? http://homenas.ru/forum/viewtopic.php?f=4&t=720
OMV 3.0.89. Intel Pentium G2120 3,1GHz 8Gb RAM. Системный SSD Silicon Power 32Gb. Суммарный объем дисков WD Red 10Tb.
Vasom M
Автор темы, Бывалый
Аватара
Возраст: 38
Откуда: Санкт-Петербург
Репутация: 23
Сообщения: 86
С нами: 2 года 8 месяцев


Название раздела: Плагины
Описание: Установка и настройка плагинов в OpenMediaVault.
Здесь обсуждаем и задаем вопросы только по дополнениям и плагинам.

Быстрый ответ


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
:hi: :smile: :wink: :twisted: :sad: :evil: :smoke: :eh: :eek: :fie: :silenced: :razz: :oops: :help: :spy: :insane: :biggrin: :toothless: :ill: :nervious: :weirdface: :pray: :clap: :think: :boxing: :cyclop: :rambo: :zombie: :cry: Ещё смайлики…

   

Вернуться в Плагины

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость