megavolt0

megavolt0

la guerre comme la guerre
Пикабушник
Дата рождения: 01 января 2001
поставил 148400 плюсов и 718 минусов
отредактировал 2 поста
проголосовал за 2 редактирования
Награды:
5 лет на Пикабуболее 1000 подписчиков
49К рейтинг 2952 подписчика 34 подписки 105 постов 52 в горячем

ЦБ предлагает обязать операторов передавать банкам персональные данные пользователей SIM-карт

В соответствии с законопроектом, подготовленным Центральным банком России, оператором сотовой связи вменяется обязанность раскрывать персональные данные своих клиентов для банков.


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


По мнению ЦБ такая мера сможет решить сразу две имеющиеся проблемы: обезопасить системы дистанционного банковского обслуживания от несанкционированного доступа и исключить случаи предоставления заёмщиками банкам чужих номеров телефонов.


Для развертывания новой информационной системы предлагается использовать мощности и инфраструктуру Центрального научно-исследовательского института связи. Этот же институт, в настоящее время, поддерживает базу номеров, перенесенных от одного оператора мобильной связи к другому. В таком варианте, по мнению ЦБ, создание новой информационной системы не потребует затрат из федерального бюджета.

Опрос. Анонимность, безопасность или что вам ещё интересно.

Опрос конечно же для моих подписчиков (уже без малого 3 килоподписчика) и для всех остальных.

Ранее я опубликовал ряд статей о анонимности, защите трафика и безопасном хранении данных. (1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14).  Мои читатели (по крайней мере большая их часть) научились настраивать собственные VPN сети (OpenVPN, SoftEther), хранить свои данные в облачных хранилищах (ownCloud, Cozy Cloud). Попутно познакомились с linux и прочими сопуствующими штуками. Сатьи читаются и расползаются по интернеты. Чему я весьма рад. О своей философии и поставленных целях я писал ранее. И без ложной сромности могу сказать,что целей этих достигаю. В среднем в день я получаю от 20 писем с вопросами по статьям. Т.е. люди не просто читаю, а делают.

Пикабу конечно же не Хабр и GT, поэтому я стараюсь писать подробные, пошаговые инструкции. А решения предлагаю проверенные и надёжные.

В целом, того что я уже осветил в статьях, достаточно для повседневной жизни. Но возможно, что-то я упустил из виду.


Поэтому предлагаю всем интересующимся пройти опрос.


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

Всем бобра.

Опрос. Анонимность, безопасность или что вам ещё интересно. Опрос, Анонимность, Информационная безопасность, VPN, Облачное хранилище
Показать полностью 1

В России будет создана единая система хранения биометрических данных граждан

Как сообщает РБК, Минкомсвязь утвердила концепцию и «дорожную карту» по созданию в России Единой биометрической системы. Система начнёт работать в 2018 году. Разработчиком, а в дальнейшем и поставщиком системы является "Ростелеком".


В системе будут храниться лица и голоса граждан. Применяться система будет для идентификации клиентов банков. Как сообщил РБК Иван Беров, директор проектного офиса по цифровой идентичности «Ростелекома», предполагается, что биометрическая идентификация по лицу и голосу повысит надёжность операций и позволит получать банковские услуги дистанционно.


Данные в систему будут вносится на основании письменного разрешения субъекта персональных данных. Для этого необходимо будет посетить банк, написать разрешением на обработку биометрических данных и предоставить информацию о себе. В будущем банки, в которых у клиента нет счёта, смогут проводить первичную идентификацию на основе данных Единой биометрической системы и Единой системы идентификации и аутентификации, которая используется на «Госуслугах», рассчитывают создатели проекта.


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


По словам Берова, «Ростелеком» уженачал выбирать субподрядчиков для разработки системы. Опробация системы будет проходить в два этапа: технологическое тестирование и сценарное (проверка на людях). Испытания продлятся до конца 2017 года, а в 2018 году, при готовности нормативной базы и всех участников системы, система будет запущена. Список банков-участников поручено сформировать Центробанку.


В дальнейшем планируется применять систему в МФЦ, Удостоверяющих центрах и отделениях Министерства внутренних дел, которые выдают паспорта, а также в учреждениях сфер образования, медицины и ритейла.

Показать полностью

Cozy Cloud. Свой уютный уголок Интернета

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


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


Одна группа разработчиков решила, что лучшим компромиссом будет запилить своё собственное персональное облако с блекджеком и шлюхами календарём и контактами. В результате появился Cozy Cloud — решение с открытым исходным кодом, доступное любому желающему.


Cozy можно перевести, как «уютный». Это действительно этакий уютный личный кабинет в котором вы можете:

- хранить и синхронизировать свои контакты;

- хранить и синхронизировать свои документы, фотографии и иные файлы;

