|
@@ -8,29 +8,14 @@ There are also some complete [example config files](https://github.com/jitsi/jit
|
8
|
8
|
|
9
|
9
|
## Install prosody
|
10
|
10
|
```sh
|
11
|
|
-apt-get install lsb-release
|
12
|
|
-echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list
|
13
|
|
-wget --no-check-certificate https://prosody.im/files/prosody-debian-packages.key -O- | sudo apt-key add -
|
14
|
|
-apt-get update
|
15
|
|
-apt-get install prosody-trunk
|
16
|
|
-apt-get install git lua-zlib lua-sec-prosody lua-dbi-sqlite3 liblua5.1-bitop-dev liblua5.1-bitop0
|
|
11
|
+apt-get install prosody
|
17
|
12
|
```
|
18
|
13
|
|
19
|
14
|
## Configure prosody
|
20
|
|
-Modify the config file in `/etc/prosody/prosody.cfg.lua` (see also the example config file):
|
|
15
|
+Add config file in `/etc/prosody/conf.avail/jitsi.example.com.cfg.lua` :
|
|
16
|
+
|
|
17
|
+- add your domain virtual host section:
|
21
|
18
|
|
22
|
|
-- modules to enable/add: compression, bosh, smacks, carbons, mam, lastactivity, offline, pubsub, adhoc, websocket, http_altconnect
|
23
|
|
-- comment out: `c2s_require_encryption = true`, and `s2s_secure_auth = false`
|
24
|
|
-- change `authentication = "internal_hashed"`
|
25
|
|
-- add this:
|
26
|
|
-```
|
27
|
|
-daemonize = true
|
28
|
|
-cross_domain_bosh = true;
|
29
|
|
-storage = {archive2 = "sql2"}
|
30
|
|
-sql = { driver = "SQLite3", database = "prosody.sqlite" }
|
31
|
|
-default_archive_policy = "roster"
|
32
|
|
-```
|
33
|
|
-- configure your domain by editing the example.com virtual host section section:
|
34
|
19
|
```
|
35
|
20
|
VirtualHost "jitsi.example.com"
|
36
|
21
|
authentication = "anonymous"
|
|
@@ -38,15 +23,15 @@ VirtualHost "jitsi.example.com"
|
38
|
23
|
key = "/var/lib/prosody/jitsi.example.com.key";
|
39
|
24
|
certificate = "/var/lib/prosody/jitsi.example.com.crt";
|
40
|
25
|
}
|
|
26
|
+ modules_enabled = {
|
|
27
|
+ "bosh";
|
|
28
|
+ "pubsub";
|
|
29
|
+ }
|
41
|
30
|
```
|
42
|
31
|
- add domain with authentication for conference focus user:
|
43
|
32
|
```
|
44
|
33
|
VirtualHost "auth.jitsi.example.com"
|
45
|
34
|
authentication = "internal_plain"
|
46
|
|
- ssl = {
|
47
|
|
- key = "/var/lib/prosody/jitsi.example.com.key";
|
48
|
|
- certificate = "/var/lib/prosody/jitsi.example.com.crt";
|
49
|
|
- }
|
50
|
35
|
```
|
51
|
36
|
- add focus user to server admins:
|
52
|
37
|
```
|
|
@@ -61,6 +46,11 @@ Component "focus.jitsi.example.com"
|
61
|
46
|
component_secret = "YOURSECRET2"
|
62
|
47
|
```
|
63
|
48
|
|
|
49
|
+Add link for the added configuration
|
|
50
|
+```sh
|
|
51
|
+ln -s /etc/prosody/conf.avail/jitsi.example.com.cfg.lua /etc/prosody/conf.d/jitsi.example.com.cfg.lua
|
|
52
|
+```
|
|
53
|
+
|
64
|
54
|
Generate certs for the domain:
|
65
|
55
|
```sh
|
66
|
56
|
prosodyctl cert generate jitsi.example.com
|
|
@@ -81,39 +71,28 @@ prosodyctl restart
|
81
|
71
|
apt-get install nginx
|
82
|
72
|
```
|
83
|
73
|
|
84
|
|
-Optionally, add nginx config for domain in `/etc/nginx/nginx.conf`:
|
|
74
|
+Add a new file `jitsi.example.com` in `/etc/nginx/sites-available` (see also the example config file):
|
85
|
75
|
```
|
86
|
|
-tcp_nopush on;
|
87
|
|
-types_hash_max_size 2048;
|
88
|
76
|
server_names_hash_bucket_size 64;
|
89
|
|
-```
|
90
|
77
|
|
91
|
|
-Add a new file `jitsi.example.com` in `/etc/nginx/sites-available` (see also the example config file):
|
92
|
|
-```
|
93
|
78
|
server {
|
94
|
79
|
listen 80;
|
95
|
80
|
server_name jitsi.example.com;
|
96
|
81
|
# set the root
|
97
|
82
|
root /srv/jitsi.example.com;
|
98
|
83
|
index index.html;
|
99
|
|
- location ~ ^/([a-zA-Z0-9]+)$ {
|
|
84
|
+ location ~ ^/([a-zA-Z0-9=\?]+)$ {
|
100
|
85
|
rewrite ^/(.*)$ / break;
|
101
|
86
|
}
|
|
87
|
+ location / {
|
|
88
|
+ ssi on;
|
|
89
|
+ }
|
102
|
90
|
# BOSH
|
103
|
91
|
location /http-bind {
|
104
|
92
|
proxy_pass http://localhost:5280/http-bind;
|
105
|
93
|
proxy_set_header X-Forwarded-For $remote_addr;
|
106
|
94
|
proxy_set_header Host $http_host;
|
107
|
95
|
}
|
108
|
|
- # xmpp websockets
|
109
|
|
- location /xmpp-websocket {
|
110
|
|
- proxy_pass http://localhost:5280;
|
111
|
|
- proxy_http_version 1.1;
|
112
|
|
- proxy_set_header Upgrade $http_upgrade;
|
113
|
|
- proxy_set_header Connection "upgrade";
|
114
|
|
- proxy_set_header Host $host;
|
115
|
|
- tcp_nodelay on;
|
116
|
|
- }
|
117
|
96
|
}
|
118
|
97
|
```
|
119
|
98
|
|
|
@@ -123,12 +102,6 @@ cd /etc/nginx/sites-enabled
|
123
|
102
|
ln -s ../sites-available/jitsi.example.com jitsi.example.com
|
124
|
103
|
```
|
125
|
104
|
|
126
|
|
-## Fix firewall if needed
|
127
|
|
-```sh
|
128
|
|
-ufw allow 80
|
129
|
|
-ufw allow 5222
|
130
|
|
-```
|
131
|
|
-
|
132
|
105
|
## Install Jitsi Videobridge
|
133
|
106
|
```sh
|
134
|
107
|
wget https://download.jitsi.org/jitsi-videobridge/linux/jitsi-videobridge-linux-{arch-buildnum}.zip
|