You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: INSTALL.md
+46-25Lines changed: 46 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,6 @@
1
1
# OpenBroadcaster - Server Installation Instructions
2
2
3
+
3
4
## Dependencies
4
5
5
6
- A web server with a web environment available (e.g., Apache, Nginx)
@@ -8,6 +9,7 @@
8
9
- Composer (PHP dependency manager)
9
10
- Node.js and npm (Node Package Manager)
10
11
12
+
11
13
## Required PHP Modules
12
14
13
15
Make sure the following PHP modules are installed and enabled (listed as Ubuntu/Debian packages):
@@ -19,6 +21,7 @@ Make sure the following PHP modules are installed and enabled (listed as Ubuntu/
19
21
- php-curl (for making HTTP requests)
20
22
- php-imagick (for advanced image processing)
21
23
24
+
22
25
## Required Packages
23
26
24
27
Install the following Ubuntu/Debian packages, or the equivalent for your operating system.
@@ -30,6 +33,7 @@ Install the following Ubuntu/Debian packages, or the equivalent for your operati
30
33
- libavfilter-extra (extra filters for ffmpeg)
31
34
- vorbis-tools (for Ogg Vorbis audio encoding)
32
35
36
+
33
37
## Installation Steps
34
38
35
39
1. Copy the OpenBroadcaster Server files to your web server's document root directory.
@@ -64,41 +68,28 @@ tools/cli/ob passwd admin
64
68
65
69
8. Set up a service (or similar) to run required background tasks such as generating thumbnails and cache management. This service should ensure that `tools/cli/ob cron monitor` is running continuously.
66
70
67
-
9. To improve performance, set one of the OB_SENDFILE_HEADER following values in `config.php`. Ensure your web server and site configuration supports this (see Nginx example below).
71
+
9. To improve performance, uncomment the `OB_SENDFILE_HEADER` line appropriate for your webserver in `config.php`. Ensure your web server and site configuration supports this (see Nginx example below).
68
72
69
73
```
70
-
define('OB_SENDFILE_HEADER', 'X-Sendfile'); // set appropriate SENDFILE header based on server (apache)
71
-
define('OB_SENDFILE_HEADER', 'X-Accel-Redirect'); // set appropriate SENDFILE header based on server (nginx)
72
-
define('OB_SENDFILE_HEADER', 'X-LIGHTTPD-send-file'); // set appropriate SENDFILE header based on server (lighttpd)
74
+
// define('OB_SENDFILE_HEADER', 'X-Sendfile'); // set appropriate SENDFILE header based on server (apache)
75
+
// define('OB_SENDFILE_HEADER', 'X-Accel-Redirect'); // set appropriate SENDFILE header based on server (nginx)
76
+
// define('OB_SENDFILE_HEADER', 'X-LIGHTTPD-send-file'); // set appropriate SENDFILE header based on server (lighttpd)
73
77
```
74
78
75
-
## Example Service
76
79
77
-
As an example for step 8, set up a service, `/etc/systemd/system/ob.service`, as follows. Be sure to update the `ExecStart` path and `User` as necessary.
80
+
## PHP Configuration
78
81
79
-
```
80
-
[Unit]
81
-
Description=OB Background Tasks
82
-
After=network.target
82
+
A default PHP installation is generally adequate, though you will likely want to increase these values:
| post_max_size | 1024M | Increase max post size to handle file uploads |
90
88
91
-
[Install]
92
-
WantedBy=multi-user.target
93
-
```
89
+
Note that increasing `upload_max_filesize` should not be necessary given how OpenBroadcaster handles file uploads.
94
90
95
-
Then enable and start the service (as root or with sudo):
91
+
Additionally, ensure that PHP runs as a user that has write access to paths specified in `config.php`.
96
92
97
-
```
98
-
systemctl daemon-reload
99
-
systemctl enable ob
100
-
systemctl start ob
101
-
```
102
93
103
94
## Nginx Configuration
104
95
@@ -150,6 +141,36 @@ server {
150
141
}
151
142
152
143
# allow larger data posts and file uploads
144
+
# this should have the same value as PHP's post_max_size
153
145
client_max_body_size 1024M;
154
146
}
155
147
```
148
+
149
+
150
+
## Service Configuration
151
+
152
+
As an example for step 8, set up a service, `/etc/systemd/system/ob.service`, as follows. Be sure to update the `ExecStart` path and `User` as necessary.
153
+
154
+
```
155
+
[Unit]
156
+
Description=OB Background Tasks
157
+
After=network.target
158
+
159
+
[Service]
160
+
Type=simple
161
+
User=obuser
162
+
ExecStart=/path/to/ob/tools/cli/ob cron monitor
163
+
Restart=always
164
+
RestartSec=10
165
+
166
+
[Install]
167
+
WantedBy=multi-user.target
168
+
```
169
+
170
+
Then enable and start the service (as root or with sudo):
0 commit comments