Архив рубрики: Публикации

Все, что вам нужно знать об ICO в марте 2021 года

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

 

Что такое ICO?

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

С тех пор, как завершился первый набор ICO, проведенных Omni Layer (формально Mastercoin) в 2013 году и Ethereum в 2014 году, их примеру последовали многие другие.

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

 

Как работает ICO?

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

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

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

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

Инвесторы обычно покупают новые монеты или токены, отправляя разработчикам биткойн или эфир — цифровую валюту внутри сети Ethereum. Приобретенные токены используются исключительно в вычислительной службе, которую разработчики создают или обещают построить.

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

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

 

Почему люди вкладывают деньги в эти монеты?

Сборщики средств ICO обещают держателям токенов доступ к будущим онлайн-сервисам или платформам приложений.

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

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

 

Какая связь между IPO и ICO?

Хотя первоначальное публичное предложение (IPO) вдохновлено первичным публичным предложением, в действительности первичное размещение монет (ICO) отличается.

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

Тем не менее, ICO являются более дешевой альтернативой IPO, поскольку они не полагаются на фондовые биржи и связанные с ними строгие документы.

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

 

ICO законны или мошенничество?

Поскольку законы не успевают за развитием технологий, пробелы в нормативных актах неизбежны.

Это явно относится к ICO в большинстве стран, за исключением Китая и Южной Кореи, где они полностью запрещены.

Некоторые страны, такие как США и Великобритания, усиливают регулирующий надзор за ICO аналогично тому, как они регулируют акции и облигации. Тем временем, у сборщиков средств и инвесторов ICO сейчас все в порядке.

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

Комиссия по ценным бумагам и биржам США (SEC) предупредила инвесторов остерегаться мошенников, использующих ICO для выполнения схем «накачки и сброса».

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

Как только операторы схемы «демпинга» продают свои переоцененные токены, цена падает, и инвесторы теряют свои деньги.

 

Стоит ли инвестировать в ICO?

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

Многие эмитенты ICO обещают необоснованную прибыль, хотя многие инвесторы всю дорогу смеялись в банке, когда некоторые монеты взлетели в цене. Однако, по мнению экспертов, рынок по-прежнему характеризуется огромной волатильностью.

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

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



2021-03-18T00:24:12
Криптовалюта

Настраиваем распределённую файловую систему GlusterFS на CentOS 7

GlusterFS это распределённая, параллельная файловая система с открытым исходным кодом и линейной масштабируемостью. Работает в пользовательском пространстве при помощи технологии FUSE.




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




Доступ к Gluster-ресурсу можно получать как с использованием FUSE, так и через NFS-протокол версии не ниже третьей. В последнем случае (доступ по NFS) демон Gluster подгружает соответствующий транслятор, который выступает в роли NFS-сервера и не может работать совместно с другими NFS-серверами. Несмотря на то, что разработчики Gluster декларируют совместимость с CIFS, в действительности такая совместимость средствами самого Gluster не обеспечивается, поэтому для экспорта Windows-клиентам необходимо создать разделяемый ресурс средствами Samba. Wikipedia




Ознакомиться с терминологией GlusterFS можно в официальной документации




В статье будет рассмотрен один из примеров построения отказоустойчивого и масштабируемого хранилища. В качестве хостов будут использованы виртуальные с сервера с минимальной установкой CentOS 7.




172.16.1.7 gfs01

172.16.1.8 gfs02

172.16.1.9 gfs03




Заранее добавим эти записи в файл /etc/hosts на каждом сервере.




Установка GlusterFS




Установка дополнительных пакетов.




yum install epel-release -y

yum install yum-priorities yum-utils -y




GlusterFS доступен в репозитории CentOS SIG, установим его:




yum install centos-release-gluster

yum install glusterfs-server




Запускаем сервис и добавляем в автозапуск.




systemctl start glusterd

systemctl enable glusterd




Добавляем правила на firewall для корректной работы сервиса.




# firewall-cmd --zone=public --add-service=nfs --add-service=samba --add-service=samba-client --permanent

