当前位置: 首页 > 知识库问答 >
问题:

让Jitsi在子URL上与apache配合使用

姜松
2023-03-14

我试图通过子URL“/meet”使jitsi meet在apache服务器上工作,但我只得到索引。html视图,不可能加载房间。

首先,我进行了软件包安装,停止nginx并使用以下参数配置apache virtualhost:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/meet/[a-zA-Z0-9]+$
RewriteRule ^/meet/(.*)$ /meet/ [PT]
ProxyPreserveHost Off

<Location "/meet/http-bind">
   RequestHeader set Host "mydomain.com"
   ProxyPass http://localhost:5280/http-bind
   ProxyPassReverse http://localhost:5280/http-bind
</Location>

<Location "/meet/xmpp-websocket">
   ProxyPass http://localhost:5280
   ProxyPassReverse http://localhost:5280
</Location>

我在这里找到了这个配置,Jitsi meet的github。我修改了它以重定向本地主机上的所有请求,以避免DNS解析。不幸的是,它没有工作,所以经过大量测试,我卸载了所有的软件包,尝试手动安装,但结果是一样的。

我安装了jitsi-video obridge和jicofo。Jicofo不是自动启动的,但我设法让它为我的测试工作。我有著名的"jitsi-met"目录源的"会议",并把它放在我的apache DocumentRoot目录。

由于Jitsi-meet是在NodeJS中开发的,我本以为可以在另一个端口上直接作为http服务器启动它,但我遇到了以下错误:

/my_path/meet/app.js:63
$(document).ready(function () {
ReferenceError: document is not defined
  at Object.<anonymous> (/my_path/meet/app.js:63:3)
  at Module._compile (module.js:456:26)
  at Module.load (module.js:356:32)
  at Function.Module._load (module.js:312:12)
  at Function.Module.runMain (module.js:497:10)
  at startup (node.js:119:16)
  at node.js:906:3

Jitsi meet应用程序无法作为独立服务器启动。。。

我的最后一个解决方案是在另一个端口上运行nginx(使用正确的jitsi默认配置),并在apache上为443端口上的启用jitsi创建代理。但是nginx没有比apache更多的功能,所以我认为apache能够在没有nginx的情况下使jitsi-met工作,你不这么认为吗?也许apache的一个模块不见了?

我运行一个Debian Jessie服务器与apache 2.4.10,NodeJS 0.12安装和防火墙是禁用的(这是一个测试服务器)。我启用了标头、代理超文本传输协议、ssl和重写模块。

我现在被困住了,我需要帮助来让它工作。

谢谢

共有3个答案

连乐
2023-03-14

我发现一个apache conf的工作:

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
  DocumentRoot "/Users/lyubomir/Sites/jitmeet"
  ServerName jitmeet.lyubomiinovsair

  <Directory "/Users/lyubomir/Sites/jitmeet/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  ProxyPass /http-bind http://127.0.0.1:7070/http-bind/
  ProxyPassReverse /http-bind http://127.0.0.1:7070/http-bind/

  RewriteEngine on
  RewriteRule ^/([a-zA-Z0-9]+)$ /index.html
</VirtualHost>
林鹏鹍
2023-03-14

假设您已经有一台Apache服务器在运行,根目录为/var/www,并且您想要添加一个Jitsi视频桥,我设法让它通过以下修改工作。

我通过apt安装了Jitsi,就像官方主页上描述的那样设置服务器

我将以下内容添加到我的Apache配置/虚拟主机中,假设在www.example下有可用的Jitsi。com/jitsi

Alias "/jitsi/config.js" "/etc/jitsi/meet/example.com-config.js"
<Location "/jitsi/config.js">
    Require all granted
</Location>

Alias "/jitsi/external_api.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
<Location "/jitsi/external_api.js">
    Require all granted
</Location>

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/jitsi/[a-zA-Z0-9]+$
RewriteRule ^/jitsi/(.*)$ /jitsi/ [PT]

ProxyPreserveHost on
ProxyPass /http-bind http://localhost:5280/http-bind/
ProxyPassReverse /http-bind http://localhost:5280/http-bind/

Alias "/jitsi" "/usr/share/jitsi-meet"
<Location "/jitsi">
    Options Indexes Includes MultiViews FollowSymLinks
    AddOutputFilter Includes .html
    AllowOverride All
    Order allow,deny
    Allow from all
</Location>

此外,您需要在Jitsiconfig.js中添加一行以到达会议室:

getroomnode:function(path){return location.pathname.replace('/jitsi/','');}

在文件中,我还将子域添加到“域”和“muc”中。

由于Jitsi html页面与SSI一起工作,因此需要调整那里的路径。首先是base。html为html中的所有引用设置基础:

此外,在索引中。html文件,查找#include virtual=“/*.js”部分。对于JavaScript文件,有给定的根,删除前面的/。

乐华晖
2023-03-14

假设1)DocumentRoot是/var/www/html;2)在/var/www/html/meet上安装Jitsi;3)服务器的本地ip地址是192.168.2.24

