На дворе 2017 год: правительство шпионит и блокирует сайты, большие корпорации отдают ваши личные данные правительству или продают на сторону. У вас уже есть подписка на VPN, но в России такие сервисы теперь вне закона. Вы арендовали VPS заграницей и ходите в сеть через него, но мощности работают вхолостую.

Установим Nextcloud! Он заменит синхронизацию контактов, календаря, списка задач и файлохранилища/обменника на вашем смартфоне, а на ПК сойдёт за Dropbox. И независимости добавим, и сервер нагрузим.

Дальше длинная, но не сложная инструкция про аренду сервера, установку и настройку Nextcloud на сервере и на ПК/смартфонах, включая синхронизацию контактов и календаря.

Disclaimer


1. Я живу в Китае, тут проблема блокировки стоит острее, чем в России. Не по наслышке знаю, что даже Google и Dropbox могут однажды отключить навсегда, а использовать отечественные сервисы не хочется по разным причинам.

2. На моём сервере в качестве средства обхода блокировок стоит Shadowsocks — для России это сейчас overkill, но в Китае выручает. Сначала ставил Streisand, но это перебор.

3. Я не профессиональный сисадмин. Не используйте эту инструкцию бездумно на сервере с важной информацией. И делайте бэкапы.

Nextcloud — open source проект своего персонального «облака»: в нём объединены функции Dropbox, контактов, календаря и списка задач Google, а так же много чего ещё. Другими словами, можно отказаться от Google и синхронизировать свои данные с компьютера и смартфона на свой сервер.

Зачем это нужно?


  • Если у вас паранойя.
  • Если вы не доверяете большим корпорациям.
  • Если вы хотите держать свои данные под личным контролем.
  • Если в вашей стране Google не работает, или может вдруг перестать работать.
  • Если не жалко платить каждый месяц за хостинг, или если уже есть работающий сервер.
  • Если… да мало ли.

Что потребуется?


  1. Сервер VPS на Ubuntu 17.04

    У меня VPS на DigitalOcean — на соседнем дроплете и крутится мой блог. Если поискать реферальную ссылку (у меня в блоге например, или ещё где-то в интернете), то за регистрацию на счёт кинут немного для тестов, хватит на пару месяцев. Но выбор сервера полностью за вами.
  2. Домен

    Не обязательно, но очень желательно. В зоне .RU домен стоит копейки (199 руб. за год), в других зонах тоже не очень дорого. Зарегистрируйте домен и привяжите к нему IP-адрес сервера (запись А).
  3. Софт для SSH

    PuTTY, Puttygen, Pageant для Windows. Если вы пользуетесь Ubuntu или macOS, то либо уже всё знаете, либо вам не нужно.

Что будем делать?


На сервере

  1. Установим Apache, PHP и MySQL
  2. Добавим бесплатный SSL-сертификат Let's Encrypt
  3. Установим и настроим NextCloud

На клиентах

  1. Клиенты на ПК и Android
  2. Перенос контактов, календаря и задач из Gmail

Сервер


Предположим, что вы уже арендовали сервер и смогли подключиться к нему по SSH через Putty.

Начало


Обновляем список пакетов

sudo apt-get update

Apache


Устанавливаем веб-сервер Apache2

sudo apt-get install apache2

Отредактируем конфигурацию

sudo nano /etc/apache2/apache2.conf

В конце файла дописываем две строчки, подставив свои значения:

ServerName IP-адрес-сервера
ServerName ваш-домен

Включим мод headers, пригодится в дальнейшем

sudo a2enmod headers

LetsEncrypt


Установим сертификат для шифрованного соединения, если у вас есть домен. Очень желательно.

Добавляем репозиторий для LetsEncrypt Certbot

sudo add-apt-repository ppa:certbot/certbot

Обновляем список пакетов

sudo apt-get update

Устанавливаем Certbot

sudo apt-get install python-certbot-apache

Получаем сертификат

sudo certbot --apache -d ваш-домен

ответьте на вопросы: предоставьте ваш e-mail, согласитесь с условиями, при выборе перенаправления выберите вариант «2 — redirect».

Настроим автоматическое обновление сертификатов раз в три месяца:

sudo crontab -e

выберите редактирование через nano, допишите следующую строчку и сохраните файл:

15 3 * * * /usr/bin/certbot renew --quiet

MySQL


Установим базу данных MySQL

sudo apt-get install mysql-server

Задайте рут-пароль для базы данных. Обязательно запомните или запишите его. Затем запустите команду для настройки безопасности

mysql_secure_installation

Ответьте на несколько вопросов. Можете отказаться от принудительной проверки сложности пароля и замены рут-пароля (первые два вопроса, отвечайте 'N'), на остальные вопросы отвечайте 'Y'.

