Merge pull request #87 from turint/master
Introduces new package jitsi-meet-prosody which configures it for jitsi-meet.
This commit is contained in:
commit
a2d07c2688
|
@ -10,10 +10,24 @@ Homepage: https://jitsi.org/meet
|
||||||
Package: jitsi-meet
|
Package: jitsi-meet
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Pre-Depends: adduser, openssl, jitsi-videobridge
|
Pre-Depends: adduser, openssl, jitsi-videobridge
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, nginx
|
Depends: ${shlibs:Depends}, ${misc:Depends}, nginx, jitsi-meet-prosody
|
||||||
Description: WebRTC JavaScript video conferences
|
Description: WebRTC JavaScript video conferences
|
||||||
Jitsi Meet is a WebRTC JavaScript application that uses Jitsi
|
Jitsi Meet is a WebRTC JavaScript application that uses Jitsi
|
||||||
Videobridge to provide high quality, scalable video conferences.
|
Videobridge to provide high quality, scalable video conferences.
|
||||||
.
|
.
|
||||||
It is a web interface to Jitsi Videobridge for audio and video
|
It is a web interface to Jitsi Videobridge for audio and video
|
||||||
forwarding and relaying, configured to work with nginx
|
forwarding and relaying, configured to work with nginx
|
||||||
|
|
||||||
|
Package: jitsi-meet-prosody
|
||||||
|
Architecture: all
|
||||||
|
Pre-Depends: adduser, openssl, prosody-trunk, jitsi-videobridge
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, nginx, prosody-modules-otalk, lua-sec
|
||||||
|
Description: Prosody configuration for Jitsi Meet
|
||||||
|
Jitsi Meet is a WebRTC JavaScript application that uses Jitsi
|
||||||
|
Videobridge to provide high quality, scalable video conferences.
|
||||||
|
.
|
||||||
|
It is a web interface to Jitsi Videobridge for audio and video
|
||||||
|
forwarding and relaying, configured to work with nginx
|
||||||
|
.
|
||||||
|
This package contains configuration for Prosody to be used with
|
||||||
|
Jitsi Meet.
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
Prosody configuration for Jitsi Meet for Debian
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
Jitsi Meet is a WebRTC video conferencing application. This package contains
|
||||||
|
configuration of prosody which are needed for Jitsi Meet to work.
|
||||||
|
|
||||||
|
-- Yasen Pramatarov <yasen@bluejimp.com> Mon, 30 Jun 2014 23:05:18 +0100
|
|
@ -0,0 +1 @@
|
||||||
|
debian/usr/share/* /usr/share/
|
|
@ -0,0 +1,58 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# postinst script for jitsi-meet-prosody
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <postinst> `configure' <most-recently-configured-version>
|
||||||
|
# * <old-postinst> `abort-upgrade' <new version>
|
||||||
|
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||||
|
# <new-version>
|
||||||
|
# * <postinst> `abort-remove'
|
||||||
|
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||||
|
# <failed-install-package> <version> `removing'
|
||||||
|
# <conflicting-package> <version>
|
||||||
|
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||||
|
# the debian-policy package
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
configure)
|
||||||
|
|
||||||
|
. /etc/default/jitsi-videobridge
|
||||||
|
|
||||||
|
if [ -x /etc/prosody/prosody.cfg.lua ]; then
|
||||||
|
mv /etc/prosody/prosody.cfg.lua /etc/prosody/prosody.cfg.lua.orig
|
||||||
|
fi
|
||||||
|
gunzip -c /usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example.gz > /etc/prosody/prosody.cfg.lua
|
||||||
|
sed -i "s/jitmeet.example.com/$JVB_HOSTNAME/g" /etc/prosody/prosody.cfg.lua
|
||||||
|
sed -i "s/jitmeetSecret/$JVB_SECRET/g" /etc/prosody/prosody.cfg.lua
|
||||||
|
if [ ! -f /var/lib/prosody/$JVB_HOSTNAME.crt ]; then
|
||||||
|
HOST="$( (hostname -s; echo localhost) | head -n 1)"
|
||||||
|
DOMAIN="$( (hostname -d; echo localdomain) | head -n 1)"
|
||||||
|
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj \
|
||||||
|
"/O=$DOMAIN/OU=$HOST/CN=$JVB_HOSTNAME/emailAddress=webmaster@$HOST.$DOMAIN" \
|
||||||
|
-keyout /var/lib/prosody/$JVB_HOSTNAME.key -out /var/lib
|
||||||
|
fi
|
||||||
|
ln -sf /var/lib/prosody/$JVB_HOSTNAME.key /etc/prosody/certs/$JVB_HOSTNAME.key
|
||||||
|
ln -sf /var/lib/prosody/$JVB_HOSTNAME.crt /etc/prosody/certs/$JVB_HOSTNAME.crt
|
||||||
|
invoke-rc.d prosody restart
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade|abort-remove|abort-deconfigure)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dh_installdeb will replace this with shell code automatically
|
||||||
|
# generated by other debhelper scripts.
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# postrm script for jitsi-meet-prosody
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <postrm> `remove'
|
||||||
|
# * <postrm> `purge'
|
||||||
|
# * <old-postrm> `upgrade' <new-version>
|
||||||
|
# * <new-postrm> `failed-upgrade' <old-version>
|
||||||
|
# * <new-postrm> `abort-install'
|
||||||
|
# * <new-postrm> `abort-install' <old-version>
|
||||||
|
# * <new-postrm> `abort-upgrade' <old-version>
|
||||||
|
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||||
|
# <overwriter-version>
|
||||||
|
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||||
|
# the debian-policy package
|
||||||
|
|
||||||
|
# Load debconf
|
||||||
|
. /usr/share/debconf/confmodule
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
purge|remove)
|
||||||
|
if [ -x "/etc/init.d/prosody" ]; then
|
||||||
|
invoke-rc.d nginx reload
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "postrm called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dh_installdeb will replace this with shell code automatically
|
||||||
|
# generated by other debhelper scripts.
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
db_stop
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# preinst script for jitsi-meet-prosody
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <new-preinst> `install'
|
||||||
|
# * <new-preinst> `install' <old-version>
|
||||||
|
# * <new-preinst> `upgrade' <old-version>
|
||||||
|
# * <old-preinst> `abort-upgrade' <new-version>
|
||||||
|
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||||
|
# the debian-policy package
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
install|upgrade)
|
||||||
|
;;
|
||||||
|
|
||||||
|
abort-upgrade)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "preinst called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# dh_installdeb will replace this with shell code automatically
|
||||||
|
# generated by other debhelper scripts.
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# prerm script for jitsi-meet-prosody
|
||||||
|
#
|
||||||
|
# see: dh_installdeb(1)
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# summary of how this script can be called:
|
||||||
|
# * <prerm> `remove'
|
||||||
|
# * <old-prerm> `upgrade' <new-version>
|
||||||
|
# * <new-prerm> `failed-upgrade' <old-version>
|
||||||
|
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
||||||
|
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
||||||
|
# <package-being-installed> <version> `removing'
|
||||||
|
# <conflicting-package> <version>
|
||||||
|
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||||
|
# the debian-policy package
|
||||||
|
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
remove|purge)
|
||||||
|
;;
|
||||||
|
|
||||||
|
upgrade|deconfigure)
|
||||||
|
;;
|
||||||
|
|
||||||
|
failed-upgrade)
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "prerm called with unknown argument \`$1'" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1 @@
|
||||||
|
misc:Depends=
|
|
@ -0,0 +1,31 @@
|
||||||
|
Format: http://dep.debian.net/deps/dep5
|
||||||
|
Upstream-Name: Jitsi Meet
|
||||||
|
Upstream-Contact: Emil Ivov <emcho@jitsi.org>
|
||||||
|
Source: https://github.com/jitsi/jitsi-meet
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2013-2014 Jitsi
|
||||||
|
License: MIT
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
The MIT License (MIT)
|
||||||
|
.
|
||||||
|
Copyright (c) 2013 ESTOS GmbH
|
||||||
|
Copyright (c) 2013 BlueJimp SARL
|
||||||
|
.
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
.
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@ -21,9 +21,6 @@ set -e
|
||||||
case "$1" in
|
case "$1" in
|
||||||
configure)
|
configure)
|
||||||
|
|
||||||
# firewall conf
|
|
||||||
ufw allow 80
|
|
||||||
|
|
||||||
# nginx conf
|
# nginx conf
|
||||||
. /etc/default/jitsi-videobridge
|
. /etc/default/jitsi-videobridge
|
||||||
cp /usr/share/doc/jitsi-meet/jitsi-meet.example /etc/nginx/sites-available/$JVB_HOSTNAME.conf
|
cp /usr/share/doc/jitsi-meet/jitsi-meet.example /etc/nginx/sites-available/$JVB_HOSTNAME.conf
|
|
@ -24,8 +24,6 @@ set -e
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
purge|remove)
|
purge|remove)
|
||||||
rm /etc/nginx/sites-enabled/jitsi-meet
|
|
||||||
rm /etc/nginx/sites-available/jitsi-meet
|
|
||||||
if [ -x "/etc/init.d/nginx" ]; then
|
if [ -x "/etc/init.d/nginx" ]; then
|
||||||
invoke-rc.d nginx reload
|
invoke-rc.d nginx reload
|
||||||
fi
|
fi
|
|
@ -15,3 +15,5 @@ debian/usr/share/jitsi-meet/images/avatar1.png
|
||||||
debian/usr/share/jitsi-meet/images/popupPointer.png
|
debian/usr/share/jitsi-meet/images/popupPointer.png
|
||||||
debian/usr/share/jitsi-meet/images/favicon.ico
|
debian/usr/share/jitsi-meet/images/favicon.ico
|
||||||
debian/usr/share/doc/jitsi-meet/changelog.Debian.gz
|
debian/usr/share/doc/jitsi-meet/changelog.Debian.gz
|
||||||
|
debian/usr/share/doc/jitsi-meet-prosody/changelog.Debian.gz
|
||||||
|
debian/usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example.gz
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Prosody configuration for Jitsi Meet
|
Binary file not shown.
|
@ -0,0 +1,31 @@
|
||||||
|
Format: http://dep.debian.net/deps/dep5
|
||||||
|
Upstream-Name: Jitsi Meet
|
||||||
|
Upstream-Contact: Emil Ivov <emcho@jitsi.org>
|
||||||
|
Source: https://github.com/jitsi/jitsi-meet
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2013-2014 Jitsi
|
||||||
|
License: MIT
|
||||||
|
|
||||||
|
License: MIT
|
||||||
|
The MIT License (MIT)
|
||||||
|
.
|
||||||
|
Copyright (c) 2013 ESTOS GmbH
|
||||||
|
Copyright (c) 2013 BlueJimp SARL
|
||||||
|
.
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
.
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
Binary file not shown.
|
@ -0,0 +1,103 @@
|
||||||
|
# Jitsi Meet quick install
|
||||||
|
|
||||||
|
This documents decribes the needed steps for quick Jitsi Meet installation on a Debian based GNU/Linux system.
|
||||||
|
|
||||||
|
N.B.: All commands are supposed to be run by root. If you are logged in as a regular user with sudo rights, please prepend ___sudo___ to each of the commands.
|
||||||
|
|
||||||
|
## Basic Jitsi Meet install
|
||||||
|
|
||||||
|
### Add the repository
|
||||||
|
|
||||||
|
```sh
|
||||||
|
add-apt-repository 'deb http://download.jitsi.org/nightly/deb unstable/'
|
||||||
|
wget -qO - https://download.jitsi.org/nightly/deb/unstable/archive.key | apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
add-apt-repository is in the default Ubuntu install and is available for both Ubuntu and Debian, but if it's not present, either install it with
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-get -y install software-properties-common
|
||||||
|
add-apt-repository 'deb http://download.jitsi.org/nightly/deb unstable/'
|
||||||
|
wget -qO - https://download.jitsi.org/nightly/deb/unstable/archive.key | apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
or add the repository by hand with
|
||||||
|
|
||||||
|
```sh
|
||||||
|
echo 'deb http://download.jitsi.org/nightly/deb unstable/' >> /etc/apt/sources.list
|
||||||
|
wget -qO - https://download.jitsi.org/nightly/deb/unstable/archive.key | apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
### Update the package lists
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-get update
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install Jitsi Meet
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-get -y install jitsi-meet
|
||||||
|
```
|
||||||
|
|
||||||
|
During the installation you'll be asked to enter the hostname of the Jitsi Meet instance. If you have a FQDN hostname for the instance already set ip in DNS, enter it there. If you don't have a resolvable hostname, you can enter the IP address of the machine (if it is static or doesn't change).
|
||||||
|
|
||||||
|
This hostname (or IP address) will be used for virtualhost configuration inside the Jitsi Meet and also you and your correspondents will be using it to access the web conferences.
|
||||||
|
|
||||||
|
### Open a conference
|
||||||
|
|
||||||
|
Launch a web broswer (Chrome, Chromium or latest Opera) and enter in the URL bar the hostname (or IP address) you used in the previous step.
|
||||||
|
|
||||||
|
Confirm that you trust the self-signed certificate of the newly installed Jitsi Meet.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
## Adding sip-gateway to Jitsi Meet
|
||||||
|
|
||||||
|
### Install Jigasi
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-get -o Dpkg::Options::="--force-overwrite" -y install jigasi
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```sh
|
||||||
|
wget https://download.jitsi.org/jigasi_1.0-1_amd64.deb
|
||||||
|
dpkg -i --force-overwrite jigasi_1.0-1_amd64.deb
|
||||||
|
```
|
||||||
|
|
||||||
|
You need to pass "--force-overwrite" option to dpkg, because the jigasi package patches some of the files in the jitsi-meet package in order to enable the SIP support in Jitsi Meet.
|
||||||
|
|
||||||
|
During the installation you'll be asked to enter your SIP account and password. This account will be used to invite the other SIP participants.
|
||||||
|
|
||||||
|
### Reload Jitsi Meet
|
||||||
|
|
||||||
|
Launch again a browser with the Jitsi Meet URL and you'll see a telephone icon on the right end of the toolbar. Use it to invite SIP accounts to join the current conference.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
## Troubleshoot
|
||||||
|
|
||||||
|
If the SIP gateway doesn't work on first try, restart it.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
/etc/init.d/jigasi restart
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deinstall
|
||||||
|
|
||||||
|
```sh
|
||||||
|
apt-get purge jigasi jitsi-meet jitsi-videobridge
|
||||||
|
```
|
||||||
|
|
||||||
|
Somethimes the following packages will fail to uninstall properly:
|
||||||
|
|
||||||
|
- jigasi
|
||||||
|
- jitsi-videobridge
|
||||||
|
|
||||||
|
When this happens, just run the deinstall command a second time and it should be ok.
|
||||||
|
|
||||||
|
The reason for failure is that not allways the daemons are stopped right away, there is a timeout before the actual stop. And if the unistall script goes on before the services' stop, there is an error.
|
||||||
|
|
||||||
|
The second run of the deinstall command fixes this, as by then the jigasi or jvb daemons are already stopped.
|
Loading…
Reference in New Issue