- публиковать файлы, документы, фотографии;

- хранить и делиться своими визитными карточками;

- вести список дел (органайзер);

- вести календарь;

- управлять своими финансами;

- управлять своей почтой;

- и многое другое — просто подключите нужный плагин.

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

И это все будет на вашем личном сервере. Никто не будет сканировать ваши данные, чтобы таргетировать рекламу. Вы можете разместить свои данные в той стране, в которой захотите, в том дата-центе и у того хостера, которому доверяете.


Для Cozy Cloud есть клиенты под все распространенные платформы.

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

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

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Кроме того, разработчики готовят к релизу обновлённый Cozy Cloud, который будет и красивее, и функциональнее. Обещают, что обновится можно будет из текущей версии.


Если вы захотели попробовать, что это такое, то вот вам простая пошаговая инструкция.


Разворачивать Cozy мы будем в Docker. Это решит сразу несколько задач:


1. Проще установка, мы скачаем официальный готовый образ от разработчиков и будем его использовать, лишь немного допилив по Let’s Encrypt. Если ставить всё руками, то статья будет далека от понимания и повторения не подготовленным человеком.

2. Рано или поздно встанет задач перенести свой Cozy Cloud на другой сервер. Нет ничего легче, чем перенести образ с одного сервера на другой.

3. Пора уже моим читателям потрогать докер руками 🙂 Некоторые простые операции мы не будем автоматизировать, а выполним руками, чтобы попробовать работу с докером.


Нам понадобится VPS с Ubunru 14.04 x86_64. Как выбрать и арендовать VPS читайте здесь. Необходимо учесть следующие требования:

- Виртуализация KVM или XEN. Вам не подойдёт OpenVZ.

- Оперативной памяти не менее 512МБ, но это совсем впритык. Лучше 1ГБ и более.

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


Ещё нам понадобиться доменное имя. Не важно, какого уровня. Возможно у вас уже есть какой-нибудь домен. Тогда вы можете сделать поддомен вида, например, cozy.example.com

Как получить бесплатный домен, написано в статье про ownCloud.


Мы будем использовать cozy.mydomen.ml

Итак,займёмся VPS. Вы получили его IP-адрес и логин-пароль. Сразу настроим SSH вход по сертификату по этой инструкции (вместо yum используйте apt-get. Остальное всё также.)

Установим необходимые для докера пакеты:

apt-get -y install \
linux-image-extra-$(uname -r) \
linux-image-extra-virtual

о, что вы видите выше, это одна команда. Для удобства она разбита на строчки с помощью символа «\». Вы можете копировать и вставлять её в консоль в таком виде. Как обычно, все скрипты и конфиги в удобном форматированном виде в первоисточнике статьи.

На вот такой запрос

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Выбираем первый вариант и жмём Enter.

Установим пакеты для работы с репозиториями через HTTPS

apt-get -y install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

Добавим ключ репозитория Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

и сам репозиторий:

add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

Обновим список пакетов с учётом добавленного репозитория

apt-get -y update

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

apt-get -y install docker-ce

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

docker run --rm hello-world

В ответ получим:

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Всё хорошо.

Теперь клонируем официальный образ Cozy Cloud к себе на сервер

cd /tmp
git clone https://github.com/cozy-labs/cozy-docker
cd cozy-docker

Нам нужно будет немного подправить его, чтобы научить получать сертификаты от Let’s Encrypt.

Если вы будете использовать для редактирования файлов WinSCP, обязательно сделайте в нём такую настройку:

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Для начала откроем файл /tmp/cozy-docker/Dockerfile (это сценарий сборки образа для Docker). В нём найдем строчку

# Install NodeJS 4.2.X LTS

и перед ней вставим секцию следующего содержания:

# Install Certbot
RUN add-apt-repository ppa:certbot/certbot
RUN apt-get update --quiet
RUN apt-get --quiet --yes install python-certbot-nginx

Должно получиться так:

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Сохраним и закроем файл. Тем самым мы предпишем докеру при сборке образа установить Certbot из соответствующего репозитория.

Теперь откроем для редактирования файл /tmp/cozy-docker/cozy-init

Найдём в нем секцию, начинающуюся на

# Regenerate SSL certificates

Вся секция выглядит так:

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Как видите, здесь предусмотрены два варианта: доступ по http и https, в зависимости от переменной DISABLE_SSL. Причём, в случае с https генерируется самоподписанный сертификат на который будут ругаться все современные браузеры. Нам это всё не нужно. Мы будем использовать только https, а сертификаты получим от Let’s Encrypt. Поэтому убиваем почти всё содержимое этой секции (то, что нужно удалить, выделено на скриншоте выше). Вместо этих строк, вставим следующие:

