Manual installation of jitsi meet on ubuntu 16-04

Hi All,

Any one have configured manual installation on single server, if have done would please share the document and steps to do.

Thanks

Thanks Neil, I am looking that document only, but I dont know it will work or not. past few days I am trying different link, nothing working. let hope it will work.

Is there a reason you are not using the quick installation instructions?

I tried, am using aws ec2 servers and multiple domains it casting more. I am planned to do sub domains.
I am not able to configured that I am able to got the load two sub domain and it keep coming rejoin. So now I am looking manual so I can make separate jitsi meet. The above link again am getting error when make command executing.

Why not get one instance running correctly, using the quick install, and then move to a more complicated installation if you need it, once you’re more familiar with things?

(If you haven’t already done that, of course.)

I have done, quick install and it working without any issue, I am looking for sub domain to configure in single instance.

I’d have thought it’s just:

  • change machine’s hostname
  • set up DNS record
  • get certificate for new domain
  • re-run jitsi installation, but specifying new hostname

(Or else just reinstall, with the new hostname, as that should be cleaner.)

sorry Neil, it typo. It two or multiple sub domains in single instance

Hi Neil,

when I tried above link am getting these error, do you have any idea

Error: ENOENT: no such file or directory, scandir ‘/home/ubuntu/jitsi-meet/node_modules/node-sass/vendor’
at Object.readdirSync (fs.js:921:3)
at Object.getInstalledBinaries (/home/ubuntu/jitsi-meet/node_modules/node-sass/lib/extensions.js:132:13)
at foundBinariesList (/home/ubuntu/jitsi-meet/node_modules/node-sass/lib/errors.js:20:15)
at foundBinaries (/home/ubuntu/jitsi-meet/node_modules/node-sass/lib/errors.js:15:5)
at Object.module.exports.missingBinary (/home/ubuntu/jitsi-meet/node_modules/node-sass/lib/errors.js:45:5)
at module.exports (/home/ubuntu/jitsi-meet/node_modules/node-sass/lib/binding.js:15:30)
at Object. (/home/ubuntu/jitsi-meet/node_modules/node-sass/lib/index.js:14:35)
at Module._compile (internal/modules/cjs/loader.js:1147:30)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1167:10)
at Module.load (internal/modules/cjs/loader.js:996:32) {
errno: -2,
syscall: ‘scandir’,
code: ‘ENOENT’,
path: ‘/home/ubuntu/jitsi-meet/node_modules/node-sass/vendor’
}
rm: cannot remove ‘css/all.bundle.css’: No such file or directory
Makefile:75: recipe for target ‘deploy-css’ failed
make: *** [deploy-css] Error 1
ubuntu@ubuntu-VirtualBox:~/jitsi-meet$

fixed those issue, still my application not running

Hi All,

I try to configure manual installation on ubuntu 18, and everything went well but last i am not getting out put
when I am browsing http://jitsi.example.com it showing only nginx page only. Let me know were I am done miss. I have followed the below link.


my build out put is
./node_modules/.bin/node-sass css/main.scss css/all.bundle.css &&
./node_modules/.bin/cleancss css/all.bundle.css > css/all.css ;
rm css/all.bundle.css
Rendering Complete, saving .css file…
Wrote CSS to /home/ubuntu/jitsi-meet/css/all.bundle.css
/bin/sh: 2: ./node_modules/.bin/cleancss: not found
([ ! -x deploy-local.sh ] || ./deploy-local.sh)
rm -fr build

Can you show your nginx config?

Hi Neil, thanks for reply.

Here is the nginx config
server_names_hash_bucket_size 64;

server {
listen 0.0.0.0:443 ssl http2;
listen [::]:443 ssl http2;
# tls configuration that is not covered in this guide
# we recommend the use of https://certbot.eff.org/
server_name jitsi.example.com;
# set the root
root /srv/jitsi-meet;
index index.html;
location ~ ^/([a-zA-Z0-9=?]+) { rewrite ^/(.*) / break;
}
location / {
ssi on;
}
# BOSH, Bidirectional-streams Over Synchronous HTTP
# https://en.wikipedia.org/wiki/BOSH_(protocol)
location /http-bind {
proxy_pass http://localhost:5280/http-bind;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}
# external_api.js must be accessible from the root of the
# installation for the electron version of Jitsi Meet to work
# https://github.com/jitsi/jitsi-meet-electron
location /external_api.js {
alias /srv/jitsi-meet/libs/external_api.min.js;
}
}
~

create site called jitsi.example.com

Try using this (but obviously modify the domain, and the path to your TLS certificate:

server_names_hash_bucket_size 64;

server {
    listen 80;
    listen [::]:80;
    server_name jitsi.example.com;

    location ^~ /.well-known/acme-challenge/ {
       default_type "text/plain";
       root         /usr/share/jitsi-meet;
    }
    location = /.well-known/acme-challenge/ {
       return 404;
    }
    location / {
       return 301 https://$host$request_uri;
    }
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name jitsi.example.com;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "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";

    add_header Strict-Transport-Security "max-age=31536000";

    ssl_certificate /etc/letsencrypt/live/jitsi.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/jitsi.example.com/privkey.pem;

    root /usr/share/jitsi-meet;

    # ssi on with javascript for multidomain variables in config.js
    ssi on;
    ssi_types application/x-javascript application/javascript;

    index index.html index.htm;
    error_page 404 /static/404.html;

    location = /config.js {
        alias /etc/jitsi/meet/jitsi.example.com-config.js;
    }

    location = /external_api.js {
        alias /usr/share/jitsi-meet/libs/external_api.min.js;
    }

    #ensure all static content can always be found first
    location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.well-known)/(.*)$
    {
        add_header 'Access-Control-Allow-Origin' '*';
        alias /usr/share/jitsi-meet/$1/$2;
    }

    # BOSH
    location = /http-bind {
        proxy_pass      http://localhost:5280/http-bind;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
    }

    # xmpp websockets
    location = /xmpp-websocket {
        proxy_pass http://127.0.0.1:5280/xmpp-websocket?prefix=$prefix&$args;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        tcp_nodelay on;
    }

    location ~ ^/([^/?&:'"]+)$ {
        try_files $uri @root_path;
    }

    location @root_path {
        rewrite ^/(.*)$ / break;
    }

    location ~ ^/([^/?&:'"]+)/config.js$
    {
       set $subdomain "$1.";
       set $subdir "$1/";

       alias /etc/jitsi/meet/jitsi.example.com-config.js;
    }

    #Anything that didn't match above, and isn't a real file, assume it's a room name and redirect to /
    location ~ ^/([^/?&:'"]+)/(.*)$ {
        set $subdomain "$1.";
        set $subdir "$1/";
        rewrite ^/([^/?&:'"]+)/(.*)$ /$2;
    }

    # BOSH for subdomains
    location ~ ^/([^/?&:'"]+)/http-bind {
        set $subdomain "$1.";
        set $subdir "$1/";
        set $prefix "$1";

        rewrite ^/(.*)$ /http-bind;
    }

    # websockets for subdomains
    location ~ ^/([^/?&:'"]+)/xmpp-websocket {
        set $subdomain "$1.";
        set $subdir "$1/";
        set $prefix "$1";

        rewrite ^/(.*)$ /xmpp-websocket;
    }
}

thanks Neil, do we need ssl for this, without ssl we cant test. If ssl need I will give try tomorrow.

Thanks again helping to me.

I don’t think that WebRTC will work without it, but l’m not 100% sure.

webrtc need ssl. which you given nginx file is quick installation file right.
thanks again.