PHP

Установим PHP 7 и нужные модули

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

Добавим php-cli

sudo apt-get install php-cli

И модуль для кэширования php-apcu

apt-get install php-apcu

Откроем файл конфигурации и отредактируем его

sudo nano /etc/apache2/mods-enabled/dir.conf

В списке файлов index с разным расширением, перепишите его так, чтобы в начале был index.php.

Перезапустите Apache

sudo systemctl restart apache2

Директория для файлов


Папку для личных файлов лучше создать в отдельном месте на сервере, а не так, как по-умолчанию хочет сделать NextCloud. Это нужно для повышения безопасности.

Создадим директорию в /media/

sudo mkdir /media/nextcloud/

Изменим права доступа к директории

chown -R www-data:www-data /media/nextcloud/

Nextcloud


Скачаем последнюю версию NextCloud в формате *.tar.bz2 с официального сайта. Для этого в браузере откройте страницу релизов и найдите новую версию. На момент написания этой статьи свежая версия 12.0.2, поэтому ссылка будет такая:

download.nextcloud.com/server/releases/nextcloud-12.0.2.tar.bz2

Скопируйте её в буфер обмена.

Вернёмся в PuTTY. Перейдите во временную директорию

cd /tmp

Скачайте архив с NextCloud, замените ссылку на самую свежую.

curl -LO https://download.nextcloud.com/server/releases/<span style="color: #ff0000;">nextcloud-12.0.2.tar.bz2</span>

Распакуйте архив

sudo tar -C /var/www -xvjf /tmp/nextcloud-12.0.2.tar.bz2

Создайте скрипт для установки

nano /tmp/nextcloud.sh

Вставьте в него следующий код

#!/bin/bash
ocpath='/var/www/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater
printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chmod 755 ${ocpath}
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/
chmod +x ${ocpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ]
then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ]
then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

Выполните скрипт

sudo bash /tmp/nextcloud.sh

Создайте файл конфигурации NextCloud в Apache

sudo nano /etc/apache2/sites-available/nextcloud.conf

Вставьте следующий текст

Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
<VirtualHost *:443>
ServerName <span style="color: #ff0000;">ваш_домен</span>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"</IfModule>
</VirtualHost>

Активируйте файл конфигурации

sudo a2ensite nextcloud

Включите дополнительные параметры

sudo a2enmod rewrite
sudo apt-get install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip

Перезагрузите Apache

sudo systemctl reload apache2

Создадим базу MySQL


Перейдём в MySQL, при входе понадобится рут-пароль MySQL, который мы создавали ранее.

mysql -u root -p

Создадим новую базу данных под названием nextcloud

CREATE DATABASE nextcloud;

Зададим ей параметры, не забудьте вставить новый пароль

GRANT ALL ON nextcloud.* to 'nextcloud'@'localhost' IDENTIFIED BY 'ваш_новый_пароль_для_базы';

Сбросим параметры и выйдем из MySQL

FLUSH PRIVILEGES
exit


Пока мы в консоли, сделаем ещё пару вещей для беспроблемных обновлений:

Установим нужные права на директорию с Nextcloud
chown -R www-data:www-data /var/www/nextcloud/


И удалите директорию /var/www/nextcloud/assets

Настраиваем NextCloud


В браузере откройте ip_или_домен/nextcloud

Если всё сделано правильно, вы увидите страницу NextCloud и приглашение создать учётную запись администратора:

Первые два поля — имя и пароль для учётной записи администратора

Data folder: укажите директорию, которую вы создали в шаге «Директория для файлов», в примере это /media/nextcloud

Configure the database

Нужно указать параметры, которые мы использовали в шаге «Создадим базу MySQL»

Первая строчка — имя базы данных

Вторая строчка — пароль базы данных (не рут-пароль!)

Третья строчка — пользователь

Четвёртая строчка — адрес для обращения к базе данных, это должен быть localhost и порт 5342

Поздравляем, NextCloud установлен и работает, вы находитесь в учётке администратора.

Настройка безопасности


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

Редактируем .htaccess

sudo nano /var/www/nextcloud/.htaccess

Сразу после строчки <IfModule mod_headers.c> добавьте Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"

Удаляем страницу Apache по-умолчанию

sudo rm -rf /var/www/html/

ВНИМАНИЕ: выполните команду только в том случае, если сервер был чистый, а в директории /var/www/html нет ничего ценного.

Включаем memcache

Остановим Apache

sudo systemctl stop apache2

Отредактируем конфигурацию NextCloud

sudo nano /var/www/nextcloud/config/config.php

В конце файла добавим строчку

'memcache.local' => '\OC\Memcache\APCu',

