3 заметки с тегом

nextcloud

Синхронизация данных с Nextcloud

Должен сказать, что до этого я предпочитал использовать другие программы для хранения данных, но постепенно отказался от них в пользу своего сервера. Если, например, носить данные только на флэшке, то достаточно велика вероятность повредить или совсем их утерять. А ручная синхронизация — это не для нас, она занимает время и можно банально забыть или не успеть её сделать и опять же потерять данные.
Итак, что мы будем синхронизировать? Пройдемся по списку.

  1. Конечно же, пароли. Это одна из самых важных частей нашей жизни.
  2. Файлы. Каждый день мы работаем с кучей файлов: документы, рисунки и прочее.
  3. Контакты. Очень обидно утерять нужный контакт.
  4. Закладки браузера. Казалось бы зачем? Но одно из главных правил системного администратора: бэкап, бэкап и еще 100 раз бэкап. Поэтому пусть будет.

По хорошему, в этот список еще бы включить заметки, но я пока что не нашел способа их синхронизации.
Пароли.
Для этого мы будем использовать известную программу KeePass (или любой из ее форков). Программа старая, проверенная, с открытым исходным кодом. Кому-то она может показаться некрасивой из-за своего интерфейса, но, по моему мнению, это только сохраняет ресурсы системы при работе с ней.
Где нам чаще всего нужны пароли? Во-первых, конечно, в браузере для входа на какой-то сайт. Во-вторых, на телефоне. Например, для входа на те же сайты, но на чужом компьютере или на самом телефоне. В-третьих, на компьютере. Тут вариантов применения множество.
Для начала нужно создать саму базу данных. Для этого на компьютере запускаем программу KeePass, создаем базу, настраиваем её и сохраняем в файл. Далее этот файл нам нужно перенести в облако Nextcloud. Ну тут вы уже сами :-) Для пущей безопасности создаем в облаке еще одного пользователя с произвольным именем и паролем и дадим ему доступ только к файлу паролей. Зачем это нужно я объясню чуть позже.
Браузер.
Так как я использую Firefox, то мне пригодится расширение под названием KeePass Tusk. Это расширение может работать с файлами, расположенными не только в Nextcloud, но и Google Drive, Dropbox, Onedrive, PCloud. В список возможностей так же входит открытие базы по ссылке общего доступа или через протокол WebDAV. Устанавливаем и настраиваем расширение по своему вкусу. Надо отметить, что за несколько месяцев использования у меня были проблемы с доступом по ссылке общего доступа («забывало», что доступ есть), но ни разу — через WebDAV. Но так как имя пользователя и пароль в таком случае хранятся на диске незашифрованными, то велика вероятность их компрометации. Именно поэтому я и создал отдельного пользователя Nextcloud с доступом только к одному файлу.
Телефон на Android.
Здесь я использую программу Keepass2Android. Из «плюсов» программы стоит отметить возможность разблокировки базы через отпечаток пальца, синхронизацию баз при открытии, автоматическое создание резервной копии и нормальный поиск.
Компьютер.
Так как у меня на домашнем компьютере стоит Linux, то я решил использовать KeepassXC. Но вы, при желании, можете использовать и «основную» версию Keepass, которая, начиная со второй версии, поддерживает Mono, что, в свою очередь позволяет запускать ее в Linux.
Файлы.
Ну тут проще всего использовать клиента Nextcloud для настольного компьютера. Что это дает? Во-первых, копию всех ваших файлов в облаке. В том числе и копию вашей базы с паролями. Во-вторых, согласитесь, что редактировать файлы лучше всего на компьютере, не заходя в облако.
Контакты.
На мой взгляд, одна из самых важных вещей. И вторая по сложности восстановления после паролей. Помнится очень давно я настраивал свой старый телефон на синхронизацию контактов (и еще чего-то, уже помню точно чего) с одним сервером. И в какой-то момент телефон начал «глючить» настолько, что мне пришлось сбросить его до заводских настроек. Дело это было на улице, поэтому сразу восстановить все данные у меня не получилось бы. Но я помнил адрес сервера, имя пользователя и пароль. Поэтому мне оставалось только вбить эти данные в настройки телефона и через несколько минут вся моя адресная книга была в телефоне. Это было очень приятное ощущение :-)
Где мы можем добавлять и редактировать контакты? Конечно, в телефоне. Но я не люблю этого делать там просто из-за некоторого неудобства редактирования. Поэтому я обычно записываю только основные данные (имя, фамилию и номер телефона), а остальное добавляю уже на компьютере.
Где обычно используются данные контактов? В телефоне — раз. Чтобы позвонить или написать смс. В почтовом клиенте — два. Чтобы отправить письмо по электронной почте. Про остальные способы общения пока умолчим.
Тут должен упомянуть, что помимо Nextcloud, у меня развернут свой Cal/CardDAV сервер на базе Baikal и упор сделан на синхронизацию с ним. Это позволяет мне синхронизировать контакты, заметки и задачи на любом телефоне, поддерживающем SyncML, а не только Android. На мой взгляд, это достаточно удобно.
Начнем с мобильного телефона. Для синхронизации контактов и задач используем приложения DAVx5 и Open Tasks. В них у меня зарегистрированы два сервера: Nextcloud и Baikal. Если также установить клиент для мобильного Nextcloud, то контакты будут автоматически копироваться в облако в отдельный скрытый каталог.
Для почтового клиента Thunderbird установлено расширение CardBook. И, наконец, установлен плагин CardDAV для веб-интерфейса Roundcube.
Закладки.
Для синхронизации данных между браузерами, установленными на разных компьютерах и телефонах, я изначально использовал учетную запись Mozilla. Но лишняя копия не помешает же? Тем более, что много места она не занимает. Поэтому устанавливаем расширение Floccus и настраиваем его в соответствии со своими предпочтениями. В Nextcloud нам понадобится приложение Bookmarks.