# firewall-cmd --zone=public --add-port=111/tcp --add-port=139/tcp --add-port=445/tcp --add-port=965/tcp --add-port=2049/tcp 

--add-port=38465-38469/tcp --add-port=631/tcp --add-port=111/udp --add-port=963/udp --add-port=24007-24009/tcp --add-port=49152-49251/tcp --permanent

# firewall-cmd --reload




Настройка Volume




Формируем доверенный пул хранения




На первом хосте выполняем команды для формирования доверенного пула хранения с соседними хостами.




gluster peer probe gfs01

gluster peer probe gfs02

gluster peer probe gfs03




Проверям статус:




[root@gfs01 ~]# gluster peer status

Number of Peers: 2



Hostname: gfs02

Uuid: 247b073e-1bb2-4784-b3d5-a39a915f3d17

State: Peer in Cluster (Connected)



Hostname: gfs03

Uuid: 3befd565-5cff-48d4-9b8e-f1956119e0b4

State: Peer in Cluster (Connected)



[root@gfs01 ~]# gluster pool list

UUID Hostname State

247b073e-1bb2-4784-b3d5-a39a915f3d17 gfs02 Connected

3befd565-5cff-48d4-9b8e-f1956119e0b4 gfs03 Connected

bc6f57b3-ddb9-4511-b9da-3202950eb43c localhost Connected




Создаём брики




В данной статье рассмотрен вариант в обычными директориями, рекомендуется использовать разделы или тома LVM.




mkdir -p /folder-one && mkdir -p /folder-two




После этого создаём общий ресурс с именем files-one и files-two с репликой 3 (обратите внимание, что количество реплик равно количеству серверов).




gluster volume create files-one replica 3 gfs01:/folder-one gfs02:/folder-one gfs03:/folder-one force

gluster volume create files-two replica 3 gfs01:/folder-two gfs02:/folder-two gfs03:/folder-two force




Запускаем тома




Выполняем запуск созданных томов




gluster volume start files-one

gluster volume start files-two




Проверяем их статус:




[root@gfs01 ~]# gluster volume status files-one

Status of volume: files-one

Gluster process TCP Port RDMA Port Online Pid

------------------------------------------------------------------------------

Brick gfs01:/folder-one 49152 0 Y 31747

Brick gfs02:/folder-one 49152 0 Y 31654

Brick gfs03:/folder-one 49152 0 Y 31632

Self-heal Daemon on localhost N/A N/A Y 31823

Self-heal Daemon on gfs03 N/A N/A Y 31701

Self-heal Daemon on gfs02 N/A N/A Y 31723



Task Status of Volume files-one

------------------------------------------------------------------------------

There are no active volume tasks







[root@gfs01 ~]# gluster volume status files-two

Status of volume: files-two

Gluster process TCP Port RDMA Port Online Pid

------------------------------------------------------------------------------

Brick gfs01:/folder-two 49153 0 Y 31802

Brick gfs02:/folder-two 49153 0 Y 31702

Brick gfs03:/folder-two 49153 0 Y 31680

Self-heal Daemon on localhost N/A N/A Y 31823

Self-heal Daemon on gfs02 N/A N/A Y 31723

Self-heal Daemon on gfs03 N/A N/A Y 31701



Task Status of Volume files-two

------------------------------------------------------------------------------

There are no active volume tasks




Настраиваем отказоустойчивость пулов




gluster volume set files-one network.ping-timeout 5

gluster volume set files-one cluster.quorum-type fixed

gluster volume set files-one cluster.quorum-count 1

gluster volume set files-one performance.quick-read on




gluster volume set files-two network.ping-timeout 5

gluster volume set files-two cluster.quorum-type fixed

gluster volume set files-two cluster.quorum-count 1

gluster volume set files-two performance.quick-read on




network.ping-timeout — устанавливаем период опроса в 5 секунд, вместо 42 по умолчанию.
cluster.quorum-type(нет|auto|fixed) — Если установлено значение fixed, этот параметр разрешает запись в файл, только если количество активных блоков в этом наборе реплик (к которому принадлежит файл) больше или равно количеству, указанному в параметре quorum-count.
cluster.quorum-count — количество блоков, которые должны быть активны в наборе реплик, чтобы разрешить запись.
performance.quick-read(on|off) — включение быстрого чтения для транслятора пула.




