Requirements
What the server needs before the first upload. Any ordinary cPanel, Plesk or DirectAdmin hosting plan of the last few years is enough; a VPS with nginx works too.
The server
- PHP 8.1 or newer (8.2 and 8.3 are fine).
- MySQL 5.7+ or MariaDB 10.4+, with one empty database and a user that has all rights on it.
- Apache with mod_rewrite (the
.htaccessin the package does the rest), LiteSpeed, or nginx with the server block fromdocs/nginx.conf.txt. - No Composer, no Node.js, no command line needed. Everything is done in the browser.
PHP extensions
| Extension | Needed for | Required |
|---|---|---|
| pdo_mysql | the database | yes |
| mbstring | text in every language | yes |
| json | settings and the API | yes |
| gd | pictures, thumbnails, avatars | yes |
| curl | licence check, link previews, updates | recommended |
| openssl | SMTP over TLS, secure tokens | recommended |
| fileinfo | checking what an uploaded file really is | recommended |
| zip | installing plugins, themes and updates from the admin panel | recommended |
The installer checks every one of these on its first screen and tells you which is missing. On cPanel you switch extensions on under Select PHP Version → Extensions.
Folders that must be writable
uploads/ and cache/, and the site folder itself while the installer writes config.php. Permissions 755 for folders and 644 for files are right on almost every host.
Optional
- FFmpeg — converts uploaded videos to MP4 and makes their thumbnails. Without it videos are stored as they were uploaded. Set the path on Admin → Settings → Posts & uploads.
- HTTPS — required by browsers for audio and video calls, for the camera in stories and for the installable app. A free Let's Encrypt certificate is enough.
- A cron job — one line, every minute. Without one the site still works: jobs run on page views instead. See the chapter Scheduled jobs.
- A TURN server — only when many of your members sit behind strict mobile networks and calls do not connect. See the chapter Messenger and calls.
Upload limits
How large a photo or video a member can upload is the smaller of two things: the limit you set on Admin → Settings → Posts & uploads, and PHP's own upload_max_filesize / post_max_size. Raise the PHP values in MultiPHP INI Editor (cPanel) when members cannot upload large videos. Admin → System status shows the values PHP is using right now.