rm -f /etc/nginx/sites-enabled/cozy
ln -sf /etc/nginx/sites-available/cozy-ssl /etc/nginx/sites-enabled/
if [ -z "$DOMAIN" ]; then
DOMAIN=localhost
fi
openssl dhparam -out /etc/cozy/dh2048.pem -outform PEM -2 2048
certbot certonly --standalone --noninteractive --agree-tos -n -d $LETSENCRYPT_HOST --standalone-supported-challenges tls-sni-01 --email $LETSENCRYPT_EMAIL
ln -s /etc/letsencrypt/live/$LETSENCRYPT_HOST/fullchain.pem /etc/cozy/server.crt
ln -s /etc/letsencrypt/live/$LETSENCRYPT_HOST/privkey.pem /etc/cozy/server.key
supervisorctl restart nginx
cozy-monitor restart home
cozy-monitor restart proxy

Сохраним и закроем файл. Как видите, здесь мы оставили только вариант с https и добавили команды по генерации сертификатов от Let’s Encrypt с помощью certbot. Для этого мы используем переменные LETSENCRYPT_HOST и LETSENCRYPT_EMAIL, значение которых передадим докеру при запуске контейнера.

Теперь соберём наш собственный образ:

docker build -t cozy/myimage /tmp/cozy-docker

Докер собирает образ, используя сценарий, который лежит в файле Dockerfile. В команде выше мы указали, что этот файл находится в папке /tmp/cozy-docker. Также мы указали, что наш новый образ должен называться cozy/myimage.


Процесс может занять весьма длительное время (на слабых VPS до двух часов), зависящее от производительности вашего сервера и каналов связи. Итоговый размер образа 1.3ГБ, и это всё будет скачиваться, распаковываться и собираться.


По окончании проверим, что образ создан и присутствует в списке образов докера. Выполним команду:

docker images

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

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Теперь вы можете работать в консоли контейнера также, как до этого работали в консоли «родительской» хостовой машины. Чтобы вернуть назад в консоль хостовой машины введите команду:

exit

А можно просто отправлять команды в контейнер и смотреть их выполнение, оставаясь в хостовой системе. Что мы сейчас и сделаем для первоначальной настройки Cozy. Выполним команду:

docker exec -it cozy-cloud /bin/bash /etc/init.d/cozy-init

Т.е мы запустили в контейнере командный интерпретатор bash, а ему, в свою очередь, передали в качестве параметра скрипт cozy-init. Вы можете наблюдать как генерируется ключ Диффи-Хелмана, запрашиваются сертификаты Let’s Encrypt.


После этого можете уже в браузере вводить свой DNS-адрес (в моём случае это cozy.mydomen.ml).

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост
Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Дальше придумываете стойкий пароль для вашего кабинета. А на следующем шаге заполняем регистрационные данные.

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Загрузится главная страничка Cozy. Сразу идём в настройки

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

И меняем язык

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост
Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Страничка автоматически перезагрузится уже на русском. В самом низу страницы есть кнопка включения двухфакторной авторизации. Крайне рекомендую это сделать. Вам понадобиться Google Authenticator или аналогичное приложение на смартфоне.


Собственно всё. Дальше переходите на главную страницу, щёлкайте иконки, изучайте. Дополнительные плагины в разделе «Магазин». В 90% случаев всё будет на русском. Если что-то не переведено, можно поучаствовать в локализации. В общем пробуйте, пользуйтесь.


Мы же ещё немного поковыряем наш контейнер.


Вы можете устанавливать в контейнер пакеты и программы. Установим текстовый редактор nano:

docker exec -it cozy-cloud apt-get -y install nano

Nano установится именно в контейнер, на хостовой системе его не будет. Вот это одно из главных преимуществ докера: в контейнере вы можете делать что угодно, хостовая система останется не тронутой. Как только вы решите, что этот контейнер вам не нужен, просто убиваете его командой «docker rm». Например, чтобы убить наш контейнер с Cozy (команда для примера, не делайте этого без необходимости):

docker rm cozy-cloud

Чтобы удалить образ (команда для примера, не делайте этого без необходимости):

docker rmi cozy/myimage

Или можем настроить cron. Например, настроим обновление сертификатов (по аналогии, как мы это делали в статье про ownCloud). Выполним команду:

docker exec -it cozy-cloud crontab -e

Нас попросят выбрать редактор текста. Вы берем вариант 1 с редактором Nano. В открывшемся окне редактора допишем следующие строчки:

00 3 * * 1 certbot-auto renew >> /var/log/le-renew.log
10 3 * * 1 supervisorctl restart nginx

Получится так:

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

И нажмём CTRL+O для сохранения файла. На предложенное имя соглашаемся просто нажав Enter. Затем CTRL+X для выхода из Nano. Получим сообщение:

crontab: installing new crontab

Причем это задание крона будет существовать и исполняться только внутри контейнера.


В общем думаю понятно.


Теперь о возможных проблемах Cozy.


У Cozy есть утилита для проверки состояния сервера и исправления проблем. Это cozy-monitor. Например для проверки состояния модулей Cozy выполним команду:

docker exec -it cozy-cloud cozy-monitor status

В ответ получим примерно следующее:

Cozy Cloud. Свой уютный уголок Интернета Cozy cloud, Облачное хранилище, Облачное хранение, Полезное, Настройка, Docker, Инструкция, Персональные данные, Длиннопост

Если Cozy перестал работать (например после обновления), починить можно следующей последовательностью команд:

docker exec -it cozy-cloud cozy-monitor uninstall data-system
docker exec -it cozy-cloud cozy-monitor install data-system
docker exec -it cozy-cloud cozy-monitor restart home
docker exec -it cozy-cloud cozy-monitor restart proxy

Если установка какого-либо модуля из магазина зависла (не часто, но бывает), то лечится командой:

docker exec -it cozy-cloud cozy-monitor reinstall-missing-app

Иногда с первого раза команда не лечит «битый» модуль. Тогда запустите её ещё раз.

Узнать все возможности утилиты cozy-monitor можно командой:

docker exec -it cozy-cloud cozy-monitor

Подключение клиентов тривиально и в описании не нуждается. Ссылка на клиентское ПО дана в начале статьи.

Показать полностью 17

А на ужин семечки и картошка

Наткнулся в сети на стартап: сервис дешёвых путешествий. Рекламировать не хочу, если кому очень интересно, кину ссылку в каментах.

Они предлагают путешествия за 1500 р/день на человека. И вот как они описывают расходы на питание

А на ужин семечки и картошка Бюджетное путешествие, Расходы на еду, Путешествия, Дорога

А жена говорит: путешествия это дорого, на троих детей много денег нужно... Отправил ей этот расчёт.

Mozilla связала слежку за пользователями с Chrome при помощи рекламного щита в Сан-Франциско

Mozilla связала слежку за пользователями с Chrome при помощи рекламного щита в Сан-Франциско Mozilla, Google Chrome, Браузер, Слежка, Новости, 1984

«Большой браузер следит», — написано на баннере.


Компания Mozilla, являющаяся разработчиком браузера Firefox, повесила в Сан-Франциско рекламный баннер, призывающий обратить внимание на слежку в интернете. На нём написано: «Большой браузер следит. Свободно просматривайте вместе с Firefox». Слово «браузер» на баннере окрашено в цвета Google Chrome — красный, синий, жёлтый, зелёный.


Баннер появился в период проведения конференции All Hands 2017, организованной Mozilla с 26 по 30 июня.


больше пруфов здесь

Показать полностью

Правительство предполагает отсрочку закону Яровой на пять лет.

Газета ведомости сообщает, что вступление в силу пакета антитеррористических поправок, известных как «закон Яровой» может быть перенесено на пять лет – с 2018 на 2023 г.


Сообщается, что в процессе комиссионного рассмотрения проекта положительного отзыва сенатора Антона Белякова и депутата Олега Шеина на указанный законопроект, сам отзыв подвергся критике со стороны представителя ФСБ. Авторам документа дали время на проработку. Что именно вызвало недовольство ФСБ - не известно, решение о переносе комиссии не принято, таким образом отзыв правительства на законопроект не сформирован.


Источник Ведомостей указывает, что хотя решение по законопроекту не принято, отношение к нему в целом положительное. Возможно поэтапное вступление закона в силу с 1 июля 2018 г.


На подготовку к исполнению закона у операторов остается год – поправки Яровой и Озерова вступят в силу 1 июля 2018 г. По нему операторы связи и интернет-сервисы обязаны в течение шести месяцев хранить все телефонные разговоры, текстовые сообщения, изображения, звуки, видеозаписи и другие электронные сообщения пользователей. Вскоре после подписания закона президентом России Владимиром Путиным, 19 июля прошлого года, Беляков и Шеин предложили отсрочить его вступление в силу на пять лет.


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

Показать полностью

Делаем собственное облако. OwnCloud+Let's Encrypt

Наверняка вы пользуетесь какими-либо хранилищами данных в интернете. Если у вас есть почта в Gmail, значит автоматически у вас есть аккаунт в Drive.Google и именно там хранится ваша почта. Если почта от Yandex, то, точно также, вы используете Yandex.Диск. Есть еще множество вариантов облачных хранилищ. Есть платные и бесплатные, с разными характеристиками. Вы можете выбирать исходя из имеющейся задачи сохранения тех или иных данных. Но у всех этих хранилищ есть существенный недостаток — вы их абсолютно не контролируете. Кроме того, и это не секрет, те же Google и Yandex читаю вашу почту, просматривают ваши файлы для таргетирования рекламы. Менее именитые хранилища порой становились фигурантами утечек данных об аккаунтах пользователей, а значит хранимая в них информация подвергалась разной степени компрометации.


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

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

