To install jitsi meet we are going do setup for following components
- Jitsi Video-Bridge (Software video-bridge)
- Jitsi Jicofo (Component mandatory for jitsi conference)
- Prosody ( XMPP Server )
- Nginx (Web Server)
- Jitsi Meet (Web application – to which the end user will interact. )
Java dependency
Check if jdk installed on your ubuntu, it must be > 1.7
java -version javac -version
Both above must be greater than 1.7
- To install jdk
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
Check again with same commands
java -version javac -version
If versions are > 1.7 we are ready to go ahead.
If you have java installed already, but it points to some older version, you can select proper version using following
sudo update-alternatives --config java sudo update-alternatives --config javac
References
Difference between JVM, JRE, JDK
Install JDK
Java alternatives in ubuntu
Check which JRE you are using
Install Prosody – XMPP server
apt-get install prosody
Configure it
1. Open file “/etc/prosody/conf.avail/jitsi.example.com.cfg.lua”
2. Add following lines to config file
VirtualHost "jitsi.example.com"
authentication = "anonymous"
ssl = {
key = "/var/lib/prosody/jitsi.example.com.key";
certificate = "/var/lib/prosody/jitsi.example.com.crt";
}
modules_enabled = {
"bosh";
"pubsub";
}
VirtualHost "auth.jitsi.example.com"
authentication = "internal_plain"
admins = { "focus@auth.jitsi.example.com" }
Component "conference.jitsi.example.com" "muc"
Component "jitsi-videobridge.jitsi.example.com"
component_secret = "YOURSECRET1"
Component "focus.jitsi.example.com"
component_secret = "YOURSECRET2"
3. Set above file in use
sudo ln -s /etc/prosody/conf.avail/jitsi.example.com.cfg.lua /etc/prosody/conf.d/jitsi.example.com.cfg.lua
4. Generate certificates
sudo prosodyctl cert generate jitsi.example.com
5. Create conference user
sudo prosodyctl register focus auth.jitsi.example.com YOURSECRET3
6. Restart prosody
sudo prosodyctl restart
References
Prosody XMPP server
Prosody configurations
Install Jitsi Video Bridge
Go to following URL
https://download.jitsi.org/jitsi-videobridge/linux/
Check which version is good for your ubuntu 32/64 bit, using following
uname -a
If it says “x86_64” at the end, it is 64 bit.
wget https://download.jitsi.org/jitsi-videobridge/linux/jitsi-videobridge-linux-{arch-buildnum}.zip unzip jitsi-videobridge-linux-{arch-buildnum}.zip
(If you dont have unzip installed, you can “sudo apt-get install unzip”)
Make .sip-communicator directory in user home directory
-
cd ~
-
mkdir .sip-communicator
-
nano sip-communicator.properties
- add lines
org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
org.jitsi.videobridge.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.jitsi.videobridge.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
to file and save it (Ctrl + o, Enter, Ctrl + x)
Run jitsi video bridge
-
cd /path/to/extracted-folter-of-jistsi-video-bridge
-
./jvb.sh --host=localhost --domain=jitsi.example.com --port=5347 --secret=YOURSECRET1
To auto start jitsi video bridge
/bin/bash /root/jitsi-videobridge-linux-{arch-buildnum}/jvb.sh --host=localhost --domain=jitsi.example.com --port=5347 --secret=YOURSECRET1 </dev/null >> /var/log/jvb.log 2>&1
References
Check if your ubuntu is 32bit/64bit
Install and run jitsi video bridge
Install Jicofo
Install ant
sudo apt-get install ant
Clone jicofo repository
git clone https://github.com/jitsi/jicofo.git
cd jicofo/lib
Download maven task pom and jar file from following location
http://search.maven.org/#search|ga|1|a%3A%22maven-ant-tasks%22
POM file
wget https://repo1.maven.org/maven2/org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.pom
Jar file
wget http://search.maven.org/remotecontent?filepath=org/apache/maven/maven-ant-tasks/2.1.3/maven-ant-tasks-2.1.3.jar
Rename jar file
mv remotecontent\?filepath\=org%2Fapache%2Fmaven%2Fmaven-ant-tasks%2F2.1.3%2Fmaven-ant-tasks-2.1.3.jar maven-ant-tasks-2.1.3.jar
Remove ~/.m2/
sudo rm -R ~/.m2/
Change directory to jicofo
cd /path/to/jicofo-cloned-repo/
mvn -U clean package -DskipTests
( If maven not installed, sudo apt-get install maven)
ant -lib lib dist.{os-name}
For 64 bit ubuntu use lin64 as {os-name}
(Here {os-name} is one of the ‘lin’, ‘lin64’, ‘macosx’, ‘win’, ‘win64’)
cd dist/{os-name}
(for ubuntu cd dist/linux)
unzip jicofo-linux-x64-build.SVN.zip
cd jicofo-linux-x64-build.SVN/
Run Jicofo
./jicofo.sh --domain=jitsi.example.com --secret=YOURSECRET2 --user_domain=auth.jitsi.example.com --user_name=focus --user_password=YOURSECRET3
References
Build fail issue for maven dep
Nodejs dependency
Install nodejs using nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
exit the terminal and repoen it
Check the latest stable nodejs version
nvm install 4.4.1
(4.4.1 is the latest stable at this time, you may select another)
Use version
nvm use 4.4.1
sudo apt-get install build-essential
References
Install Jitsi Meet
Clone jitsi-meet repository
git clone https://github.com/jitsi/jitsi-meet.git cd /jitsi-meet npm install make Configuration Edit the configuration file /config.js var config = { hosts: { domain: 'jitsi.example.com', muc: 'conference.jitsi.example.com', bridge: 'jitsi-videobridge.jitsi.example.com' }, useNicks: false, bosh: '//jitsi.example.com/http-bind', // FIXME: use xep-0156 for that desktopSharing: 'false' // Desktop sharing method. Can be set to 'ext', 'webrtc' or false to disable. //chromeExtensionId: 'diibjkoicjeejcmhdnailmkgecihlobk', // Id of desktop streamer Chrome extension //minChromeExtVersion: '0.1' // Required version of Chrome extension };
Deploy jitsi-meet using nginx
sudo apt-get install nginx
cd /etc/nginx/sites-available
add new file jitsi.example.com
add following code
server_names_hash_bucket_size 64;
server {
listen 80;
server_name jitsi.example.com;
# set the root
root /path/to/jitsi-meet;
index index.html;
location ~ ^/([a-zA-Z0-9=\?]+)$ {
rewrite ^/(.*)$ / break;
}
location / {
ssi on;
}
# 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;
}
}
cd /etc/nginx/sites-enabled
ln -s ../sites-available/jitsi.example.com jitsi.example.com
Restart sudo service nginx restart
Browse to the jitsi.example.com and you should be ready to use jitsi-meet !!!
References
jitsi meet nginx deploy