Делаем собственное облако. OwnCloud Let’s Encrypt | Пикабу

Делаем собственное облако. OwnCloud Let's Encrypt | Пикабу Хостинг

Описание платформы

Облачный сервер располагается на отказоустойчивом кластере, состоящим из пула высокопроизводительных серверов Intel Xeon 56xx серии с системой хранения данных EMC VNX. Это современный, сверхнадежный способ размещения данных, построенный на платформе мирового лидера виртуализации компании VMware.

Технология VMware High Availability (высокая доступность, HA) позволяет минимизировать время простоя, вызванное сбоем серверов или операционных систем без дополнительных затрат. Cистема ведет мониторинг состояния виртуальных машин с целью выявления сбоев операционной системы или физических серверов.

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

Для хранения данных используется платформа хранения данных нового поколения EMC VNX, которая оснащена ЦП серии Intel Quad Core Xeon 5600 и внутренними дисковыми интерфейсам SAS 6 Гбит/с. Многоуровневое хранение данных, сочетающее использование флэш-дисков и жестких дисков, а так же размещение наиболее активных данных в кэш-памяти, обеспечивает высокую производительность и легко справляется с массовыми запросами.

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

Red Hat OpenShift – самый мощный облачный инстанс, который перестал быть бесплатным

Компания Red Hat, та самая, что подарила миру дистрибутив Red Hat Linux, еще не так давно могла предложить всем желающим воспользоваться бесплатным тарифом своего надежного облачного хостинга. Сейчас этого тарифа уже нет, однако остался 30-дневный бесплатный пробный период для OpenShift Online Pro, так что Red Hat OpenShift по-прежнему остается в нашем списке. Опять же, это ведь один из самых мощных облачных хостингов на сегодняшний день!

Процесс настройки здесь достаточно сложный, однако имейте в виду, что серверы перейдут в спящий режим спустя 30 минут бездействия. Когда 30-дневный пробный режим кончится, ваша подписка продлится автоматически. Отменив ее до конца пробного периода, вы все равно сможете целых 30 дней работать с Red Hat OpenShift.

Отмена бесплатного тарифа — это, конечно, большое огорчение, однако это не мешает называть OpenShift лучшим облачным хостингом для студентов и учащихся на сегодняшний день. Эта платформа просто создана для быстрой разработки (она уступает в этом плане Heroku, однако обходит AWS, Google Cloud и Azure), и вы сможете запустить на ней практически любой тестовый проект или школьное приложение.

  • 30-дневный бесплатный пробный период включается в себя доступ к американскому облачному инстансу (4 vCPU, 2 ГБ RAM, 2 ГБ дискового хранилища).
  • Настраиваемая консоль управления – вы сможете управлять и настраивать облачный хостинг как через командную строку, так и через разработанную OpenShift консоль.
  • Поддержка для разработчиков – платформа OpenShift позволяет быстро устанавливать фреймворки и языки за счет использования предварительно настроенных контейнеров.
  • Git-функционал – вы сможете использовать интерфейс OpenShift для внесения изменений в код и базовый образ, что существенно упрощает работу в команде.

Да, у Cloudways нет бесплатного тарифа, это факт, хотя и есть 3-дневный бесплатный пробный период. Конечно, бесплатные облачные хостинги могут показаться очень заманчивым вариантом, однако в первую очередь необходимо задуматься, готовы ли вы к тому уровню ответственности и компетенций, который нужен для работы с ними.

