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

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

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

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

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

При этом ownCloud — шту­ка далеко не новая, в «Хакере» о нем пи­сали еще в 2014 году. 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, о котором я ког­да‑то писал в руб­рике WWW. Он уста­нав­лива­ется бук­валь­но одной кноп­кой, пос­ле это­го мож­но соз­давать, откры­вать и редак­тировать фай­лы с диаг­рамма­ми.

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

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

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

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

 

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

Вряд ли сегод­ня кого‑то уди­вишь тор­рент‑кли­ентом с вебовым интерфей­сом, но при­ятно, ког­да ска­чан­ными фай­лами лег­ко управлять. Что каса­ется youtube-dl — зна­мени­той прог­раммы для стя­гива­ния видео с YouTube и мно­жес­тва дру­гих сер­висов (вклю­чая Twitter, TikTok и даже Pornhub), то у него и вов­се нет сво­его гра­фичес­кого интерфей­са. Так что иметь воз­можность открыть в бра­узе­ре стра­нич­ку, вбить туда URL и заполу­чить файл — идея неп­лохая, осо­бен­но если речь об исполь­зовании с мобиль­ного устрой­ства.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

7 комментариев

  1. Аватар

    tarantul

    18.12.2020 в 14:07

    Прошел я через него, крут конечно, удобен но когда размер личных данных завалит за ТБ и если много проектов с мелкими файлами nextcloud нервно курит, не успевает пройтись даже по всем файлам чтоб засинькать. Так же проблема у него с файлами исключениями, например .htaccess которые тоже встречались у меня в папках. В итоге перешел я на seafile.

  2. Аватар

    Zimushka

    20.12.2020 в 14:10

    Касательно шифрования. Можно сделать раздел или контейнер VeraCrypt, и примонтировать его в /nextcloud/data. В таком случае, можно достаточно неплохо защитить инфу. При перезагрузке, будет захлопываться и даже если провайдер выдаст доступ к серваку без перезагрузки не войти. Кажется была статья, «укрепляем веру» вроде. И работает стабильно. В таком случае не требуется включать шифрование через настройки-безопасность-шифрование га стороне сервера. Из практики — 20тб вполне неплохо бегают при соответствующей мощности.

  3. Аватар

    Zimushka

    20.12.2020 в 14:14

    Ах да. Еще самое вкусное. Если использовать схему с VC, данные можно синхронить с помощью чего угодно. Да тот же rsync будет при гигабитке на гигабитку валить по 1-1.5тб в сутки.

  4. Аватар

    upagge

    20.12.2020 в 16:13

    «Такое ощу­щение, буд­то соз­датели Nextcloud не дол­го думая прос­то стя­нули весь код пред­шес­твен­ника и при­нялись модер­низиро­вать его.»

    Такое ощущение, что автор не умеет пользоваться википедией, ведь «нам об этом ничего не извес­тно о рас­коле сре­ди сот­рудни­ков ownCloud»

    Тем временем википедия: «Разработчик Фрэнк Карлитшек после ухода из OwnCloud, Inc. создал форк под названием NextCloud и продолжает его развитие совместно с другими разработчиками OwnCloud.»

    Упс

    • Аватар

      alexzh16

      21.12.2020 в 02:01

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

  5. Аватар

    jura12

    19.01.2021 в 15:59

    мне кажется что это никому неведомая херня никому не нужна.

Оставить мнение