В этой статье будет рассказано, как установить и настроить собственное хранилище на базе решения ownCloud. Нам подойдет любой VPS с количеством оперативной памяти от 512МБ. Вычислительные способности не очень важны, если пользоваться хранилищем будет малое число клиентов. А вот места на жестком желательно побольше. Сколько именно — решать вам. Применение SSD, опять же, при малом числе клиентов, не обязательно. Трафик тоже прикидывайте сами. Если у вас хранилище в районе 100ГБ, то и 512ГБ исходящего трафика в месяц будет достаточно. Важнее, чтобы реальная скорость канала была большая. Не стоит гнаться за тарифами с безлимитным трафиком, но с плохими каналами.


Небольшое отступление: Есть ответвление от ownCloud под названием Nextcloud. Он новее и прогрессивнее, но пока не блещет стабильностью и поддержкой. Ветки не сильно разошлись и Nexcloud настривается точно также. Для ознакомления и пробы сил я всё-таки рекомендую ownCloud. Он лучше документирован, по нему море статей, все баги и особенности давно разобраны.


Под ownCloud нам потребуется установить и настроить LEMP сервер. Устанавливать его мы будем на CentOS 7 x64. Желательно использовать дистрибутив с минимальным набором пакетов. Такой есть у любого хостера, называться будет примерно так: centos-7-x86_64-minimal. Все необходимые пакеты мы поставим в процессе настройки. Минимальный дистрибутив позволит избежать конфликтов пакетов и занятых портов.


Ещё нам понадобиться доменное имя. Второго или третьего уровня. Возможно у вас уже есть какой-нибудь домен. Тогда вы можете сделать поддомен вида, например, mycloud.example.com


Или же вы давно хотели заиметь свой домен (например для почты), но всё не решались. Тогда самое время перейти на сайт регистратора (godaddy.com, reg.ru и тысячи их. Не реклама!) и зарегистрировать доменное имя. Естественно, это будет стоить денег. Причем ежегодно. Можно получить доменное имя бесплатно. Например, перейдём на dot-tk (вместо - поставьте точку) и поищем свободное имя в зонах tk .ml .ga .cf .gq

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Если у вас уже есть домен, то просто добавьте А запись, вида (вместо 123.123.123.123 вставить IP-адрес вашего VPS):

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Если вы решили получить новый платный домент, то действуйте по инструкциям выбранного регистратора, а потом добавьте А запись, как показано выше.


Если ваш маленький еврей бунтует, то продолжим получать бесплатный домен у dot-tk

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Как видите, я выбрал для домена такое немного колхозное, но понятное имя mydomen.ml (я знаю, что правильно mydomain, но все простые имена уже были заняты или платные). На его примере я и буду рассказывать дальше.

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Так как у вас еще нет своего сайта/блога/etc, то вместо 123.123.123.123 вписываете IP-адрес вашего VPS.


Дальше вам предложат зарегистрироваться и домен за вами. Попадаем в clientarea

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

В принципе, мой домен уже смотрит на мой VPS и на этом можно было бы остановиться. Но это не правильно. ownCloud это сервис, один из многих, которые можно привязать к домену. Поэтому мы не будем тратить домен второго уровня на ownCloud, а сделаем как написано выше, домен третьего уровня.


Откроем консоль управления доменом.

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Откроем управление DNS-записями

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

И добавим запись. Нужно заполнить новую запись в разделе Add Record (выделено красным). Вместо 123.123.123.123 вписываете IP-адрес своего VPS

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Не забудьте нажать кнопку «Save Changes» под новой записью.


Так мы создадим домен третьего уровня, ведущий на наш VPS с ownCloud.


В дальнейшем, в том месте, где обведено зелёным, вы сможете написать другой IP. Например IP сервера с вашим сайтом.


Тогда домен mydomen.ml будет вести на сайт, а домен mycloud.mydomen.ml на VPS с ownCloud. Сейчас и тот и другой ведут на ваш VPS.


Мы будем использовать mycloud.mydomen.ml


Настройте SSH и подключитесь к серверу с помощью Pytty и WinSCP. Как это сделать, ищите здесь.


Выполним стандартные телодвижения по подготовке CentOS к работе:

yum -y install epel-release
yum -y update

Установим web-сервер Nginx:

yum -y install nginx