Откроем файл конфигурации Apache PHP

sudo nano /etc/php/7.0/apache2/php.ini

В файле много текста. Листайте, пока не найдёте раздел, посвящённый opcache, затем вставьте туда следующие параметры:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Перезапускаем Apache.

sudo systemctl reload apache2

Все предупреждения о проблемах с безопасностью должны исчезнуть, останется надпись All checks passed.

Админка


Basic settings


Убедитесь, что пройдены все основные проверки безопасности. Это выглядит вот так. Если есть предупреждения — вернитесь к инструкции по настройке и проверьте, что всё сделано правильно.



Sharing


Установите настройки для раздачи файлов, если будете пользоваться облаком не одни. У нас частный небольшой сервер, и тысячи одновременных скачиваний могут создать на него серьёзную нагрузку. Стоит принудительно устанавливать пароль на скачивание к каждой публичной ссылке, а через несколько дней делать её неактивной.



Theming


Здесь можно придать Nextcloud индивидуальности: задать имя, подпись, картинку на фон, и даже поменять цвет оформления. Делается по желанию.



Encryption


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

Приложения


Приложения — это дополнения, которые расширяют функции облака. Вот что я поставил для себя:

Two Factor TOTP Provider


Позволяет настроить двухфакторную авторизацию в аккаунт с помощью одноразовых кодов через приложение Google Authenticator или FreeOTP.

Обязательно настройте этот способ входа для аккаунта администратора, желательно — для пользователя тоже. Сделать это можно в разделе Personal, в самом низу страницы.



Calendar, Contacts


Их мы будем использовать вместо календаря и контактов Google, об этом дальше.




Deck


Управление проектами в стиле Канбан.


Notes


Текстовые заметки, можно удобно синхронизировать с телефоном.

OPDS catalog


Сервер-библиотека для доступа к книгам. Работает с приложениями типа FBreader.

Passman


Хранилище паролей для сайтов в браузере. Есть плагин для Chrome.

Phone Sync


Односторонняя синхронизация SMS-сообщений с телефона в облако через Nextcloud SMS.



Tasks


Простой список дел с привязкой к календарю.



Пользователи


Сейчас вы находитесь в аккаунте администратора, но использовать его для хранения файлов и синхронизации параметров не нужно. Оставьте его для доступа к настройкам облака. Для повседневного личного использования нужен аккаунт простого пользователя.

  1. Откройте раздел Users
  2. В верху введите имя и пароль пользователя
  3. Нажмите на Groups, добавьте новую группу Users
  4. Нажмите Create
  5. Назначьте квоту места, чтобы случайно не переполнить сервер



Теперь у вас есть пользователь с ограниченными правами — то, что нужно для повседневного использования. Именно с обычным пользователем мы и будем дальше работать. Выйдите из учётной записи администратора и зайдите как новый пользователь.

Перенос контактов из Gmail


Это можно сделать через компьютер, но тогда не сохранятся портреты контактов, поэтому всё будем делать на смартфоне. Если на смартфоне нет контактов Google — листайте дальше.

Нам понадобится


  1. Аккаунт на вашем Nextcloud
  2. Смартфон на Android
  3. Приложение DAVdroid и OpenTask для синхронизации контактов и задач
  4. Приложение ZenUI Dialer (или любое другое для копирования контактов)

По шагам


Установка DAVdroid


  1. Установите DAVdroid и OpenTask;

    Рекомендую устанавливать DAVdroid именно из F-Droid, потому что он там бесплатный. А в Google Play просят 249 руб.
  2. Запустите DAVdroid, создайте аккаунт

    Нажмите кнопку "+", выберите «Login with URL and user name»
    Введите адрес вашего Nextcloud в формте

    https://ip-или-домен.ru/nextcloud/remote.php/dav/

    А так же ваш логин и пароль .

  3. Придумайте имя для аккаунта (например, user@nextcloud)
  4. Нажмите Create account
  5. DAVdroid запросит несколько разрешений на доступ к контактам и календарю, разрешите их. (если не запрашивает — опустите шторку сверху и посмотрите, нет ли запроса там)

  6. Отметьте галочки напротив Contacts сверху и названий ваших Google-календарей снизу (у меня это Contact birthdays и Personal).
  7. Нажмите значок с круговыми стрелками вверху, чтобы начать первую синхронизацию.
    (в первый раз иногда показывает сообщение об ошибке, просто попробуйте ещё раз)

Перенос контактов из Google в DAVdroid


  1. Установите ZenUI Dialer
  2. Запустите и перейдите в управление контактами (кнопка «три точки» -> Manage contacts)
  3. Выберите Copy contacts
  4. Для Copy contacts from выберите вашу учётку Google
  5. Для Copy contacts to выберите DAVdroid Address book
  6. На вопрос Do you want to keep the originals  ответьте ОК, иначе контакты будут удалены из Google.
  7. Дождитесь, пока закончится копирование.
  8. Откройте DAVdroid и синхронизируйте контакты ещё раз.