OnlyOffice и Nextcloud

Ура! Свершилось! Удалось-таки подружить OnlyOffice и Nextcloud.
Все предыдущие эксперименты с ними заканчивались неудачно. OnlyOffice ни в какую не хотел запускаться. Самой большой проблемой было то, что они располагались на одном сервере, в отличие от настоятельной рекомендации разработчиков располагать Nextcloud и OnlyOffice на разных компьютерах. Переворошил кучу сайтов, попробовал самые разные конфигурации — ни в какую. Не хотел, паршивец, запускаться и все тут.
Сегодня наткнулся в хелпцентре разработчиков на одну статью, в которой было описание как настроить проксирование данных с HTTPS на HTTP на одном сервере. Слегка изменил конфигурацию домена и — вуаля! Имеем полноценный редактор документов в режиме онлайн.

В итоге конфигурация домена для OnlyOffice приобрела такой вид:
<VirtualHost *:443>
    ServerName office.kini24.ru:443
    ServerAdmin admin@kini24.ru

    # SSL configuration, you may want to take the easy route instead and use Lets Encrypt!
    SSLEngine on
    SSLCertificateFile      /etc/letsencrypt/live/office.kini24.ru/fullchain.pem
    SSLCertificateChainFile /etc/letsencrypt/live/office.kini24.ru/chain.pem
    SSLCertificateKeyFile   /etc/letsencrypt/live/office.kini24.ru/privkey.pem
    SSLProtocol             all -SSLv2 -SSLv3
    SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
    SSLHonorCipherOrder on

    #Proxysettings
    # Encoded slashes need to be allowed 
    AllowEncodedSlashes On

    # keep the host
    ProxyPreserveHost On
    ProxyRequests Off

    SetEnvIf Host "^(.*)$" THE_HOST=$1
    RequestHeader setifempty X-Forwarded-Proto https
    RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
    ProxyAddHeaders Off

    ProxyPassMatch (.*)(\/websocket)$ "ws://127.0.0.1/$1$2"
    ProxyPass / http://127.0.0.1:9980/
    ProxyPassReverse / http://127.0.0.1:9980/