Если вы еще только знакомитесь с миром облачных хостингов и пока не готовы к сложностям, то вам стоит поискать другие сервисы, а именно недорогие и качественные облачные хостинги.Cloudways – это моя личная рекомендация №1, так как у этого сервиса отличная техподдержка, превосходное качество работы и достаточно низкие цены.

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

  • Вы сами выбираете облачный сервис – тарифы Cloudways основаны на облачных услугах от DigitalOcean, Linode, Vultr, AWS и GCP.
  • Поддержка 24/7 – такого вам не обеспечит ни один бесплатный хостинг. Сотрудники техподдержки Cloudways будут всегда на связи и ответят на любой вопрос про ваш хостинг. Имейте в виду, что русский не является рабочим языком техподдержки.
  • Бесплатная миграция – эксперты Cloudways возьмут в свои руки процесс миграции от и до. Если вы хотите сменить свой облачный хостинг в пользу Cloudways, то процесс переноса пройдет для вас максимально комфортно.
  • Управляемые резервные копии – компания создаст резервную копию всего вашего хостинг-контейнера, что позволит при необходимости с легкостью восстановить все наработки.

Делаем собственное облако. owncloud let’s encrypt

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

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

В этой статье будет рассказано, как установить и настроить собственное хранилище на базе решения 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, shhost.ru и тысячи их. Не реклама!) и зарегистрировать доменное имя. Естественно, это будет стоить денег. Причем ежегодно. Можно получить доменное имя бесплатно. Например, перейдём на dot-tk (вместо — поставьте точку) и поищем свободное имя в зонах tk .ml .ga .cf .gq

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

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

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

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

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

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

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

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

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

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

Не забудьте нажать кнопку «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

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

Теперь на нужна СУБД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-2022…. 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 ругается на отсутствие кэширования, что может замедлять работу. Настроим кэширования с помощью Redis.

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

);

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

‘filelocking.enabled’ => true,
‘memcache.local’ => ‘OCMemcacheRedis’,
‘redis’ => array(
‘host’ => ‘localhost’,
‘port’ => 6379,
‘timeout’ => 0.0,
),

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

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

‘filelocking.enabled’ => true,
‘memcache.local’ => ‘OCMemcacheRedis’,
‘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

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

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

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. Но теперь вы уже знаете, что это такое и може продолжить изучение самостоятельно. Или оставить так. Текущей конфигурации достаточно для большинства персональных задач.

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

Им без облака никак: кому точно нужен облачный хостинг

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

Однако запуск сложных проектов на обычном публичном хостинге – это опасное и рисковое дело.

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

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

Для больших проектов в классическом хостинге слишком много рисков. И с ними едва ли можно что-то сделать.

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

То есть вместе с облачным хостингом вы получаете ряд ключевых преимуществ:

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

Можно найти отличные и бесплатные облачные хостинги, однако будет проще, если вы готовы платить

Если вы хотите поэкспериментировать или занимаетесь разработкой школьных или личных проектов, то, конечно, вовсе не обязательно что-то платить. Бесплатные тарифы хостингов будут достаточно мощными, чтобы обеспечивать вас всем необходимым и подарить ценный опыт от работы с ними. Red Hat OpenShift и Heroku – мои личные фавориты в этом плане.

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

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

Вот небольшая сравнительная таблица, которая поможет вам принять решение:

Шаг 1: регистрируемся на amazon.

Процедура регистрации

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

Перед тем как вбивать данные кредитной карты, нужно убедиться что по ней доступно для снятия минимум 85р для Mastercard и 75р для Visa. В зависимости от региона и типа кредитной карты в конце процесса регистрации нас могут попросить подтвердить свой сотовый телефон.

Тут правил 3 — вписывать номер нужно без восьмерки и кода страны (10 цифр), не забывать правильно выбирать страну и начинать вводить код с клавиатуры только после того как синтезированная телефонная барышня перестанет говорить и затаится в ожидании.

Если подтвердить не попросят, значит Амазону очень понравилась ваша кредитка и у них еще еще не было проблем с пользователями из вашего диапазона адресов. Но поскольку нас больше всего интересует сервис EC2 (для которого верификация обязательна), то подтверждать 4 цифры по телефону придется в любом случае. После регистрации с карты снимут 1 доллар (и потом его не вернут) и сразу предоставят доступ к сервису хранения файлов

S3

и к шикарной консоли управления