Монтируем пулы




Монтируем пулы к рабочим директориям.
К примеру пул files-one будет использоваться для директории /home/pictures, равно как пул files-two для /home/docs. Обратите внимание, что маунт выполняется каждый на своём сервере локально.




# On gfs01

mount -t glusterfs gfs01:/files-one /home/pictures

mount -t glusterfs gfs01:/files-two /home/docs



# On gfs02

mount -t glusterfs gfs02:/files-one /home/pictures

mount -t glusterfs gfs02:/files-two /home/docs



# On gfs03

mount -t glusterfs gfs03:/files-one /home/pictures

mount -t glusterfs gfs03:/files-two /home/docs




Для автоматического монтирования пулов при загрузке необходимо добавить соответствующие записи в /etc/fstab.




# On gfs01

gfs01:/files-one /home/pictures glusterfs defaults,_netdev 0 0

gfs01:/files-two /home/docs glusterfs defaults,_netdev 0 0



# On gfs02

gfs02:/files-one /home/pictures glusterfs defaults,_netdev 0 0

gfs02:/files-two /home/docs glusterfs defaults,_netdev 0 0



# On gfs03

gfs03:/files-one /home/pictures glusterfs defaults,_netdev 0 0

gfs03:/files-two /home/docs glusterfs defaults,_netdev 0 0



2021-03-17T23:13:52
Software

Установка облачного хранилища Nextcloud

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




Для синхронизации файлов между рабочим столом и вашим собственным сервером, Nextcloud предоставляет приложения для рабочих столов Windows, Linux и Mac, а также мобильное приложение для Android и iOS.




Что потребуется для установки?




Мы будем устанавливать Nextcloud на сервер Ubuntu 20.04. Необходимым условием являются внешний  ip-адрес и открытые порты 80 и 443.




1.  Установка web-сервера Nginx




Первым делом подключимся к нашему серверу и установим веб-сервер Nginx




sudo apt update
sudo apt install nginx -y




После завершения установки запустим службу Nginx и включим ее старт при загрузке системы с помощью systemctl.




systemctl start nginx
systemctl enable nginx




Проверим, что все запустилось




systemctl status nginx







Установка и настройка PHP 7.4 – FPM




Установим пакеты PHP и PHP-FPM, используя команду ниже:




sudo apt install php-fpm php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 -y




После завершения установки нужно немного отредактировать файлы php.ini для php-fpm и php-cli. Данные изменения необходимо произвести в обоих файлах.




cd /etc/php/7.4/
sudo nano fpm/php.ini
sudo nano cli/php.ini




Раскоментируйте строку date.timezone и измените значение на свой часовой пояс.




date.timezone = Europe/Moscow




Раскоментируйте строку ‘cgi.fix_pathinfo’ и измените значение на ‘0’.




cgi.fix_pathinfo=0




Сохраняем изменения и выходим.




Теперь отредактируем файл www.conf




sudo nano fpm/pool.d/www.conf




Найдем и раскоментируем следующие строки:




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




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




Следующим шагом нужно перезапустить службу PHP7.4-FPM  и включить ее автозагрузку.




systemctl restart php7.4-fpm
systemctl enable php7.4-fpm




Проверим что сервис работает с помощью следующей команды:




ss -xa | grep php
systemctl status php7.4-fpm







Вы увидите, что php-fpm запущен и работает под файлом sock ‘/run/php/php7.4-fpm.sock’.




3. Установка и настройка сервера MariaDB




Следующий шаг – установка базы данных. Установите последнюю версию сервера MariaDB, используя команду:




sudo apt install mariadb-server -y




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




systemctl start mariadb
systemctl enable mariadb




Проверяем:




systemctl status mariadb







Следующий шаг – настройка безопасности  SQL-сервера. У вас спросят о некоторых настройках сервера MariaDB. После ответа на вопрос Set root password? введите новый пароль root для SQL-сервера MariaDB




mysql_secure_installation