</VirtualHost>

SSLCipherSuite можно, конечно, сократить, но это уже мелочи. Все, что ниже настроек SSL, является обязательным для корректной работы редактора. Сам OnlyOffice установлен в виде докера:

# docker run -i -t -d -p 0.0.0.0:9980:80 -p 9443:443 --restart=always -v /opt/onlyoffice/DocumentServer/logs:/var/log/onlyoffice -v /opt/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -v /opt/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice -v /opt/onlyoffice/DocumentServer/db:/var/lib/postgresql onlyoffice/documentserver

Свое облако на домашнем сервере

На днях установил себе, ради эксперимента, Nextcloud. Это вроде как свое личное облако. Поначалу были проблемы с загрузкой файлов — более одного мегабайта закачивать не мог. После кучи экспериментов оказалось, что вся проблема в модуле security для apache. Поиск в гугле с соответствующим запросом помог решить этот вопрос. Дальнейшее подключение других модулей проблем никаких не вызвало, кроме нескольких.
На первой стадии это был модуль Sensors Logger. Почитал крайне «тощую» документацию, состоящую из нескольких предложений и все равно ничего не понял. Хотя было бы интересно иметь готовый веб-интерфейс для своих датчиков. Далее на очереди был модуль Collabora Online. Вот здесь я застрял надолго. Все таки интересно, когда ты открываешь файл в облаке и можешь его редактировать. Пусть даже и с ограниченной, по сравнению с программами для обычных компьютеров, функциональностью, но все же! На решение проблем с ним я потратил, можно сказать, три дня — пятницу и все выходные. И только сегодня проблема была решена. Заключалась она в моей тяге к защите информации. В данном случае — в настройках CSP, которые запрещали взаимодействие между моими сайтами. После внесения исправлений все заработало. Ну как заработало... На домашнем компьютере под управлением Linux в браузере Firefox нифига не работает, в то время как на том же компьютере, но в браузере Chrome все нормально. Все нормально работает также на рабочем компьютере под Windows с браузерами Firefox, Internet Explorer и Chrome. Решив эту проблему, вернулся к Sensors Logger. Почитал снова документацию и опять нифига не понял. Отключил модуль, оставлю на потом.
Забавно было подключить другие свои сайты к Nextcloud. Например, этот блог, домен с зеркалом обновлений NOD32 и видеонаблюдением. Все работало, пока я не пришел домой. Снова препоной стал Firefox, в Chrome все нормально. Не хотелось бы, но, может быть, стоит вернуться на Chrome? Надо почитать последние исследования по браузерам. Насколько я помню, Chrome полностью отказался от работы в Windows XP. Кстати, сайты, подключенные к Nextcloud, отображаются как его дочерние окна — вот что мне было интересно.
Не полностью тестировал еще синхронизацию контактов и календарей в этом облаке. Но что мне понравилось — после синхронизации контактов, Nextcloud сам создал события в календаре по дням рождений. Это хорошо, избавляет от необходимости вводить их вручную.
Пытался также подключить модуль для управления проектами на Github. Обломался. Снова подвела крайне скудная информация по модулю. Снова буквально пара строк. Или я уже совсем умственно деградировал?
Если получится создать свое облако, где можно хранить несколько сотен гигабайт информации, может быть, настанет пора отказаться от всяких второстепенных программ? На текущий момент сервер собирает почту со всех моих аккаунтов и складывает все в один ящик. Все данные вроде календарей и контактов можно также агрегировать в одно место. Конечно, никуда не девается вопрос об отказоустойчивости системы и, лучше всего, ее распределенности, но это, как ни странно, тоже вполне решаемый вопрос.