К слову сказать, с самого начала все картинки из этого сообщения лежали именно на сервисе

S3

и 5Гб места на нем тоже входят в бесплатный годовой пакет (но бесплатный лимит кончился меньше чем за сутки). На

S3

можно создать корзину (

Create Bucket

), включить галку

Enabled

на вкладке

Website

и легко организовать хранилище файлов. Например, если назвать корзину словом

test86

и положить в нее файл

tеst85.7z

, то из браузера он будет виден по адресам

Шаг 10: настройка ftp.


Установим vSFTPd:

sudo yum install vsftpd

Добавляем его в автозапуск и пробуем запустить:

sudo /sbin/chkconfig --levels 235 vsftpd on
sudo service vsftpd start

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

sudo mcedit  /etc/vsftpd/vsftpd.conf

Изменяем значения параметров:

anonymous_enable=NO
local_enable=YES
write_enable=YES


Добавляем в конец файла:

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=107.21.246.159

Не забудьте вписать тут свой IP

Кнопкой F2 сохраняем изменения, выходим из редактора через F10 и перезапускаем FTP сервер:

sudo service vsftpd restart

Теперь можно пробовать подключиться к нашему серверу по FTP любым клиентом с поддержкой PASV режима.

В качестве имени хоста используем наш IP, пользователь

www

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

/var/www

любой файл. Если не получается, говорим:

sudo chmod 0755 /var/www

и пробуем еще раз.


Примерно вот так это выглядит во FlashFXP:

Делаем собственное облако. OwnCloud Let's Encrypt | Пикабу

Если залилось с самого начала, то не нужно менять права с 750 на 755 (это дополнительная дырка в безопасности)и проверяем права доступа к файлу. Он должен создаться с правами 0644. Если все совпадает, то переходим к 11-му шагу.

Шаг 12: включаем балансировку нагрузки (load balancers).

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

Load Balancers

периодически просто обращается к какому либо URL на сервере и делает выводы из времени отклика. Отсюда логически вытекает самая распространенная ошибка в настройке. По умолчанию предлагается пинговать индексную страницу сайта, а кто знает сколько она может весить в произвольном случае?

ping.html

и впишем туда одинокую единичку без юникодов, пробелов и переводов строк. В результате на проверку всегда будет тратиться ровно 1 байт трафика. Этот файл нужно загрузить через

ftp

в корень сайта перед созданием балансера.


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

Целью проверки выбираем ping.html
imageПроверять будем наш уже запущенный сервер
image
imageУра и все! Можно открывать в браузере наш IP адрес, заливать PHP скрипты через FTP и общаться из них с MySQL. Пример:
image
Не забывайте периодически контролировать расходы ресурсов в разделе управления аккаунтом и постарайтесь не пропустить момент, когда ваш бесплатный хостинг вдруг станет платным. При превышении лимитов любого из бесплатных сервисов, он не останавливается, а становится платным.
Расценки за превышение бесплатных норм для S3 и EC2

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

Довести все это до ума можно и это даже не сложно для грамотного человека. Засада в том, что грамотными становятся не день и не за год и вообще в одном человеке редко совмещается писатель на простонародном php и специалист в настройке серверов. Поэтому прежде чем отпускать это все безобразие в свободное плавание, попросите, за пару бутылок коньяка, какого-нибудь знакомого бородатого юниксоида законнектиться к вашему серверу по SSH.

Шаг 5: развертывание образа операционной системы.

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

Launch Instance

из меню

EC2 DashboardСогласимся на Classic Wizard.
imageНаш выбор это 32-x или 64-х битный Amazon Linux AMI.
imageОставляем все установки по умолчанию.
imageВключаем защиту от удаления.
imageТеги вбивать не обязательно.
imageБудем использовать уже сгенерированные ключи.
imageSecurity Group индекс-web.
image
image

После запуска в списке Instances появится наш микро-сервер.

Оцените статью
Хостинги