在 Azure VM 上使用 Jitsi 搭建私人视频会议

14071f632223f23ac91cdd8a4f562e60.gif

点击上方蓝字 / 关注“汪宇杰博客”

原文:Azure Tips And Tricks

翻译:汪宇杰

私人视频会议

市面上有许多视频会议应用程序,例如 Zoom、Microsoft Teams 和 Skype。有时,您需要自己的服务,以让自己更安全并在自己的公司内部使用。您可以使用开源 Jitsi 视频会议解决方案。

本文中,我们将在 Azure 中创建一个虚拟机并安装 Jitsi。

前置条件

如果你想继续,你需要以下准备:

一份 Azure 订阅(如果您没有 Azure 订阅,请在开始之前创建一个免费帐户

https://azure.microsoft.com/free/?WT.mc_id=azure-azuredevtips-azureappsdev

在 Azure 中创建 Jitsi 服务

让我们创建一个 Azure 虚拟机并安装 Jitsi。

1. 打开 Azure 门户

2. 单击 Create a resource 按钮(左上角的加号)

7e21a062e1af5f3495db1ab578101305.png

(在 Azure 门户中创建一个 Ubuntu Server VM)

3. 之后选择 Compute, Virtual Machine

  1. 这将带您进入 Azure VM 的创建向导

  2. 选择资源组

  3. 填写虚拟机名称

  4. 选择地区

  5. 将镜像设置为 Ubuntu Server

  6. 将身份验证类型保留为 SSH 公钥

  7. 填写用户名

  8. 为 VM 提供 SSH 公钥。您可以按照本指南生成公钥和私钥对。

  9. 在公共入站端口下,选择允许选定的端口

  10. 对于选择入站端口,选择 HTTP (80)、HTTPS (443) 和 SSH (22)

https://docs.microsoft.com/azure/virtual-machines/linux/mac-create-ssh-keys?WT.mc_id=docs-azuredevtips-azureappsdev

0ad1c4552e2f0c8e99c11017ba015828.png

(允许 Azure 入站流量)

4. 就是这样。之后单击 Review + create 和 Create 以创建 VM。

创建 VM 后,我们需要在其中配置一些设置,然后才能安装和使用 Jitsi。

在 Azure 门户中,打开我们刚刚创建的虚拟机

选择 Networking 菜单

在这里,我们需要添加一个入站端口,以允许 Jitsu 在 VM 上工作。选择"添加入站端口规则"

  1. 在出现的添加入站安全规则边栏选项卡中,为目标端口范围输入 10000

  2. 为规则命名并保留其余设置不变

  3. 选择"添加"以添加规则

14b9049e3f61b7d351d24c67039ca534.png

(在 Azure 门户中添加入站安全规则)

现在打开 VM 的概览菜单

选择公共 IP 地址打开详细页面

在公共 IP 地址概览中,选择配置菜单

填写 DNS 名称标签并选择保存。这将生成一个标签,如tipsvm.northeurope.cloudapp.azure.com

如果您想为 Jitsi 服务器使用 Let's Encrypt SSL 证书和自定义域名,您应该将我们刚刚创建的 DNS 标签映射到您自己的自定义域名。您可以在托管服务提供商的门户上通过为自定义域创建一个 CNAME 到 VM 的域标签来执行此操作。像 jitsi.tipsandtricks.com 这样映射到 tipsvm.northeurope.cloudapp.azure.com

9f314bb03a03ddba78f6ad896483f1d9.png

(在 Azure 门户中为 VM 添加 DNS 标签)

现在虚拟机已经配置好了,我们可以在上面安装 Jitsi。

打开命令行使用 SSH 连接到他的 VM。您可以在本地机器上使用 Azure Shell 或甚至使用 VM 的 Serial Console 执行此操作。

使用如下命令通过 SSH 连接到 VM,在其中输入私钥的路径(生成 SSH 密钥对时获得)以及用户名和 DNS 标签:

ssh -i <private key path> tipsandtricks@tipsjitsi.northeurope.cloudapp.azure.com

连接到 VM 后,打开管理员权限以从中安装 Jitsi。使用以下命令:

sudo -s

ec7524250b9394e00e6dcfcbc295477d.png

(在 VM 中打开管理员权限)

现在执行以下脚本来安装 Jitsi。确保将 HOSTNAME EMAIL 替换为您的值。对于 HOSTNAME,您使用您的自定义域(如果您已经配置过,那么就是 jitsi.tipsandtricks.com 或 tipsvm.northeurope.cloudapp.azure.com),对于 EMAIL,您输入属于自定义域名的电子邮件地址。这用于 Let's Encrypt SSL 证书配置。这仅在您使用自定义域时有效。

# config variables

# BE SURE TO ENTER YOUR CUSTOM VALUES HERE

HOSTNAME="custom-domain-name-here"

EMAIL="your-email-address-here"

# set hostname

hostnamectl set-hostname $HOSTNAME

echo -e "127.0.0.1 localhost $HOSTNAME" >> /etc/hosts

# add Jitsi to sources

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

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

apt update 

echo -e "DefaultLimitNOFILE=65000\nDefaultLimitNPROC=65000\nDefaultTasksMax=65000" >> /etc/systemd/system.conf

systemctl daemon-reload

# Configure Jits install

debconf-set-selections <<< $(echo 'jitsi-videobridge jitsi-videobridge/jvb-hostname string '$HOSTNAME)

debconf-set-selections <<< 'jitsi-meet-web-config   jitsi-meet/cert-choice  select  "Generate a new self-signed certificate"';

# Install Jitsi 

apt install -y jitsi-meet

# letsencrypt

echo $EMAIL | /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

脚本安装完成后,您可以打开浏览器并使用您的自定义域名或 DNS 标签 (ipsvm.northeurope.cloudapp.azure.com) 导航到 Jitsi 服务器。您现在可以开始会议并邀请其他人进行视频通话和聊天。开始会议后,您可以通过选择右下角的“i”按钮并设置密码来保护会议。

ea45d6f4587ab36a1327471222202d7c.png

(在Jitsi中保护会议安全)

总结

使用 Jitsi 可以轻松设置您自己的私人视频会议和聊天服务器。只需在 Azure 中创建一个 Ubuntu 虚拟机并在其上安装 Jitsi。赶紧去看看吧!

1cb2e3709fd07054ba8bb223e9e82149.png

汪宇杰博客

Azure | .NET | 微软 MVP

无广告,不卖课,做纯粹的技术公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 筛选数组,2020-07-24 php 通过数组键值对筛选数组

筛选数组 $listMenuArray([0] > Array([type] > 0[min] > 0)[1] > Array([type] > 1[min] > 1))目标数组 $resArray([0] > Array([id] > 183[type] > 0[min] > 0)[1] > Array([id] > 184[type] > 0[min] > 1)[2] > Array([id] &g…

python省市区三级联动_Django Admin实现三级联动的示例代码(省市区)

通过自定义Admin的模板文件实现省市区的三级联动.要求创建记录时,根据省>市>区的顺序选择依次显示对应数据.修改记录时默认显示已存在的数据.Modelclass Member(models.Model):name models.CharField(max_length100, verbose_name姓名)province models.CharField(max_l…

[LeetCode]119.Pascal#39;s Triangle II

题目 Given an index k, return the kth row of the Pascal’s triangle. For example, given k 3, Return [1,3,3,1]. Note: Could you optimize your algorithm to use only O(k) extra space? 思路 无 代码 /**------------------------------------* 日期&#xff1a…

2010.7.29 模式对话框

为什么点击ONOK后&#xff0c;对话框上的控件资源会被删除&#xff1f;OnOK做了什么事儿&#xff1f; 假如有一个对话框Class CMyDialog 我在CMyDialog中&#xff0c;声明了一个m_button&#xff0c;然后在OnInitDlg()中create这个buttton&#xff0c;即m_button.create() 然后…

终于有人做了我一直想做而不敢做的事。。

1 初中物理是不是学过&#xff0c;受力面积小&#xff0c;相应的压力就大&#xff5e;我觉得应该直接趴上去&#xff0c;一定行&#xff5e;反正我也是瞎说的2 不是我吹&#xff0c;换成是我&#xff0c;这包子能吃五屉3 交警蜀黍耐心的领着这位行人过马路&#xff0c;麻烦你快…

.NET 6 中的隐式命名空间引用

.NET 6 中的隐式命名空间引用Intro之前写过一篇隐式命名空间引用的大概介绍&#xff0c;在一些小的测试项目中也有在用&#xff0c;一直没作为示例给大家分享&#xff0c;主要原因在于之前看到了一个关于隐式命名空间引用的 Github issue 提到会有一些破坏性的变更&#xff0c;…

vscode函数跳转插件_人生苦短,我们为 Cocos Creator 开发的插件和工具

在使用 Cocos Creator 开发项目的过程中&#xff0c;为了提高开发效率我们开发了很多扩展插件&#xff0c;本文介绍常用的几款&#xff0c;抛砖引玉&#xff0c;希望给大家带来帮助。腾讯开心鼠英语网页扩展&#xff1a;运行时查看场景节点树Cocos Creator 本地项目通常会在 Ch…

SQLSERVER 日志收缩

SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化&#xff0c;所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消&#xff1a;(SQL2005)BackupLog DNName with no_loggodumptransaction DNName with no_loggoUSE DNName DBCC SHRINKFILE (2)Go---------------…

压缩JS和CSS常用的工具

前些时候在发现将 JS和CSS压缩一下&#xff0c;的确有好处。在网上找了一下&#xff0c;发现下面的两款工具比较不错。 经过资源&#xff08;比如 CSS 和 JavaScrip 文件&#xff09;压缩测试了。 其中一个工具就是 YUI Compressor&#xff0c;一个来自Yahoo! Developer Networ…

php+转义实体字符,PHP针对HTML实体字符的转义函数

htmlspecialchars()转义特别的字符为HTML实体&#xff1b;& (ampersand) becomes & " (double quote) becomes " when ENT_NOQUOTES is not set. (single quote) becomes only when ENT_QUOTES is set. (greater than) becomes >htmlspeci…

解决win7“该文件没有与之关联的程序来执行该操作”

机器装好了win7系统。右击“计算机”管理的时候&#xff0c;出现“该文件没有与之关联的程序来执行该操作”能是因为删除了start menu下的某个文件,经过分析,找到了如下的解决方法:定位到注册表HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\c…

绝不能放进微波炉的10样东西,最后一个太意外

全世界只有3.14 % 的人关注了爆炸吧知识前一阵&#xff0c;网上有一段用微波炉加热葡萄的视频&#xff0c;成了新闻热点。研究员在实验中发现&#xff0c;两颗葡萄放进微波炉后&#xff0c;竟然会产生电弧。图片来源网络之前小编加热汉堡的时候&#xff0c;本来想大快朵颐一顿&…

在 .NET 6 中使用 DATEONLY 和 TIMEONLY

在 .NET 6 中使用 DATEONLY 和 TIMEONLY在 即将发布的.NET 6中&#xff0c;引入了两种期待已久的类型作为核心库的一部分。DateOnly和TimeOnly允许开发人员表示 DateTime 的日期或时间部分。这两种新类型是结构体&#xff08;值类型&#xff09;&#xff0c;可以在您的代码独立…

vue 3.0 正式版_Vuejs 3 Release:One Piece. Vuejs 3.0 正式版发布!代号:海贼王

Vuejs 3.0 在北京时间2020年9月19日凌晨&#xff0c;终于发布了 3.0 版本&#xff0c;代号&#xff1a;One Piece。此次vue3.0 为用户提供了全新的 composition-api 以及更小的包大小&#xff0c;和更好的 TypeScript 支持。Vue3.0发布链接​github.comVue 是当前非常流行的框架…

i-doIT 0.9.9-7发布 CMDB配置管理数据库

i-doIT是一个基于ITIL技术的CMDB&#xff08;配置管理数据库&#xff09;。它能够记载IT系统及其变化&#xff0c;对变化定义了应急方案&#xff0c;以及显示重要信息&#xff0c;并有助于确保一个稳定和高效的IT网络运作。由于其模块化的架构&#xff0c;它可以部署功能性的附…

Linux IPC实践(6) --System V消息队列(3)

消息队列综合案例 消息队列实现回射客户/服务器 server进程接收时, 指定msgtyp为0, 从队首不断接收消息 server进程发送时, 将mtype指定为接收到的client进程的pid client进程发送的时候, mtype指定为自己进程的pid client进程接收时, 需要将msgtyp指定为自己进程的pid, 只接收…

centos 新装mysql 进入,centos5安装 mysql 提示需要用户及密码进入?Duplicate entry 'localhost-' for key 1...

需要用户名及密码&#xff0c;可是新安装的mysql是没有密码的&#xff0c;这是为什么&#xff1f;今天帮朋友试验了一把解决了这个问题&#xff1a;导致这个错误的原因&#xff1a;因为安装系统时设置了hostname为localhost导致mysql在创建表的时候没有创建成功。因此mysql库中…

100斤的铁和100斤女生哪个重?

1 你是不是有别的猫了&#xff1f;-2 兔兔这么可爱我们沾点孜然再吃会更香3 解压的最好方式4 人不如猫系列5 这演技没sei了&#xff01;&#xff01;&#xff01;6 100斤的铁和100斤女生哪个重&#xff1f;7 如果只能选一个&#xff0c;你会选什么你点的每个赞&#xff…

JailbreakMe.com-最新浏览器模式破解iPhones,iPads和iPod Touches方法

一位***建立了该网站(JailbreakMe.com)&#xff0c;可以通过浏览器登录的形式破解几乎所有的iOS&#xff0c;这包括了iPhone,iPad,和iPod Touch&#xff0c;将解除Apple对这些设备的软件限制。 用户如果想尝试未经授权的app或者想在多个不同国家使用这些设备&#xff0c;都可以…

localStorage、sessionStorage用法总结

localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。 他们均只能存储字符串类型的对象&#xff08;虽然规范中可以存储其他原生类型的对象&#xff0c;但是目前为止没有浏览器对其进行实现&#xff09;。 localStorage生命周期是永久&#xff0c;这意味着除…