1.使用基本jitsi Meet Install安装jitsi(https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md)

从上面如何"

添加Jitsi包存储库

echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

打开防火墙中的端口
打开防火墙中的以下端口,以允许运行jitsi的机器的流量:

  • 80 TCP
  • 443 TCP
  • 10000 UDP

安装Jitsi Meet

注意:安装程序将检查Nginx或Apache是否存在(按此顺序),并在它找到的网络服务器中配置一个虚拟主机来服务Jitsi会议。如果以上都没有找到,则默认为Nginx。如果您已经在同一机器上的端口443上运行Nginx,则将跳过转盘服务器配置,因为它将与您当前的端口443冲突。

# Ensure support is available for apt repositories served via HTTPS
apt-get install apt-transport-https

# Retrieve the latest package versions across all repositories
apt-get update

# Perform jitsi-meet installation
apt-get -y install jitsi-meet

在安装过程中,会要求您输入Jitsi METE实例的主机名。如果已经在DNS中设置了实例的FQDN,请在此处输入。如果没有可解析的主机名,可以输入机器的IP地址(如果是静态的或不变的)。

此主机名(或IP地址)将用于Jitsi会议中的virtualhost配置,您和通讯员也将使用它访问web会议。

"

1a.当您要求输入Jitsi Meet实例的主机名时,请插入您希望jitsi听到的ip。(例如192.168.2.24)

2.将符号链接到jitsi METE目录。

    sudo ln -s /usr/share/jitsi-meet /var/www/html/meet

如果您的DocumentRoot与/var/www/html不同,请创建指向DocumentRoot的符号链接

3.在/usr/share/jitsi meet(安装目录)3a。在文件库中。html更改

  <base href="/" /> to <base href="/meet/" />

3b。在文件索引中。html更改

  #include virtual="/config.js"  to    #include virtual="config.js"  
  #include virtual="/interface_config.js"  to  #include virtual="interface_config.js"
  #include virtual="/logging_config.js" to #include virtual="logging_config.js"
  ( remove the / in front of them )

4.在文件yourip config中的/etc/jitsi/meet。js变化

  bosh: '//192.168.2.24/http-bind',   to    bosh: '//192.168.2.24/meet/http-bind',