Enter current password for root (enter for none): Press Enter
Set root password? [Y/n] Y
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




Теперь создадим новую базу данных для установки nextcloud. Назовем базу данных «nextcloud_db» с пользователем «nextclouduser» и паролем «PaSsW0rD@».




Войдите в оболочку MySQL от имени пользователя root с помощью команды mysql.




mysql -u root -p




Введите пароль root SQL-сервера MariaDB.




Создадим базу данных и пользователя:




create database nextcloud_db;
create user nextclouduser@localhost identified by 'PaSsW0rD@';
grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'PaSsW0rD@';
flush privileges;
exit;




Установка и настройка MariaDB для Nextcloud завершена.




4. Генерация SSL-сертификата Letsencrypt




Установите инструмент letsencrypt, используя команду apt ниже:




sudo apt install certbot -y




После завершения установки остановите службу nginx.




systemctl stop nginx




Сгенерируем SSL-сертификаты для доменного имени ‘cloud.admin812.ru’, используя командную строку cerbot.




certbot certonly --standalone -d cloud.admin812.ru




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




Следующим шагом будет вывод на экран оглашения об обслуживании. Нажимаем “А” (Agree) и после этого запускается процесс генерации сертификата. По окончании появится надпись об успешном завершении процесса и можно приступать непосредственно к установке Nextcloud.




5. Скачиваем Nextcloud




Перед загрузкой исходного кода nextcloud убедитесь, что в системе установлен пакет unzip. Если у вас его нет пакета, установите его:




sudo apt install wget unzip zip -y




Теперь перейдем в каталог /var/www и скачаем последнюю версию Nextcloud:




cd /var/www/
wget -q https://download.nextcloud.com/server/releases/latest.zip




Распакуем архив и изменим владельца каталога nextcloud на пользователя ‘www-data’:




unzip -qq latest.zip
sudo chown -R www-data:www-data /var/www/nextcloud




6. Настраиваем виртуальный хост Nginx для Nextcloud




В каталоге /etc/nginx/sites-available создадим новый файл виртуального хоста nextcloud.




cd /etc/nginx/sites-available/
sudo nano nextcloud




Вставим следующую конфигурацию виртуального хоста nextcloud.




