ownCloud после установки

Настройка персонального облака в Nextcloud

«А не следует ли мне установить какое-то программное обеспечение, чтобы упростить сбор файлов на сервере, их очистку и открытие с телефона?» — подумал я, и тут все закрутилось! Хотя мои запросы были изначально скромными, я решил сначала проверить Nextcloud, персональную облачную платформу, которая не только заменяет Dropbox, но и выполняет множество других функций, включая работу с документами и загрузку торрентов и видео с YouTube.

В целом, первое, на что я обратил внимание, это более безобидные варианты, такие как Dropbox или Google Drive. Поместите один из них на сервер и позвольте ему синхронизировать папки с вашим компьютером, и вы можете открыть его на своем телефоне, если хотите. Но в этих сервисах не так много места для бесплатного, и вы совершенно не хотите платить за хранение одних и тех же файлов дважды — один раз за хостинг VPS, где хранятся ваши данные, и второй раз за Dropbox. И всегда лучше иметь что-то свое, правда?

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

Обе программы представляют собой платформы, которые заменяют сам Dropbox и предоставляют возможность управлять файлами и обмениваться ими. Однако после установки плагины напоминают миниатюрную операционную систему. Здесь вы найдете почтовые программы для роли Gmail, совместные редакторы, такие как Google Docs, и календари с планировщиками, заметками, интеллект-картами и другими мыслями.

ownCloud после установки

ownCloud пос­ле уста­нов­ки

В то же время ownCloud не новость. Nextcloud посвежее и развивается активнее: первый релиз состоялся в 2016 году, а текущая версия на момент написания — двадцатая.

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

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

Установка

Де­таль­но рас­катыва­ние Nextcloud на сво­ем сер­вере опи­сано в докумен­тации, так что пов­торять ее мы не будем и толь­ко про­бежим­ся по основным пун­ктам — что­бы ты пред­став­лял себе мас­шта­бы работ и не про­пус­тил важ­ные шаги, если решишь пов­торить мой путь.

Вот что пот­ребу­ется сде­лать в общих чер­тах.

  1. Ска­чать и рас­паковать дис­три­бутив. Есть раз­ные спо­собы уста­нов­ки, вклю­чая пакеты для популяр­ных дис­три­бути­вов Linux и кон­тей­нер Docker, но то, как имен­но ты заполу­чишь Nextcloud на свой сер­вер, не так уж важ­но (по край­ней мере, до пер­вого обновле­ния). Я выб­рал самый топор­ный метод — прос­то ска­чал архив и рас­паковал его в пап­ку /var/www/. Важ­но: пра­ва на фай­лы нуж­но передать поль­зовате­лю www-data (chown -R www-data nextcloud).
  2. Убе­дить­ся, что в сис­теме есть PHP и все нуж­ные за­виси­мос­ти. Их дос­таточ­но мно­го, что­бы завес­ти какой‑нибудь Composer, но я прос­то пос­тавил пакеты для нуж­ной вер­сии PHP из репози­тория Ubuntu.
  3. Ус­тановить MySQL или дру­гую под­держи­ваемую СУБД и по инс­трук­ции завес­ти в базе поль­зовате­ля с нуж­ными пра­вами. Нас­трой­ку самой СУБД пока мож­но про­пус­тить, но, если Nextcloud у тебя при­живет­ся надол­го, сто­ит потом вер­нуть­ся к это­му.
  4. Ус­тановить и нас­тро­ить веб‑сер­вер. Это может быть Apache или nginx — для обо­их есть при­меры кон­фигов, при­чем в слу­чае с nginx, который выб­рал я, — край­не под­робные. Тебе пот­ребу­ется поп­равить наз­вание сер­вера, путь к пап­ке и, воз­можно, вер­сию php-fpm. Кста­ти, убе­дись, что у тебя уста­нов­лены php-fpm и php-mysql (или драй­вер той БД, которую ты исполь­зуешь).
  5. По­лучить SSL-сер­тификат. И в дан­ном слу­чае это важ­но — без HTTPS не все заведет­ся как положе­но. Бес­плат­ный серт Let’s Encrypt впол­не подой­дет, а Certbot его выдаст и добавит в кон­фиг веб‑сер­вера бук­валь­но па­рой команд.

Когда все будет готово, не торопитесь перезапускать сервер! Как только вы это сделаете, Nextcloud начнет показывать всему миру установщик, который теоретически может использовать каждый и стать вашим облачным администратором 🙂 Чтобы избежать этого, вы можете либо закончить процесс установки че­рез коман­дную стро­ку или настройте веб-сервер так, чтобы он никого не пропускал. Авторизация (директива auth_basic) или белый список, который будет включать только ваш IP (директивы allow <IP> и deny all).

В любом случае, для работы с Nextcloud вам необходимо установить имя пользователя и пароль для учетной записи администратора, а также указать базу данных и ее учетные данные, которые вы создали. В общем, если вы уже установили WordPress или phpBB, вы определенно можете им управлять.

Интерфейс и приложения

Пос­ле дол­гих прик­лючений в тем­ном под­земелье кон­соли мы выбира­емся на повер­хность, к цивили­зации. На пер­вый взгляд все очень мод­но.

Даш­борд!

Фай­ловый менед­жер с кар­тиноч­ками!

Жур­нал изме­нений!

Ма­газин при­ложе­ний!

Точ­нее, подобие магази­на, потому что денег здесь не берут, все толь­ко даром.

Поскольку разработчики в основном заменили Dropbox, общий доступ к файлам здесь прекрасен: вы можете получить внутреннюю ссылку, поделиться ею с другим пользователем или создать общедоступный URL-адрес. В последнем случае ссылка откроет предварительный просмотр, но если вы добавляете в конец /preview, то и сам файл.

Шейринг

Шей­ринг

Еще мож­но наз­начить пароль и ука­зать вре­мя, по исте­чении которо­го ссыл­ка работать перес­танет.

Ограничение по времени

Ог­раниче­ние по вре­мени

Но вни­мание, конеч­но, сра­зу перетя­гива­ет на себя магазин при­ложе­ний. Все­го аппли­кух ни мно­го ни мало — 281 шту­ка. Здесь есть вся­кие прос­мот­рщи­ки (нап­ример, для сним­ков в RAW, кни­жек в ePub, тре­ков в GPX), му­зыкаль­ные пле­еры, галереи для прос­мотра и пуб­ликации кар­тинок, нес­коль­ко видов таск‑тре­керов и заметок, менед­жер паролей и тому подоб­ные вещи.

Вот, например, отличный редактор диаграмм на основе исходников Draw.io. Он устанавливается буквально с помощью одной кнопки, после чего вы можете создавать, открывать и редактировать файлы диаграмм.

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

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

То же самое и с почтой. Программа с простеньким названием Mail — это только клиентская часть, и если вы хотите не только развернуть свой веб-почтовик, но и не зависеть от сторонних сервисов POP3 / SMTP / IMAP, то вам придется установить, настроить и обслуживать сервер самостоятельно. Разработчики рекомендуют использовать Mail-in-a-Box как самый простой в установке.

Также бывает, что приложениям требуется, например, определенная версия PHP или сам Nextcloud. В общем, вы не сможете забыть, что теперь вы сами себе администратор.

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

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

ocDownloader

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

www

Крат­кое руководс­тво по нас­трой­ке 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 с подключенных жестких дисков или через локальную сеть. Тогда цена за гиг намного ниже.

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

 

 

 

 

 

 

 

 

 

 

 

Click to rate this post!
[Total: 0 Average: 0]

Leave a reply:

Your email address will not be published.