文件看起来像

  /* eslint-disable no-unused-vars, no-var */

  var config = {
// Connection
//

hosts: {
    // XMPP domain.
    domain: '192.168.2.24',

    // When using authentication, domain for guest users.
    //anonymousdomain: 'guest.192.168.2.24',

    // Domain for authenticated users. Defaults to <domain>.
    // authdomain: '192.168.2.24',

    // Jirecon recording component domain.
    // jirecon: 'jirecon.192.168.2.24',

    // Call control component (Jigasi).
    // call_control: 'callcontrol.192.168.2.24',

    // Focus component domain. Defaults to focus.<domain>.
    // focus: 'focus.192.168.2.24',

    // XMPP MUC domain. FIXME: use XEP-0030 to discover it.
    muc: 'conference.192.168.2.24'
},

// BOSH URL. FIXME: use XEP-0156 to discover it.
bosh: '//192.168.2.24/meet/http-bind',

// Websocket URL
// websocket: 'wss://192.168.2.24/xmpp-websocket',
   ...

5.At/etc/apache2/sites available更改yourip。conf将如下所示

此配置将所有流量从端口80(http)重定向到端口443(https)
更改所有必要的部分以适应您的配置(ip、subdir、DocumentRoot)

  <VirtualHost *:80>
    ServerName 192.168.2.24
    Redirect permanent / https://192.168.2.24/
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
  </VirtualHost>

  <VirtualHost *:443>

    ServerName 192.168.2.24

    SSLProtocol TLSv1 TLSv1.1 TLSv1.2
    SSLEngine on
    SSLProxyEngine on
    SSLCertificateFile /etc/jitsi/meet/192.168.2.24.crt
    SSLCertificateKeyFile /etc/jitsi/meet/192.168.2.24.key
    SSLCipherSuite       
   "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED"
     SSLHonorCipherOrder on
     Header set Strict-Transport-Security "max-age=31536000"

     DocumentRoot "/var/www/html"
     <Directory "/var/www/html/meet">
       Options Indexes MultiViews Includes FollowSymLinks
       AddOutputFilter Includes html
       AllowOverride All
       Order allow,deny
       Allow from all
     </Directory>

     ErrorDocument 404 /static/404.html

   Alias "/meet/config.js" "/etc/jitsi/meet/192.168.2.24-config.js"
     <Location /meet/config.js>
       Require all granted
     </Location>

     Alias "/meet/external_api.js" "/usr/share/jitsi-meet/libs/external_api.min.js"
     <Location /meet/external_api.js>
       Require all granted
     </Location>

   RewriteEngine On
   RewriteCond %{REQUEST_URI} ^/meet/[a-zA-Z0-9]+$
   RewriteRule ^/meet/(.*)$ /meet/ [PT]       

   ProxyPreserveHost on
   ProxyPass /meet/http-bind http://localhost:5280/http-bind/
   ProxyPassReverse /meet/http-bind http://localhost:5280/http-bind/

 </VirtualHost>

6.小贴士

a、 如果您安装了Webmnin,请将Webmin的端口从10000更改为您喜欢的任何端口。
b如果您与3个或更多参与者有问题,请查看步骤1链接的“高级配置”部分

 类似资料:
  • 这就是网络。我的GWT应用程序中的xml: 我的问题是,当我这样做的时候,我如何使它对GWT-RPC也是可用的 服务模块: 对于定义为以下内容的 RPC: 当应用程序加载时,会抛出以下错误: [错误]javax . servlet . servlet异常:servlet必须绑定为singletons。key[type = com . myapp . server . service impl .

  • 如何让Maven插件与Sonar Scanner配合使用? 我正在RHEL 7.5上运行以下程序: 纱线版本:Hadoop 3.1.0 mvn——版本:ApacheMaven 3.5.3 SonarQube 7.1 节点-v:v9。5 npm-v:5.6.0 我带着pom去这个目录。xml文件:/opt/sonaqube/web/META-INF/maven/org。声纳来源。声纳网络 我运行以下

  • 从 v0.10 以及以上版本开发,MinDoc支持运行在二级子目录。 要想让MinDoc运行在二级子目录,需要在app.conf配置文件中配置baseurl项为你的域名,例如:https://www.iminho.me/wiki。 之后,在nginx中配置路由规则,将属于MinDoc的路由重定向到MinDoc端口。配置如下: server { listen 443; server

  • 我尝试使用jitsi meet在raspberry上进行视频会议。首先,我使用https://meet.jit.si/创建一个房间并从我的raspberry pi 3板连接到该房间。我有一个picam camera v1插件到pi板和一个外部usb扬声器。其次,我使用chromium浏览器从raspberry加入会议,预览视频看起来不错。在那之后,我使用chrome浏览器从我的电脑加入了那个房间,

  • 我遵循了Jitsi的默认安装指南,它在使用Chrome浏览器时运行良好。然而,如果我使用Firefox,视频和音频都会传输到另一端,它们都会看到一个黑屏。然而,为了见面。准时制。它很好用。有没有我在安装中错过的配置? firefox中唯一的错误是:

  • 问题内容: 我不敢相信我以前没有做过,但是我想得到一个明确的答案,所以我已经准备好了。 我有一个Apache的配置文件,看起来像这样: 因此,这可以很好地处理html和php文件。但是我在那里有多个项目,因此想开始使用子域。我想要做的是将文件从用作根目录。 我尝试将以下内容添加到我的apache文件的底部: 但apache抱怨: 我知道我犯了一个基本错误,但是我不确定这是什么。 编辑 现在是我完整