Добавим репозиторий webtatic (предоставляет для CentOS пакеты, относящиеся к PHP):

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Теперь установим PHP7-FPM и еще несколько дополнительных пакетов (в числе прочего будет установлен Redis), которые понадобятся в рамках этой статьи:

yum -y install php70w-fpm php70w-cli php70w-gd php70w-mcrypt
yum -y install php70w-pear php70w-xml php70w-mbstring php70w-pdo
yum -y install php70w-json php70w-pecl-redis php70w-mysql
yum -y install dialog crontabs wget unzip redis git bc

Проверим версию PHP, чтобы убедится, что всё хорошо встало

php -v

Должно быть примерно так:

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Настроим PHP7-FPM


С помощью WinSCP откроем файл /etc/php-fpm.d/www.conf и найдем строчки:

; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache

Исправим на:

; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

Найдем:

listen = 127.0.0.1:9000

Проверяем, чтобы был именно порт 9000.

Находим:

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

и превращаем в

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Сохраняем и закрываем файл.

Теперь сделаем рабочий каталог для PHP:

mkdir -p /var/lib/php/session

Назначим его владельцем пользователя nginx

chown nginx:nginx -R /var/lib/php/session/

Запустим php-fpm, redis и nginx

systemctl start redis
systemctl start php-fpm
systemctl start nginx

Убедимся, что с ними всё хорошо

systemctl status php-fpm
systemctl status nginx
systemctl status redis
Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост
Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

И добавим в атозагрузку

systemctl enable php-fpm
systemctl enable nginx
systemctl enable redis
Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Теперь на нужна СУБД MariaDB. Установим:

yum -y install mariadb mariadb-server

Запустим:

systemctl start mariadb

Проверим:

systemctl status mariadb

И добавим в автозагрузку

systemctl enable mariadb

Теперь выполним первоначальную настройку MariaDB:

mysql_secure_installation

На вопрос

Enter current password for root (enter for none):

просто жмём Enter. На вопрос:

Set root password? [Y/n]

отвечаем Y и жмём Enter, придумываем и два раза вводим стойкий пароль.

Навсе последующие вопросы отвечаем Y и жмём Enter.

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Создадим новую базу данных с названием ‘owncloud_db’ с пользователем ‘ownclouduser’.

mysql -u root -p

СУБД спросит пароль, вводим пароль придуманный выше.

Вводим команду (не забывайте «;» )

create database owncloud_db;

В следующей команде вместо ownclouduser_pass придумайте, запомните и впишите стойкий пароль (да, ещё один).

create user ownclouduser@localhost identified by 'ownclouduser_pass';

Дадим пользователю права на новую базу (вместо ownclouduser_pass впишите пароль из предыдущей команды)

grant all privileges on owncloud_db.* to ownclouduser@localhost identified by 'ownclouduser_pass';

И отменим все другие права:

flush privileges;

Чтобы выйти из консоли СУБД введите

quit;

Теперь настроим бесплатный сертификат Let’s Encrypt для нашего Nginx и автоматизируем его обновление.

Клонируем репозиторий проекта letsencrypt из GitH

git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt

Теперь создадим сертификат

ВНИМАНИЕ: к этому моменту ваш домен (в моём случае mycloud.mydomen.ml) уже должен пинговаться.

Чтобы это проверить, на компьютере с Windows нажимаем сочетание клавиш Win+R и вписываем

ping mycloud.mydomen.ml

в ответ мы должны получить четыре строчки вида «Ответ от 123.123.123.123: число байт=32 время=79мс TTL=51». Если в ответ мы получаем «При проверке связи не удалось обнаружить узел…», то нужно просто подождать. После регистрации домена и добавление строчки с доменом третьего уровня может пройти до 24 часов, прежде чем они начнут пинговаться.

Выполним последовательно команды:

cd /opt/letsencrypt
./letsencrypt-auto certonly -a webroot --webroot-path=/usr/share/nginx/html/ -d mycloud.mydomen.ml

В процессе нас попросят ввести e-mail для уведомлений (вводим реально существующий):

Enter email address (used for urgent renewal and security notices) (Enter ‘c’ tocancel)

принять лицензионное соглашение (ввести A)

Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.... You must agree
in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
——————————————————————————-
(A)gree/(C)ancel:

и ответить на вопрос об информационной рассылке (ввести Y или N, тут уж как сами хотите.)

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let’s Encrypt project and the non-profit
organization that develops Certbot? We’d like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
——————————————————————————-
(Y)es/(N)o:

В конце получим сообщение вида:

Congratulations! Your certificate and chain have been saved at…

Теперь сделаем ключ для алгоритма Диффи-Хелмана.

openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096

Процесс долгий. Занимает несколько минут.