Когда синхронизация закончится, все ваши контакты будут доступны и в веб-интерфейсе: https://ваш_домен/nextcloud/index.php/apps/contacts/



Если на смартфоне нет контактов


Если на телефоне у вас по какой-то причине нет контактов из Google, но вы можете открыть их в браузере на ПК, пропустите шаг Перенос контактов из Google в DAVdroid, экспортируйте контакты из Google Contacts (More -> Export) в файл vCard, а затем импортируйте файл через веб-интерфейс Nextcloud.

Календарь


Зайдите в стандартное приложение Календарь на смартфоне и проверьте, что новый календарь Nextcloud отображается в списке ваших календарей. Теперь можно сохранять события туда, они будут автоматически синхронизироваться с вашим собственным сервером Nextcloud. Google больше не нужен.



Веб-версия календаря будет доступна из браузера по адресу ваш_домен/nextcloud/index.php/apps/calendar



Список задач


Запустите приложение OpenTasks (в меню может называться просто Tasks), теперь там есть список Local (только на устройстве) и ваш «облачный» список.



Ещё один клиент для списка задач — SimpleTask Nextcloud. Меньше функций, но работает чуть надёжнее.

В браузере задачи будут доступны по адресу ваш_домен/nextcloud/index.php/apps/tasks



Синхронизация с ПК


Windows и macOS

  1. Установите и запустите клиент с официального сайта
  2. Введите адрес вашего сервера как ваш_домен/nextcloud
  3. Введите логин и пароль от учётной записи пользователя
  4. Выберите локальную папку для синхронизации (например, D:\Nextcloud)


Готово.

Работает как Dropbox: кинули файл в папку — он улетает на серрвер. И наоборот.

Как изменить язык Nextcloud (Windows)


Почему-то разработчики не предусмотрели смены языка через настройки приложения, по-умолчанию оно использует системный. У меня Windows на китайском (и ничего с этим не поделать), но приложения всё-таки удобнее держать на более привычном языке. Вот решение проблемы:

  1. Выключите клиент Nextcloud
  2. Откройте папку, куда вы установили Nextcloud (по-умолчанию c:\Program Files (x86)\Nextcloud\)
  3. Найдите файлы client_ru.qm, qt_ru.qm и qtbase_ru.qm
  4. Удалите все остальные языковые файлы:

    client_ca.qm
    client_cs.qm
    client_de.qm
    client_el.qm
    client_es.qm
    client_es_AR.qm
    client_et.qm
    client_eu.qm
    client_fa.qm
    client_fi.qm
    client_fr.qm
    client_gl.qm
    client_hu.qm
    client_it.qm
    client_ja.qm
    client_nb_NO.qm
    client_nl.qm
    client_pl.qm
    client_pt.qm
    client_pt_BR.qm
    client_en.qm
    client_sk.qm
    client_sl.qm
    client_sr.qm
    client_sv.qm
    client_th.qm
    client_tr.qm
    client_TW.qm
    client_uk.qm
    client_zh_CN.qm
    client_zh_TW.qm
    qt_ar.qm
    qt_ca.qm
    qt_cs.qm
    qt_da.qm
    qt_de.qm
    qt_es.qm
    qt_fa.qm
    qt_fi.qm
    qt_fr.qm
    qt_gl.qm
    qt_he.qm
    qt_hu.qm
    qt_it.qm
    qt_ja.qm
    qt_ko.qm
    qt_lt.qm
    qt_pl.qm
    qt_pt.qm
    qt_en.qm
    qt_sk.qm
    qt_sl.qm
    qt_sv.qm
    qt_uk.qm
    qt_zh_CN.qm
    qt_zh_TW.qm
    qtbase_ca.qm
    qtbase_cs.qm
    qtbase_de.qm
    qtbase_fi.qm
    qtbase_fr.qm
    qtbase_he.qm
    qtbase_hu.qm
    qtbase_it.qm
    qtbase_ja.qm
    qtbase_ko.qm
    qtbase_lv.qm
    qtbase_pl.qm
    qtbase_en.qm
    qtbase_sk.qm
    qtbase_uk.qm
  5. Запустите Nextcloud

Готово.

Android и iOS


Клиент для iPhone есть в официальном AppStore, для Android — в Google Play и на F-Droid. Установка простая и одинаковая на обоих платформах:

  1. Установите и запустите клиент
  2. Введите адрес вашего сервера как ваш_домен/nextcloud
  3. Введите логин и пароль от учётной записи пользователя