upstream php-handler {
#server 127.0.0.1:9000;
server unix:/var/run/php/php7.4-fpm.sock;
}
server {
listen 80;
listen [::]:80;
server_name cloud.admin812.ru;
# enforce https
return 301 https://$server_name:443$request_uri;
}
#
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name cloud.admin812.ru;
#
# Use Mozilla's guidelines for SSL/TLS settings
# https://mozilla.github.io/server-side-tls/ssl-config-generator/
# NOTE: some settings below might be redundant
ssl_certificate /etc/letsencrypt/live/cloud.admin812.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.admin812.ru/privkey.pem;
#
# Add headers to serve security related headers
# Before enabling Strict-Transport-Security headers please read into this
# topic first.
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
#
# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;
#
# Path to the root of your installation
root /var/www/nextcloud;
#
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
#
# The following 2 rules are only needed for the user_webfinger app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
#rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
#
# The following rule is only needed for the Social app.
# Uncomment it if you're planning to use this app.
#rewrite ^/.well-known/webfinger /public.php?service=webfinger last;
#
location = /.well-known/carddav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host:$server_port/remote.php/dav;
}
#
# set max upload size
client_max_body_size 512M;
fastcgi_buffers 64 4K;
#
# Enable gzip but do not remove ETag headers
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
#
# Uncomment if your server is build with the ngx_pagespeed module
# This module is currently not supported.
#pagespeed off;
#
location / {
rewrite ^ /index.php;
}
#
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) {
deny all;
}
#
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|oc[ms]-provider/.+).php(?:$|/) {
fastcgi_split_path_info ^(.+?.php)(/.*|)$;
set $path_info $fastcgi_path_info;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $path_info;
fastcgi_param HTTPS on;
# Avoid sending the security headers twice
fastcgi_param modHeadersAvailable true;
# Enable pretty urls
fastcgi_param front_controller_active true;
fastcgi_pass php-handler;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
#
location ~ ^/(?:updater|oc[ms]-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
#
# Adding the cache control header for js, css and map files
# Make sure it is BELOW the PHP block
location ~ .(?:css|js|woff2?|svg|gif|map)$ {
try_files $uri /index.php$request_uri;
add_header Cache-Control "public, max-age=15778463";
# 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=15768000; includeSubDomains; preload;" always;
#
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "none" always;
add_header X-XSS-Protection "1; mode=block" always;
# Optional: Don't log access to assets
access_log off;
}
location ~ .(?:png|html|ttf|ico|jpg|jpeg|bcmap)$ {
try_files $uri /index.php$request_uri;
# Optional: Don't log access to other assets
access_log off;
}
}




Замените выделенное красным на свое доменное имя.




Включите виртуальный хост, протестируйте конфигурацию и убедитесь, что нетv ошибок.




ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
nginx -t




Если ошибок нет, перезапустите сервис PHP7.4-FPM и nginx.




systemctl restart nginx
systemctl restart php7.4-fpm




Конфигурация виртуального хоста Nginx для nextcloud создана.




7. Подключение к Nextcloud




Откройте веб-браузер и введите URL-адрес nextcloud. Вы будете автоматически перенаправлены на соединение https.




Нам нужно создать пользователя-администратора для Nextcloud и ввести пароль.




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




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







Источник: https://admin812.ru/ustanovka-oblachnogo-hranilishha-nextcloud.html



2021-03-17T21:20:05
Software

Как включить аутентификацию на сервере Jitsi

В предыдущей заметке мы настраивали сервер Jitsi. По умолчанию любой, кто знает URL вашего сервера, может подключиться и начать сеанс видеоконференцсвязи.
Настроим Jitsi таким образом, чтобы права на создание чат-комнаты были только у конкретного авторизованного пользователя. Затем вы сможете поделиться этой ссылкой с кем угодно и все остальные участники смогут присоединиться анонимно. Это лучший способ запуска Jitsi. Вы знаете, что на вашем сервере не будут выполняться несанкционированные сеансы видеоконференций, но вы все равно можете приглашать кого угодно, и ваши приглашенные не должны иметь учетную запись на сервере Jitsi.
Аутентификация выполняется через компоненту Prosody. Включим ее на нашем сервере – в нашем примере это  jitsi.admin812.ru.
Для этого нужно отредактировать файл /etc/prosody/conf.avail/[ВАШ-ДОМЕН].cfg.lua




sudo nano -w /etc/prosody/conf.avail/jitsi.admin812.ru.cfg.lua




Найдите раздел «VirtualHost» и строку




authentication = "anonymous"




Заменим ее на




authentication = "internal_plain"




Это отключает анонимную аутентификацию для главного URL-адреса хоста сервера.
Однако нам также необходимо создать новый виртуальный хост для наших гостей, чтобы облегчить их анонимные подключения. Прокрутите до конца файла и добавьте эти строки, чтобы создать новый виртуальный хост с методом анонимного входа (используйте свое полное доменное имя):




VirtualHost "guest.jitsi.admin812.ru"
    authentication = "anonymous"
    c2s_require_encryption = false




VirtualHost, который мы только что создали – guest.jitsi.admin812.ru – используется только для Jitsi внутри – нет необходимости создавать отдельную запись DNS A для этого полного доменного имени.




Далее нам нужно настроить наш вновь созданный VirtualHost / анонимный домен в нашем файле config.js:




sudo nano -w /etc/jitsi/meet/jitsi.admin812.ru-config.js




Прямо в верхней части файла в разделе  var config = { …    вы должны увидеть строку, которая начинается с «anonymousdomain». Раскомментируйте эту строку и добавьте свое полное доменное имя:




anonymousdomain: 'guest.jitsi.admin812.ru',







Далее нам нужно указать службе Jicofo разрешать запросы только от нашего аутентифицированного домена.




sudo nano -w /etc/jitsi/jicofo/sip-communicator.properties




Добавьте новую строку в конец этого файла: org.jitsi.jicofo.auth.URL = XMPP: jitsi.admin812.ru







Теперь давайте перезапустим службы Jitsi:




sudo systemctl restart prosody
sudo systemctl restart jicofo
sudo systemctl restart jitsi-videobridge2




Осталось добавить пользователя, который может создавать комнаты видеоконференций. Итак, чтобы создать пользователя ‘vasya’ с паролем ‘PassW0rd’, вы должны выполнить:




sudo prosodyctl register vasya jitsi.admin812.ru PassW0rd




Теперь если вы войдете на свой сервер Jitsi и начнете новое собрание, вам сообщат, что конференция ожидает организатора. Нажмите на кнопку “I am the host” и после этого введите введите имя пользователя и пароль, которые вы создали с помощью команды prosodyctl.




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




Источник: https://admin812.ru/kak-vklyuchit-autentifikacziyu-na-servere-jitsi.html



2021-03-17T21:14:10
Software

Установка сервера видеоконференций Jitsi

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




Вот основные составные части Jitsi:




  • Jitsi Meet – безопасная, простая и масштабируемая платформа видеоконференции, которую можно использовать в качестве автономного приложения
  • Jitsi Videobridge – механизм медиасервера (также известный как Selective Forwarding Unit (SFU)), который поддерживает все многосторонние видеоконференции Jitsi
  • Jigasi – сервис шлюза, который соединяет SIP-телефонию с конференцией Jitsi Videobridge
  • Jibri – вещатель и рекордер, используемые для сохранения записей видеозвонков и потоковой передачи на YouTube Live
  • Jidesha – расширение для Chrome и Firefox для расшаривания экрана




Установка достаточно простая, требуется установленный сервер Ubuntu/Debian с внешним ip-адресом.




Сначала установите ключ репозитория Jitsi на вашу систему:




wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -




Создайте файл sources.list.d с хранилищем




sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"




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




sudo apt-get -y update




Установка полной версии Jitsi




sudo apt-get -y install jitsi-meet




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




Для работы сервера  Jitsi необходимо открыть следующие порты: tcp 443, tcp 4443, udp 10000.




Установка сертификата Let’s Encrypt




Если все заработало, то следующий шаг – установка сертификата. В противном случае не смогут подключатся пользователи Android и iOS. Есть уже готовый скрипт: /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh




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




Что делать если сервер Jitsi  находится за NAT ?




Если сервер находится за NAT, необходимо внести изменения в файл /etc/jitsi/videobridge/sip-communicator.properties:




org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>




Соответственно вместо Local.IP.Address – указываем адрес сервера в локальной сети, а вместо Public.IP.Address  прописываем адрес внешний.




Далее, пробрасываем порты на маршрутизаторе. Предположим, что наш сервер Jitsi имеет адрес 192.168.100.5




iptables -A FORWARD -p tcp -d 192.168.100.5 --dport 443 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.100.5:443

iptables -A FORWARD -p tcp -d 192.168.100.8 --dport 4443 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 4443 -j DNAT --to-destination 192.168.100.5:4443

iptables -A FORWARD -p udp -d 192.168.100.5 --dport 10000 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p udp -m udp --dport 10000 -j DNAT --to-destination 192.168.100.5:10000




Для того чтобы отработал скрипт получения сертификата Let’s Encrypt нужно также пробросить порт 80.




iptables -A FORWARD -p tcp -d 192.168.100.5 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.100.5:80




Вот и все!




Источник: https://admin812.ru/ustanovka-servera-videokonferenczij-jitsi.html



2021-03-17T21:12:14
Software

Как подключить хранилище Nextcloud в Windows в качестве сетевого диска

В командной строке пишем:




net use Z: https://cloud.admin812.ru/remote.php/dav/files/clouduser/ /persistent:YES /user:youruser yourpassword




Выделенное красным меняем на свои данные.




Если команда не выполняется и выдает ошибку: “Системная ошибка 67. Не найдено сетевое имя.”, проверьте состояние службы Web-клиент. Некоторые обновления Windows самостоятельно меняют тип запуска службы на “Вручную”.  Установите ” Автоматически”.






2021-03-17T21:09:23
Software