diff --git a/debian/control b/debian/control index b11ee6ede..501f14983 100644 --- a/debian/control +++ b/debian/control @@ -10,10 +10,24 @@ Homepage: https://jitsi.org/meet Package: jitsi-meet Architecture: all 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 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 + +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. diff --git a/debian/jitsi-meet-prosody.README.Debian b/debian/jitsi-meet-prosody.README.Debian new file mode 100644 index 000000000..c0127d625 --- /dev/null +++ b/debian/jitsi-meet-prosody.README.Debian @@ -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 Mon, 30 Jun 2014 23:05:18 +0100 diff --git a/debian/copyright b/debian/jitsi-meet-prosody.copyright similarity index 100% rename from debian/copyright rename to debian/jitsi-meet-prosody.copyright diff --git a/debian/jitsi-meet-prosody.install b/debian/jitsi-meet-prosody.install new file mode 100644 index 000000000..b7e674a4a --- /dev/null +++ b/debian/jitsi-meet-prosody.install @@ -0,0 +1 @@ +debian/usr/share/* /usr/share/ diff --git a/debian/jitsi-meet-prosody.postinst b/debian/jitsi-meet-prosody.postinst new file mode 100644 index 000000000..6681b8ac9 --- /dev/null +++ b/debian/jitsi-meet-prosody.postinst @@ -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: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# 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 diff --git a/debian/jitsi-meet-prosody.postrm b/debian/jitsi-meet-prosody.postrm new file mode 100644 index 000000000..330d19fcf --- /dev/null +++ b/debian/jitsi-meet-prosody.postrm @@ -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: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# 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 diff --git a/debian/jitsi-meet-prosody.preinst b/debian/jitsi-meet-prosody.preinst new file mode 100644 index 000000000..015564ee3 --- /dev/null +++ b/debian/jitsi-meet-prosody.preinst @@ -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: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# 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 diff --git a/debian/jitsi-meet-prosody.prerm b/debian/jitsi-meet-prosody.prerm new file mode 100644 index 000000000..c447b17ad --- /dev/null +++ b/debian/jitsi-meet-prosody.prerm @@ -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: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# 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 diff --git a/debian/jitsi-meet-prosody.substvars b/debian/jitsi-meet-prosody.substvars new file mode 100644 index 000000000..abd3ebebc --- /dev/null +++ b/debian/jitsi-meet-prosody.substvars @@ -0,0 +1 @@ +misc:Depends= diff --git a/debian/README.Debian b/debian/jitsi-meet.README.Debian similarity index 100% rename from debian/README.Debian rename to debian/jitsi-meet.README.Debian diff --git a/debian/README.source b/debian/jitsi-meet.README.source similarity index 100% rename from debian/README.source rename to debian/jitsi-meet.README.source diff --git a/debian/jitsi-meet.copyright b/debian/jitsi-meet.copyright new file mode 100644 index 000000000..06376c2a9 --- /dev/null +++ b/debian/jitsi-meet.copyright @@ -0,0 +1,31 @@ +Format: http://dep.debian.net/deps/dep5 +Upstream-Name: Jitsi Meet +Upstream-Contact: Emil Ivov +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. diff --git a/debian/docs b/debian/jitsi-meet.docs similarity index 100% rename from debian/docs rename to debian/jitsi-meet.docs diff --git a/debian/install b/debian/jitsi-meet.install similarity index 100% rename from debian/install rename to debian/jitsi-meet.install diff --git a/debian/postinst b/debian/jitsi-meet.postinst similarity index 98% rename from debian/postinst rename to debian/jitsi-meet.postinst index 0bcb762b5..eab06e568 100644 --- a/debian/postinst +++ b/debian/jitsi-meet.postinst @@ -21,9 +21,6 @@ set -e case "$1" in configure) - # firewall conf - ufw allow 80 - # nginx conf . /etc/default/jitsi-videobridge cp /usr/share/doc/jitsi-meet/jitsi-meet.example /etc/nginx/sites-available/$JVB_HOSTNAME.conf diff --git a/debian/postrm b/debian/jitsi-meet.postrm similarity index 91% rename from debian/postrm rename to debian/jitsi-meet.postrm index 5929810c7..89619fa24 100644 --- a/debian/postrm +++ b/debian/jitsi-meet.postrm @@ -24,8 +24,6 @@ set -e case "$1" in purge|remove) - rm /etc/nginx/sites-enabled/jitsi-meet - rm /etc/nginx/sites-available/jitsi-meet if [ -x "/etc/init.d/nginx" ]; then invoke-rc.d nginx reload fi diff --git a/debian/preinst b/debian/jitsi-meet.preinst similarity index 100% rename from debian/preinst rename to debian/jitsi-meet.preinst diff --git a/debian/prerm b/debian/jitsi-meet.prerm similarity index 100% rename from debian/prerm rename to debian/jitsi-meet.prerm diff --git a/debian/source/include-binaries b/debian/source/include-binaries index 1acd4d013..ee3f013b5 100644 --- a/debian/source/include-binaries +++ b/debian/source/include-binaries @@ -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/favicon.ico 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 diff --git a/debian/usr/share/doc/jitsi-meet-prosody/README b/debian/usr/share/doc/jitsi-meet-prosody/README new file mode 100644 index 000000000..d141f6b71 --- /dev/null +++ b/debian/usr/share/doc/jitsi-meet-prosody/README @@ -0,0 +1 @@ +Prosody configuration for Jitsi Meet diff --git a/debian/usr/share/doc/jitsi-meet-prosody/changelog.Debian.gz b/debian/usr/share/doc/jitsi-meet-prosody/changelog.Debian.gz new file mode 100644 index 000000000..8159f41b6 Binary files /dev/null and b/debian/usr/share/doc/jitsi-meet-prosody/changelog.Debian.gz differ diff --git a/debian/usr/share/doc/jitsi-meet-prosody/copyright b/debian/usr/share/doc/jitsi-meet-prosody/copyright new file mode 100644 index 000000000..06376c2a9 --- /dev/null +++ b/debian/usr/share/doc/jitsi-meet-prosody/copyright @@ -0,0 +1,31 @@ +Format: http://dep.debian.net/deps/dep5 +Upstream-Name: Jitsi Meet +Upstream-Contact: Emil Ivov +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. diff --git a/debian/usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example.gz b/debian/usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example.gz new file mode 100644 index 000000000..5ccfeebc7 Binary files /dev/null and b/debian/usr/share/doc/jitsi-meet-prosody/prosody.cfg.lua-jvb.example.gz differ diff --git a/doc/quick-install.md b/doc/quick-install.md new file mode 100644 index 000000000..8b3869b9a --- /dev/null +++ b/doc/quick-install.md @@ -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.