Готово.

Можете попробовать закинуть несколько файлов и посмотреть, как они улетят на облако.

Бэкап фотографий


Как и на Dropbox / Google Drive, в Nextcloud можно включить автоматическую загрузку всех новых фотографий и видео в облако. Но не забывайте об объёме жёсткого диска: в самом дешёвом сервере это всего 20 гигабайт. Большие объёмы фотографий я синхронизирую на ноутбук и домашний медиа-сервер с помощью Syncthing, бесплатно и очень быстро.

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

Личные впечатления


Жаль, что я узнал о Nextcloud только теперь: сколько времени я убил на установку сервисов Google на своих предыдущих телефонах, и всё ради синхронизации контакт-листа и календаря. Работает всё стабильно, насколько это позволяет Китай. Пинги до сервера большие, но подключение есть всегда

Пожалуйста, расскажите в комментариях

  • Как плохо я настроил сервер и как сделать лучше
  • Почему я параноик и не нужно бояться Google
  • Что ещё полезного можно делать со своим VPS.

Комментарии (74)


  1. Noizefan
    02.11.2017 11:37
    +3

    Хоть кто-то делает вещи для противостояния ненормальным законам, а вы минусуете
    Не надо так


  1. restless_mind
    02.11.2017 11:40
    +1

    Еще из полезных настроек — ограничить версионирование хранимых файлов, AFAIR оно по умолчанию включено и хранит все версии изменявшихся файлов, из-за чего порой сильно растет в размерах.


    1. wtigga Автор
      02.11.2017 11:41

      Спасибо. А где это отключается? Что-то не вижу в админке.



  1. turbotankist
    02.11.2017 11:44
    +1

    Ubuntu 17.04
    кто использует временные версии системы на сервере, теб более если вы параноик? через полгода она перестанет поддерживаться с выходом 18й версии.
    Все используемые вами приложения и на 14/16й версиях убунты запустятся


    1. wtigga Автор
      02.11.2017 11:45

      Верно. Взял 17.04, потому что там было проще запустить shadowsocks (на 16 что-то всё время шло не так).


      1. vconst
        02.11.2017 12:18

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

        Наикрутейшая штуковина! Все что только можно — уже есть «из коробки» и работает без бубнов и проблем. от l2tp до Tor! Полчаса наблюдения за скроллингом выполняющегося скрипта — и готово.

        Шедоусокс там тоже есть, работает нереально быстро, всего на 10% медленнее нешифрованного канала. Плюс — есть подробный файл-руководство, со всеми настройками, для всех систем, плюс — инсталляторы всех программ, если параноидально не хочется устанавливать все через гугл маркет и тп магазины. Можно нагенерить десяток аккаунтов и раздать их друзьям-родственникам, вместе с готовыми инструкциями по настройке — персонализированными под ваше конкретное облако, вплоть до айпишников и паролей.

        И да, не надо пользовать 17. 16LTE наше все.


        1. vconst
          02.11.2017 12:24
          +1

          «Я всегда буду читать статью до конца» (С)
          Оказывается со Срейзанд автор уже развлекался :)

          Я просто на эмоциях от этого сервиса — вот и везде про него болтаю ))


        1. wtigga Автор
          02.11.2017 12:25

          установите себе Стрейзанд.

          Я уже пробовал, даже инструкцию написал. Но слишком много всего там, а у нас только shadowsocks из всего набора нормально работает.

          разворачиваю начисто в бесплатном гуглоблаке

          Хорошо, когда гуглооблако бесплатное и быстрое. Жаль для меня не катит, потому что
          Я живу в Китае


          1. vconst
            02.11.2017 12:30

            Можно только шелоусокс и установить. При запуске скрипта ответить «no» на все кроме сокса и готово. Правда я не знаю — встанет ли на сервер со стрейзанд, что-то еще. Ибо настройки там переколбашиваются знатно…


  1. restless_mind
    02.11.2017 11:46

    del


  1. impalex
    02.11.2017 11:58
    +1

    В условиях жизни средь блокировок очень полезен свой DNS-сервер, до которого не сможет добраться провайдер. Ничего хитрого, а пользы много.
    У меня на VPS развернут bind9, дома всё кэширует pdnsd и связь между ними по каналу OpenVPN. Иначе провайдер лезет своими шаловливыми ручками в мои dns-запросы.


    1. pvsur
      02.11.2017 12:26

      dnscrypt?
      OpenDNS?


      1. impalex
        02.11.2017 12:34

        Тоже варианты, да.

        Просто в моём конкретном случае так, что называется, исторически сложилось. :) Сначала появился pdnsd, как средство ускорения dns. Потом пошли блокировки, появился в хозяйстве OpenVPN. Затем начали портить пакеты по 53-му порту, на что ответил установкой bind9 «снаружи». Ну и получился такой зоопарк. Впрочем, работает же :)

        Но если ставить всё с нуля, то да, тот же dnscrypt будет проще.


        1. pvsur
          02.11.2017 13:26

          Ну, при наличии своего VPS ваш вариант более предпочтителен, чем OpenDNS. Бог знает, что там Cisco в голову взбредет. Может, договорятся с РКН и тоже будут блочить :))


  1. Boba_Fett
    02.11.2017 12:07

    А в чём преимущества/недостатки по сравненю с популярным оwnCloud?


    1. wtigga Автор
      02.11.2017 12:22

      Nextcloud отпочковались от ownCloud и делают полностью опенсорсное решение без платных фишек. Большинство плагинов-софта ещё совместимо.


    1. Godless
      02.11.2017 12:32
      +1

      Они отпочковались примерно год назад. Там целая детективная история была. Много разработчиков ушло в NextCloud. Основной посыл — OwnCloud перестал развивать бесплатные фичи и имел ряд проблем с безопасностью. NextCloud позиционируется с упором на секурити и always free. Вроде потом ребята из OwnCloud одумались, и чего-то стали делать, но вышло, что после драки кулаками помахали. А так, по сути это годовалый клон owncloud, который развивается сам по себе. У них там какая-то договоренность есть о сливании друг-другу секурити патчей в ядро чтоли. Но тут не скажу.

      Поправьте если ошибся.

      ЗЫ: пользуюсь owncloud давно, около 2х лет. В прошлом году перешел на Nextcloud и должен сказать (субьективно ессно) — оно стабильнее, обновлений больше, и синхронизация в целом стала надежнее (меньше конфликтов и тп.).


      1. pvsur
        02.11.2017 13:27

        Спасибо за инфу, повод тоже подумать о переходе на NextCloud. Жаль кармы не хватает плюсик поставить :)


  1. webviktor
    02.11.2017 12:31

    Уже столкнулись с тормозами и обрывами связи во время синхронизации?
    Народ с некста переходит на seafile, не пробовали?


    1. wtigga Автор
      02.11.2017 12:33
      +1

      Мне из Китая сложно сказать, с чем связаны тормоза и обрывы — с конкретно nextcloud или с золотым щитом.
      Чем seafile лучше?


      1. webviktor
        02.11.2017 12:57

        Для меня главным преимуществом стала скорость работы и стабильность. Просто пуля, по сравнению с некстом. Из субьективных: шифрование, простота установки, гораздо приятней дизайн, лучше моб.приложение.
        С одной стороны зашифрованные данные безопасней, но если вдруг что-то случится с сервером, достать данные практически невозможно (или я не нашел как).


        1. wtigga Автор
          02.11.2017 13:04

          Спасибо, на досуге можно поковырять. Хотя скакать с одной системы на другую… :)


        1. Godless
          02.11.2017 13:53

          А функционал? DAV* контакты с календарем, расшарить ссылку с паролем?


          1. webviktor
            02.11.2017 16:38

            WebDAV поддерживает очень давно. Как и CardDAV и CalDAV.
            Календарь — конечно же.
            Контакты — сам не пробовал, но думаю это первое, что сделали.
            А так: даже онлайн редактирование документов есть.


            1. webviktor
              02.11.2017 17:31

              Сохранение и редактирование документов у себя в облаке особенно актуально, на фоне последних новостей о блокировке аккаунтов/документов гугла, с которыми работали люди.


    1. Godless
      02.11.2017 12:43

      Присоединяюсь к вопросу.
      Легкий гуглеж выдает бонусы в архитектуре (seafile — Python + C; NC — PHP). а еще?


  1. Loki3000
    02.11.2017 12:37

    А что за файлы имеет смыл хранить в NC? Я вот поначалу тоже синхронизировал телефон через него, но очень быстро пришел к выводу что синхронизировать через webdav музыку и видео — не очень хорошая затея. После небольшого размышления, в компанию к музыке и видео отправились и фотографии — все это теперь синхронизируется через ssh. Через облако только контакты, календари и задачи. Так что мой вопрос примерно такой: что из файлов вообще комфортно хранить в облаке, если считаем что версионность нам не нужна? А если нужна?


    1. Godless
      02.11.2017 12:41

      Удобно с сервака файлы/папки расшаривать с паролем прямо из приложния на телефоне.


      1. Loki3000
        02.11.2017 12:51

        Чтобы расшаривать что-то на сервере, совсем необязательно синхронизировать это с телефоном/десктопом. Мой вопрос был скорее о том, какие данные действительно имеет смысл синхронизировать через через *dav. Когда это действительно даст преимущества перед синхронизацией через ssh? Про версионность все понятно, а еще?


    1. Angrynik
      02.11.2017 12:48

      Документы и архивы фотографии, бекапы, файлы для общего доступа.
      Если учитывать стремление производителей ноутбуков ставить малоемкие (либо большие и дорогие) SSD — комфортным выходом из ситуации является облако.


      1. Loki3000
        02.11.2017 12:59

        Как я уже писал выше, все это быстрее и стабильнее синхронизируется через ssh. Если речь не идет о совместном доступе, то использование dav для передачи данных не выглядит чем-то полезным.


        1. wtigga Автор
          02.11.2017 13:03

          Глупый вопрос, наверное, но как «синхронизировать через ssh» конкретно?


          1. Loki3000
            02.11.2017 13:09

            На телефоне я использую FolderSync. На десктопе, честно говоря, такой задачи не стоит, так как сервер находится в той же сети, так что можно просто примонтировать удаленную в файловую систему. Ну и плюс rsync, разумеется.


            1. konchok
              02.11.2017 16:45

              FolderSync и по WebDAV работает с Nextcloud нормально. Опцию повтора при ошибках подключения поставить и всё.


              1. Loki3000
                02.11.2017 16:52

                Только очень медленно и нестабильно… ну или так работал на прежних версиях owncloud. Так что я от него отказался в пользу ssh, а теперь не могу придумать внятной аргументации чтобы снова к нему вернуться:) Похоже что не я один.


    1. wtigga Автор
      02.11.2017 12:50

      У меня, наверное, деформация мозга от долгого проживания в стране с плохим и зарегулированным интернетом, потому что я любой популярный файлообменный сервис подсознательно рассматриваю как «может перестать открываться в любую минуту» / «работает непозволительно медленно». Поэтому для передачи файла кому-то другому мне проще и спокойнее использовать свой личный сервер.

      Я и фотографии с телефона перекидываю только на свой же домашний сервер через Syncthing.


      1. Tallefer
        02.11.2017 15:33

        Ну для разовой передачи любой сгодится же. :)
        А мега там тоже забанена?


        1. wtigga Автор
          02.11.2017 15:34

          Тоже. Из известного только Яндекс.диск работает, но скорость просто отврат.


          1. Tallefer
            02.11.2017 17:02

            О, спасибо за инфу, буду знать, чем пользоваться для передачи в китай. :) А интерфейс с той стороны видится локализованным или все равно русским?


  1. Temmokan
    02.11.2017 12:45

    Чуть более осмысленно, если есть тям по-человечески настроить, использовать шифрованный раздел при установке самого VPS (когда это возможно — далеко не у всех хостинг-провайдеров). Придётся, правда, слегка присесть, чтобы включить доступность SSH перед тем, как LUKS возжелает пароля. И тормоза будут не настолько мощными, и от внезапной кражи образа VM отчасти спасёт.

    А так да, удобная инструкция.


    1. Angrynik
      02.11.2017 12:53

      LUKS на VDS не настроишь. У DO можно конечно использовать Block-storage, по там цены 10$ за 100 гб. И внутренний параноик говорит, что на VDS можно слить закрытые ключи ssh и слушать трафик. А это прямая компроментация пароля при его вводе.


  1. Angrynik
    02.11.2017 12:45

    По поводу доменов. Если правильно помню — .tk второго уровня дают бесплатно (вроде даже навсегда, если вовремя «продлевать», нюансы есть). На крайний случай всегда можно найти бесплатный 3 уровня.

    А с другой стороны — если платишь за vps, то и за копеечный домен можно


    1. aik
      02.11.2017 13:47

      Иногда у tk домены по непонятным причинам аннулируются. Пишут письмо с очень расплывчатой формулировкой. Но если успеть, то можно домен сразу забрать обратно.


      1. konchok
        02.11.2017 16:29

        Пользуюсь .tk уже почти год, всё хорошо работает. Но вот понадобилось сделать DNSSec запись для домена и облом, нет там такого функционала.


        1. aik
          02.11.2017 17:28

          Ошибся, у меня .cf от того же хозяина аннулировали как-то. А письмо в спам улетело и заметил я это дело почти через неделю. А вот .tk не трогали.


  1. APLe
    02.11.2017 12:49

    Между прочим, а где сейчас рекомендуется дешёвый VPS брать?


    1. wtigga Автор
      02.11.2017 12:52
      +1

      Если $5 достаточно дёшево, то тот же digital ocean — у меня там и блог, и «облако». А так я в самом начале ссылался на недавнюю хабравскую статью с обзорами VPS (в комментариях куча нормальных предложений).


      1. Barafu
        02.11.2017 17:55

        Сервера DigitaOcean на плохом счету у гугла. Если шариться через DO, то Гугл выдаёт капчу на каждое обращение.


    1. aik
      02.11.2017 13:49

      Я уже давно на scaleway сижу. Машинки там дают медленные, но за 3 евро в месяц имеется два гига оперативки, два ядра и 50 гигов диска.


      1. Godless
        02.11.2017 14:01

        А там по трафику 200 Мбит/с честный безлимит?


        1. aik
          02.11.2017 14:13

          Не могу сказать — у меня столько трафика не набирается.
          Торренты через него не качаю, а на простой сёрфинг через прокси жалоб нет.


    1. konchok
      02.11.2017 16:23

      lowendstock.com решает )
      Правда бывает закрываются хостеры, но обычно они передают кому-то своих пользователей.


  1. aik
    02.11.2017 13:49

    А как на счёт бэкапов самого некстклауда дело обстоит, есть штатная кнопка или надо ручками делать?


    1. Loki3000
      02.11.2017 13:56

      Встроенного нет, но можно установить стороннее приложение.


  1. darksshvein
    02.11.2017 14:33

    >Если не жалко платить каждый месяц за хостинг
    вот тут не догнал. в чём сложность зайти по айпи-адресу?


    1. wtigga Автор
      02.11.2017 14:34

      SSL-сертификат можно нормальный сделать, а не самоподписанный.


  1. SchmeL
    02.11.2017 14:44

    — Если у вас паранойя.
    — Добавим бесплатный SSL-сертификат Let's Encrypt

    Если у вас паранойя, то и доверие сторонним СА не должно быть. Только собственный сертификат, только хардкор…


    1. mayorovp
      02.11.2017 16:44

      А что плохого сторонний CA может сделать (с точки зрения приватности)?


      1. SchmeL
        02.11.2017 17:39

        Да ничего в общем-то, ключ-то у нас. Но на правах паранойи (шапочка из фольги уже должна быть на голове) — ну могут только выдать сертификат заинтересованным лицам на ваш домен, а потом каким-то способом (хоть через провайдера), подменить ваш url на фишинговую страничку. Свой корневой СА можно на устройстве добавить в список доверенных.
        habrahabr.ru/post/116084
        sarcasm_mode> Да и кто знает куда эти ваши certbot'ы после «нужного» обновления данные пошлют =)


  1. Retifff
    02.11.2017 15:22

    В зоне .RU домен стоит копейки (199 руб. за год)

    А тарифы на продление имени вы смотрели?
    https://www.reg.ru/domain/service/premium-renewal


    1. wtigga Автор
      02.11.2017 15:33

      Ну всегда варианты есть :)


      1. Retifff
        02.11.2017 15:44

        C именем? Подскажите ваши варианты.


        1. APLe
          02.11.2017 15:49

          Я host-food пользуюсь. Имя не бог весть какое, конечно, но не совсем уж noname.


          1. Retifff
            02.11.2017 15:52

            Не смог там найти тарифов на продление имени. Чтобы без хостинга.


            1. APLe
              02.11.2017 15:54

              199 рублей в год плачУ. Правда, хостинг у меня тоже там, но не думаю, что это влияет на тариф.


        1. wtigga Автор
          02.11.2017 16:23

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


  1. amarao
    02.11.2017 16:02

    Простите меня, в вашей версии nextcloud — без багов и CVE, нерушимый и на века? Если нет (а это не так), то где процедура обновления? Скачали tar.gz, а дальше с этим как жить?

    Душераздирающая инструкция. В отличие от straiselend, который при случае можно тупо снести и переставить, в этой штуке предполагается хранить данные. В дырявой ПХП-поделке к которой даже не предлагается ставить апдейтов.
    Просто /facepalm.


    1. wtigga Автор
      02.11.2017 16:14

      Ну это… там встроенный апдейтер есть, прямо в админке.


  1. konchok
    02.11.2017 16:18

    Nextcloud поднять лучше дома на Raspberry Pi или типа того, а до VPS поднять туннель для клиентского подключения с интернет.


    1. wtigga Автор
      02.11.2017 16:21

      Жду инструкций! :-) Особенно в сиутации за тремя недоступными натами.


      1. konchok
        02.11.2017 16:37

        Если веб открывается то и туннель будет работать. Для плохого интернета такая конфигурация даже ещё больше актуальна.


  1. Bonio
    02.11.2017 16:23

    Вместо Apache еще nginx поставить, пошустрее работать будет.


    1. webviktor
      02.11.2017 16:42

      Абсолютно никакой разницы.
      Тормозит в обоих случаях.
      Даже если сервер 4-х ядерный со 100гб озу.