Теперь научим наш Nginx применять полученные сертификаты, а также добавим некоторые настройки для ownCloud. Открываем конфиг Nginx по пути /etc/nginx/nginx.conf и находим в нем секцию, которая выглядит примерно так:

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

Примечание:К сожалению возможностей пикабу не хватает для показа конфигов и скриптов с нормальным форматированием. В читаемом виде их можно найти в оргинале статьи.


Удаляем эту секцию и вместо неё вставляем секции следующего содержания:

upstream php-handler {
server 127.0.0.1:9000;
}
server {
# перенаправление с 80 порта, а также с www
server_name mycloud.mydomen.ml www.mycloud.mydomen.ml
listen 80;
return 301 https://mycloud.mydomen.ml$request_uri;
}

server {
listen 443 ssl;
server_name mycloud.mydomen.ml;
# Указываем пути к сертификатам
ssl_certificate /etc/letsencrypt/live/mycloud.mydomen.ml/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mycloud.mydomen.ml/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
# позволяем серверу прикреплять OCSP-ответы, тем самым уменьшая время загрузки страниц у пользователей
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
location ~ /.well-known {
allow all;
log_not_found off;
access_log off;
}
# The rest of your server block
root /usr/share/nginx/html;
index index.php index.html index.htm;
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
location /.well-known/acme-challenge { }
# set max upload size
client_max_body_size 512M;
fastcgi_buffers 64 4K;
# Disable gzip to avoid the removal of the ETag header
gzip off;
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location / {
rewrite ^ /index.php$uri;
}
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
return 404;
}
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
return 404;
}
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri $uri/ =404;
index index.php;
}
# Adding the cache control header for js and css files
# Make sure it is BELOW the PHP block
location ~* \.(?:css|js)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200";
# Add headers to serve security related headers (It is intended to have those duplicated to the ones above)
# Before enabling Strict-Transport-Security headers please read into this topic first.
#add_header Strict-Transport-Security "max-age=15552000; includeSubDomains";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
# Optional: Don't log access to assets
access_log off;
}
location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
# Optional: Don't log access to other assets
access_log off;
}
}

Смотрим внимательно в приведённый выше конфиг. Все mycloud.mydomen.ml заменяем на название своего домена.

Проверим, что всё хорошо

nginx -t

Должны получить в ответ:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Применим новые настройки

systemctl reload nginx

letsencrypt выдаёт сертификаты со сроком действия 90 дней. Их нужно заблаговременно продлевать. Процесс этот можно и нужно автоматизировать. Само обновление запускается командой

/opt/letsencrypt/letsencrypt-auto renew

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

——————————————————————————-
Processing /etc/letsencrypt/renewal/mycloud.mydomen.ml.conf
——————————————————————————-
Cert not yet due for renewal
The following certs are not due for renewal yet:
/etc/letsencrypt/live/mycloud.mydomen.ml/fullchain.pem (skipped)
No renewals were attempted.

Для автопродления воспользуемся встроенным в Linux планировщиком cron. Для этого командой

crontab -e

откроем crontab для редактирования. Появится пустое чёрное поле.

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Нажмите кнопку Insert на клавиатуре, снизу появится уведомление —ISERT —. Теперь впишите/вставьте следующие две строчки

00 3 * * 1 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
10 3 * * 1 /usr/bin/systemctl reload nginx
Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Нажмите на клавиатуре кнопку Esc, режим —INSERT — пропадёт. Теперь введите (просто вводите, в нижней строчке оно появится само)

:wq

и нажмите Enter

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Мы вернемся в консоль с сообщением

crontab: installing new crontab

Теперь каждый понедельник ночью в 3:00 будет обновляться сертификат, а в 3:10 перезапускаться Nginx. Вы можете контролировать выполнение задания в логе /var/log/le-renew.log.


Это всё была присказка, т.е. только подготовка к установке ownCloud. Промежуточным итогом мы имеем Web-сервер, который умеет в правильный https, имеет все необходимые библиотеки и СУБД. Т.е. мы установили и настроили (ну почти) обещанный LEMP сервер.


Остановим пока Nginx

systemctl stop nginx

Узнать последнюю версию ownCloud и получить ссылку на скачивание можно здесь.

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост
Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост
Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Скачаем архив

cd /tmp
wget https://download.owncloud.org/community/owncloud-10.0.2.zip

Распаковываем его

unzip owncloud-10.0.2.zip

С помощью WinSCP удалим из папки /usr/share/nginx/html/ все папки и файлы кроме папки .well-known


И скопируем туда файлы ownCloud

cp /tmp/owncloud/. /usr/share/nginx/html/ -r

Теперь, с помощью WinSCP, в папке /root/ создадим файл oc-set со следующим содержимым:

#!/bin/bash
ocpath='/usr/share/nginx/html'
htuser='nginx'
htgroup='nginx'
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
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

