|
@@ -1,9 +1,6 @@
|
1
|
1
|
# Server Installation for Jitsi Meet
|
2
|
2
|
|
3
|
|
-
|
4
|
|
-:warning: **WARNING:** Manual installation is not recommended. We recommend following the [quick-install](https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md) document. The current document describes the steps that are needed to install a working deployment, but steps are easy to mess up, and the debian packages are more up-to-date, where this document sometimes is not updated to latest changes.
|
5
|
|
-
|
6
|
|
-
|
|
3
|
+:warning: **WARNING:** Manual installation is not recommended. We recommend following the [quick-install](https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md) document. The current document describes the steps that are needed to install a working deployment, but steps are easy to mess up, and the debian packages are more up-to-date, where this document is sometimes not updated to reflect latest changes.
|
7
|
4
|
|
8
|
5
|
This describes configuring a server `jitsi.example.com` running Debian or a Debian Derivative. You will need to
|
9
|
6
|
change references to that to match your host, and generate some passwords for
|
|
@@ -22,7 +19,7 @@ This is how the network looks:
|
22
|
19
|
443 |
|
23
|
20
|
+-------+ |
|
24
|
21
|
| | |
|
25
|
|
- | NginX | |
|
|
22
|
+ | Nginx | |
|
26
|
23
|
| | |
|
27
|
24
|
+--+-+--+ |
|
28
|
25
|
| | |
|
|
@@ -31,7 +28,7 @@ This is how the network looks:
|
31
|
28
|
| jitsi-meet +<---+ +--->+ prosody/xmpp | |
|
32
|
29
|
| |files 5280 | | |
|
33
|
30
|
+------------+ +--------------+ v
|
34
|
|
- 5222,5347^ ^5347 4443
|
|
31
|
+ 5222,5347^ ^5347 4443,10000
|
35
|
32
|
+--------+ | | +-------------+
|
36
|
33
|
| | | | | |
|
37
|
34
|
| jicofo +----^ ^----+ videobridge |
|
|
@@ -112,7 +109,7 @@ Restart prosody XMPP server with the new config
|
112
|
109
|
prosodyctl restart
|
113
|
110
|
```
|
114
|
111
|
|
115
|
|
-## Install nginx
|
|
112
|
+## Install Nginx
|
116
|
113
|
```sh
|
117
|
114
|
apt-get install nginx
|
118
|
115
|
```
|
|
@@ -122,12 +119,13 @@ Add a new file `jitsi.example.com` in `/etc/nginx/sites-available` (see also the
|
122
|
119
|
server_names_hash_bucket_size 64;
|
123
|
120
|
|
124
|
121
|
server {
|
125
|
|
- listen 443;
|
|
122
|
+ listen 0.0.0.0:443 ssl http2;
|
|
123
|
+ listen [::]:443 ssl http2;
|
126
|
124
|
# tls configuration that is not covered in this guide
|
127
|
125
|
# we recommend the use of https://certbot.eff.org/
|
128
|
126
|
server_name jitsi.example.com;
|
129
|
127
|
# set the root
|
130
|
|
- root /srv/jitsi.example.com;
|
|
128
|
+ root /srv/jitsi-meet;
|
131
|
129
|
index index.html;
|
132
|
130
|
location ~ ^/([a-zA-Z0-9=\?]+)$ {
|
133
|
131
|
rewrite ^/(.*)$ / break;
|
|
@@ -152,6 +150,7 @@ ln -s ../sites-available/jitsi.example.com jitsi.example.com
|
152
|
150
|
```
|
153
|
151
|
|
154
|
152
|
## Install Jitsi Videobridge
|
|
153
|
+Visit https://download.jitsi.org/jitsi-videobridge/linux to determine the current build number, download and unzip it:
|
155
|
154
|
```sh
|
156
|
155
|
wget https://download.jitsi.org/jitsi-videobridge/linux/jitsi-videobridge-linux-{arch-buildnum}.zip
|
157
|
156
|
unzip jitsi-videobridge-linux-{arch-buildnum}.zip
|
|
@@ -164,9 +163,10 @@ apt-get install openjdk-8-jre
|
164
|
163
|
|
165
|
164
|
_NOTE: When installing on older Debian releases keep in mind that you need JRE >= 1.7._
|
166
|
165
|
|
167
|
|
-In the user home that will be starting Jitsi Videobridge create `.sip-communicator` folder and add the file `sip-communicator.properties` with one line in it:
|
168
|
|
-```
|
169
|
|
-org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
|
|
166
|
+Create `~/.sip-communicator/sip-communicator.properties` in the home folder of the user that will be starting Jitsi Videobridge:
|
|
167
|
+```sh
|
|
168
|
+mkdir -p ~/.sip-communicator
|
|
169
|
+echo "org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false" > ~/.sip-communicator/sip-communicator.properties
|
170
|
170
|
```
|
171
|
171
|
|
172
|
172
|
Start the videobridge with:
|
|
@@ -191,7 +191,7 @@ Clone source from Github repo:
|
191
|
191
|
```sh
|
192
|
192
|
git clone https://github.com/jitsi/jicofo.git
|
193
|
193
|
```
|
194
|
|
-Build distribution package. Replace {os-name} with one of: 'lin', 'lin64', 'macosx', 'win', 'win64'.
|
|
194
|
+Build the package.
|
195
|
195
|
```sh
|
196
|
196
|
cd jicofo
|
197
|
197
|
mvn package -DskipTests -Dassembly.skipAssembly=false
|
|
@@ -199,8 +199,8 @@ mvn package -DskipTests -Dassembly.skipAssembly=false
|
199
|
199
|
Run jicofo:
|
200
|
200
|
```sh
|
201
|
201
|
=======
|
202
|
|
-unzip target/jicofo-{os-name}-1.0-SNAPSHOT.zip
|
203
|
|
-cd jicofo-{os-name}-1.0-SNAPSHOT'
|
|
202
|
+unzip target/jicofo-1.1-SNAPSHOT-archive.zip
|
|
203
|
+cd jicofo-1.1-SNAPSHOT-archive'
|
204
|
204
|
./jicofo.sh --host=localhost --domain=jitsi.example.com --secret=YOURSECRET2 --user_domain=auth.jitsi.example.com --user_name=focus --user_password=YOURSECRET3
|
205
|
205
|
```
|
206
|
206
|
|
|
@@ -209,13 +209,12 @@ Checkout and configure Jitsi Meet:
|
209
|
209
|
```sh
|
210
|
210
|
cd /srv
|
211
|
211
|
git clone https://github.com/jitsi/jitsi-meet.git
|
212
|
|
-mv jitsi-meet/ jitsi.example.com
|
213
|
|
-cd jitsi.example.com
|
|
212
|
+cd jitsi-meet
|
214
|
213
|
npm install
|
215
|
214
|
make
|
216
|
215
|
```
|
217
|
216
|
|
218
|
|
-Edit host names in `/srv/jitsi.example.com/config.js` (see also the example config file):
|
|
217
|
+Edit host names in `/srv/jitsi-meet/config.js` (see also the example config file):
|
219
|
218
|
```
|
220
|
219
|
var config = {
|
221
|
220
|
hosts: {
|
|
@@ -231,15 +230,19 @@ var config = {
|
231
|
230
|
};
|
232
|
231
|
```
|
233
|
232
|
|
234
|
|
-Restart nginx to get the new configuration:
|
|
233
|
+Verify that nginx config is valid and reload nginx:
|
235
|
234
|
```sh
|
236
|
|
-invoke-rc.d nginx restart
|
|
235
|
+nginx -t && nginx -s reload
|
237
|
236
|
```
|
238
|
237
|
|
239
|
238
|
## Running behind NAT
|
240
|
|
-Jitsi-Videobridge can run behind a NAT, provided that all required ports are routed (forwarded) to the machine that it runs on. By default these ports are (TCP/443 or TCP/4443 and UDP 10000).
|
|
239
|
+Jitsi Videobridge can run behind a NAT, provided that both required ports are routed (forwarded) to the machine that it runs on. By default these ports are `TCP/4443` and `UDP/10000`.
|
|
240
|
+
|
|
241
|
+If you do not route these two ports, Jitsi Meet will only work with video for two people, breaking upon 3 or more people trying to show video.
|
241
|
242
|
|
242
|
|
-The following extra lines need to be added the file `~/.sip-communicator/sip-communicator.properties` (in the home directory of the user running the videobridge):
|
|
243
|
+`TCP/443` is required for the webserver which can be running on another machine than the Jitsi Videobrige is running on.
|
|
244
|
+
|
|
245
|
+The following extra lines need to be added to the file `~/.sip-communicator/sip-communicator.properties` (in the home directory of the user running the videobridge):
|
243
|
246
|
```
|
244
|
247
|
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
|
245
|
248
|
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
|
|
@@ -248,6 +251,5 @@ org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
|
248
|
251
|
# Hold your first conference
|
249
|
252
|
You are now all set and ready to have your first meet by going to http://jitsi.example.com
|
250
|
253
|
|
251
|
|
-
|
252
|
254
|
## Enabling recording
|
253
|
|
-[Jibri](https://github.com/jitsi/jibri)is a set of tools for recording and/or streaming a Jitsi Meet conference.
|
|
255
|
+[Jibri](https://github.com/jitsi/jibri) is a set of tools for recording and/or streaming a Jitsi Meet conference.
|