Архив автора: admin

Установка облачного хранилища 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

Как установить и использовать GParted на Linux Mint

Gparted — популярный и бесплатный инструмент для управления дисками в Linux. Используя GParted, мы можем создавать разделы диска и управлять ими. Это позволяет нам создавать новые таблицы разделов, разделы, просматривать информацию о диске и т.д.

Я использую Linux Mint 20 для выполнения команд и подготовки этого сообщения.

GParted — это хорошо известный инструмент, доступный в стандартных репозиториях Linux Mint.

Вам нужно открыть терминал и ввести:

$ sudo apt update

Пришло время две установки gparted, и способ сделать это:

$ sudo apt install gparted

Нажмите «y» на клавиатуре вашего компьютера, чтобы установить GParted.

GParted будет успешно установлен на Linux Mint.

Начало работы с GParted

После установки приложения GParted откройте меню приложения и найдите «GParted».

Щелкните «GParted», чтобы открыть его. Для запуска приложения GParted требуется аутентификация. Введите свой пароль и нажмите кнопку «Аутентификация».

Откроется GParted, и вы увидите его интерфейс.

В правом углу выберите раскрывающееся меню и выберите диск, если у вас несколько дисков. Я выбрал размер жесткого диска 30 ГБ.

/dev/sda5 — это мой основной жесткий диск, на котором хранятся все файлы и приложения в системе Linux Mint.

Получить информацию об устройстве

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

Выберите опцию «Информация». Информация о диске будет отображаться на новом экране.

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

Введите новый размер диска в мегабайтах для изменения размера раздела и нажмите «Изменить размер».

Попытка спасения данных

Мы можем восстановить потерянные данные в Linux с помощью GParted. Чтобы восстановить потерянные данные, сначала нам нужно установить команду gpart. Запустите терминал и установите gpart с помощью команды:

$ sudo apt install gpart

Нажмите «Устройство» в верхнем меню и выберите «Попытка восстановления данных».

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

Создать новую таблицу разделов

Вы можете создать новую таблицу разделов с помощью Gparted. Щелкните «Устройство» и выберите «Создать таблицу разделов». При создании таблицы разделов вы также сможете выбрать тип раздела.

Создать новый раздел

Чтобы создать новый раздел, нажмите «Раздел» и выберите опцию «Новый».

У вас должно быть свободное место для создания нового раздела. Введите соответствующие данные во все обязательные поля и нажмите «Добавить».

Вывод

GParted — это бесплатный инструмент для управления дисками и разделами с открытым исходным кодом. Используя инструмент GParted, мы можем проверить информацию о диске, восстановить потерянные данные и создать новую таблицу разделов и новые разделы. В этой статье объясняется установка и использование GParted в Linux Mint.



2021-03-17T10:48:24
Вопросы читателей

Из чего состоит биткоин?

Bit coinКак чисто цифровой актив, токены BTC (Bitcoin) существуют как уникальный математический код, который дает право собственности.

Один токен BTC на самом деле является зашифрованным ключом, который существует в виртуальном сейфе. Поддержание всех кодов, эти махинации с цифровой подписью — все это выполняется сетью поставщиков вычислительной мощности, поощряемых вознаграждением. Хэш мощности вкладчиками, как говорят, добыча для BTC, так как они платят в BTCS, которые по большей части продаются тут. Это то, что делают майнеры, почему они майнят. Хотя, когда мы говорим о майнинге, следует отметить, что обслуживание сетевых узлов/хэш-усилитель руля меньше похож на добычу драгоценных металлов, а больше похож на постоянно управляемый математический турнир.

Читать