И выставим ему права 0755.

После выполним полученный скрипт:

/root/oc-set

Скрипт отработает. Создаст все необходимые каталоги для ownCloud и выставит правильные права. В результате работы скрипта будут выведены строчки:

Creating possible missing Directories
chmod Files and Directories
chown Directories
chmod/chown .htaccess

Запустим Nginx

systemctl start nginx

Теперь можно в браузере переходить по адресу cloud.mydomen.ml


Нас встречает окно создания учётной записи администратора

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Придумываем логин-пароль администратора и нажимаем «Завершить установку». Пароль должен быть стойким.


Если вы сейчас зайдёте в наше вновьсозданное облако, то увидите, что ownCloud ругается на отсутствие кэширования, что может замедлять работу. Настроим кэширования с помощью Redis.


В WinSCP откроем файл /usr/share/nginx/html/config/config.php. Смотрим на последнюю строчку, она выглядит так:

);

Перед ней добавим строчки

'filelocking.enabled' => true,
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,
),

запятые в конце строчек не забудьте.


Должно получиться так

‘filelocking.enabled’ => true,
‘memcache.local’ => ‘\OC\Memcache\Redis’,
‘redis’ => array(
‘host’ => ‘localhost’,
‘port’ => 6379,
‘timeout’ => 0.0,
),
);

Сохранить и закрыть.

С помощью WinSCP откроем файл /etc/sysctl.conf и добавим строчку:

vm.overcommit_memory=1

Сохраним и закроем файл.


Перезапустим службы:

systemctl restart redis
systemctl restart php-fpm
systemctl restart nginx

Теперь можно в браузере заходим в наше облако cloud.mydomen.ml. Он будет ругаться на СУБД и пр. — не обращайте внимания, это для данной задачи не критично.


Обязательно зайдите в основные настройки и установите настройку планировщика задач на Cron

Делаем собственное облако. OwnCloud+Let's Encrypt Owncloud, Linux, Centos, Letsencrypt, Настройка, Nginx, Redis, Инструкция, Длиннопост

Облако настроено, можно пользоваться. Теперь настроим немного безопасности.


Установим и запустим файрволл

yum -y install firewalld
systemctl start firewalld

И откроем порты для необходимых сервисов

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload

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


Добавим файрволл в автозагрузку

systemctl enable firewalld

На этом настрока ownCloud завершена. Консоль putty и менеджер WinSCP нам больше не нужны.


В качестве последнего штриха включим шифрование наших файлов в хранилище. Заходим в настройки (Ищите свой логин в правом верхнем углу окна браузера. Там, в выпадающем меню «Настройки»). В разделе Администрирование открываем пункт «Приложения». Жмём кнопку «Показать отключённые приложения». Находим приложение «Default encryption module» и нажмём рядом с ним кнопку «включить».


Теперь Настройки->Администрирование->Шифрование. Ставим галочку «Включить шифрование на стороне сервера», читаем предупреждение и жмём в конце него «Включить шифрование». Ниже, в появившихся настройках модуля шиврования выбираем «Мастер-ключ» и применяем настройку. Нас попросят перелогинится, сделаем это. Опять идём Настройки->Администрирование->Шифрование и видим надпись

Encryption type: Master Key

Шифрование работает.


Для работы с облаком вам нужен клиент на вашем устройстве. Не рекомендую использовать для повседневного подключения к ownCloud созданную выше (при первом входе) учетную запись администратора. Оставьте её для администрирования. Щелкните по логину администратора в правом верхнем углу и выбирете «Пользователи» в выпадающем списке. В открывшемся окне, слева, добавьте группу для обычных пользователей. Например, назовите её Users. После создания группы в правой части окна, вверху, заполните данные на нового пользователя: логин, пароль (стойкий), группу (выбираем Users). Нажмите «Создать». В таблице добавиться строчка с новым пользователем. Установите ему квоту. Максимум, что вы можете выделить, это общий размер диска вашего VPS минус 3ГБ. Т.е. если у вас диск 100ГБ, в квоту вы можете вписать не более чем 97 GB. Всё, пользуйтесь новой учётной записью.


Клиентские приложения практически под все распространенные операционные системы можно найти здесь.


К сожалению, клиенты для мобильных устройств платные (копейки конечно, но тем не менее). Для Android бесплатный клиент здесь. Но нужно понимать, что он от стороннего разработчика. Для подключения вам понадобятся адрес сервера (в моём случае это https://mycloud.mydomen.ml) и логин-пароль. Настройка подключения элементарная, описывать не буду.


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


Если у вас есть вопросы, то все контакты для обратной связи вы найдёте здесь.

Показать полностью 21
Отличная работа, все прочитано!