首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使Jitsi-Meet在子URL上与apache协同工作

使Jitsi-Meet在子URL上与apache协同工作
EN

Stack Overflow用户
提问于 2015-08-30 17:40:03
回答 3查看 8.5K关注 0票数 0

我试图让jitsi-meet在郊区"/meet“的apache服务器上工作,但我只能获得index.html视图,无法加载房间。

首先,我继续安装包,停止nginx并使用以下参数配置apache virtualhost:

代码语言:javascript
运行
复制
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>

我找到了这个配置here,Jitsi-meet的github。我将其修改为重定向本地主机上的所有请求,以避免DNS解析。不幸的是,它没有工作,所以在很多测试之后,我卸载了所有的软件包,尝试手动安装,但结果是相同的。

我安装了jitsi-videobridge和jicofo。Jicofo不是自动启动的,但我设法让它在我的测试中工作。我为"meet“提供了著名的"jitsi-meet”目录源,并将其放在我的apache DocumentRoot目录中。

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

代码语言:javascript
运行
复制
/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-meet工作,你不这样认为吗?也许apache的一个模块丢失了?

我运行的是Debian Jessie服务器,安装了Apache2.4.10,安装了NodeJS 0.12,并且禁用了防火墙(这是一个测试服务器)。我启用了头文件、代理http、ssl和重写模块。

我现在卡住了,我需要帮助才能让它工作。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2020-04-23 07:42:12

将Jitsi安装在本地网络Apache的子目录下(ubuntu 18.04)

假设1) DocumentRoot为/var/www/html 2)将Jitsi安装在/var/www/html/meet,3)服务器本地ip地址为192.168.2.24

使用Basic jitsi Meet Install ()安装

根据上面的内容如何"

添加Jitsi包存储库

代码语言:javascript
运行
复制
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是否存在(按此顺序),并在它找到的web服务器中配置一个虚拟主机来服务Jitsi Meet。如果以上都没有找到,则默认为Nginx。如果您已经在同一台机器的端口443上运行Nginx,则将跳过the服务器配置,因为它将与您当前的端口443冲突。

代码语言:javascript
运行
复制
# 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 Meet实例的主机名。如果您已经在DNS中为实例设置了FQDN,请在那里输入它。如果没有可解析的主机名,可以输入机器的IP地址(如果它是静态的或不变的)。

此主机名(或IP地址)将用于Jitsi会议内部的虚拟主机配置,此外,您和您的通信者将使用它来访问web会议。

"

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

2.建立到jitsi-meet目录的符号链接。

代码语言:javascript
运行
复制
    sudo ln -s /usr/share/jitsi-meet /var/www/html/meet

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

3.在/usr/share/jitsi-(安装目录)处

代码语言:javascript
运行
复制
   3a. in file _base.html_ change
代码语言:javascript
运行
复制
  <base href="/" /> to <base href="/meet/" />

3b。在文件中index.html更改

代码语言:javascript
运行
复制
  #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.在/etc/jitsi/-config.js文件中见面

代码语言:javascript
运行
复制
  bosh: '//192.168.2.24/http-bind',   to    bosh: '//192.168.2.24/meet/http-bind',

该文件如下所示

代码语言:javascript
运行
复制
  /* 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.在/etc/apache2/sites-available将yourip.conf更改为如下所示的

此配置会将所有流量从端口80(http)重定向到端口443(https)

更改所有必要的部分以适合您的配置(ip、子目录、DocumentRoot)

代码语言:javascript
运行
复制
  <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.Tips

a.If你已经安装了Webmin,把Webmin的端口从10000改成你喜欢的任何端口

b.if您在使用3时遇到了问题,更多参与者可以查看步骤1链接的高级配置部分

票数 2
EN

Stack Overflow用户

发布于 2020-04-11 10:20:59

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

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

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

代码语言:javascript
运行
复制
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>

此外,您还需要在Jitsi config.js中添加一行以访问会议室:

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

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

由于Jitsi html页面使用SSI,因此需要调整其中的路径。首先是base.html,它为HTML中的所有引用设置了基础:

<base href="/jitsi/" />

此外,在index.html文件中,查找#include virtual="/*.js"部分。对于给定的根目录的JavaScript文件,请删除它们前面的/

票数 1
EN

Stack Overflow用户

发布于 2015-10-09 22:11:30

I found an apache conf that's work

代码语言:javascript
运行
复制
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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32295168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档