Merge pull request #87 from turint/master

Introduces new package jitsi-meet-prosody which configures it for jitsi-meet.
This commit is contained in:
damencho 2014-08-11 08:56:16 +03:00
commit a2d07c2688
24 changed files with 369 additions and 6 deletions

16
debian/control vendored
View File

@ -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.

View File

@ -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

1
debian/jitsi-meet-prosody.install vendored Normal file
View File

@ -0,0 +1 @@
debian/usr/share/* /usr/share/

58
debian/jitsi-meet-prosody.postinst vendored Normal file
View File

@ -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

48
debian/jitsi-meet-prosody.postrm vendored Normal file
View File

@ -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

35
debian/jitsi-meet-prosody.preinst vendored Normal file
View File

@ -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

36
debian/jitsi-meet-prosody.prerm vendored Normal file
View File

@ -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

1
debian/jitsi-meet-prosody.substvars vendored Normal file
View File

@ -0,0 +1 @@
misc:Depends=

31
debian/jitsi-meet.copyright vendored Normal file
View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1 @@
Prosody configuration for Jitsi Meet

Binary file not shown.

View File

@ -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.

103
doc/quick-install.md Normal file
View File

@ -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.