Installing Bitrix24 On-Premise on a Server
Bitrix24 On-Premise is the boxed version for deployment on your own infrastructure. Unlike the cloud Bitrix24, you manage the server, data, and updates yourself. Installation takes 30-60 minutes with a prepared server.
Server Requirements
Minimum requirements to get started (up to 50 users):
- CPU: 4 cores, RAM: 8 GB, disk: 40 GB SSD
- OS: Ubuntu 20.04/22.04 LTS or CentOS 7/8 (Ubuntu is recommended)
- PHP 8.0-8.2 (version 8.3+ is not yet stable)
- MySQL 5.7+ or MariaDB 10.4+, PostgreSQL is not supported in Bitrix24
- Nginx 1.18+ + PHP-FPM
For 50-200 users: 8 cores, 16 GB RAM, 100 GB SSD. If actively using video calls (Bitrix24 Video Calls) — add 4 GB more RAM.
Installation via BitrixVM or Manual
BitrixVM — ready-made virtual machine image (Vagrant box or VMware/VirtualBox). Downloaded from dev.1c-bitrix.ru. nginx, php-fpm, MySQL are already configured inside. Recommended for quick start and testing.
For production on a dedicated server — manual installation. Official installer bitrixsetup.php:
cd /var/www/html
wget https://www.1c-bitrix.ru/download/bitrix24_eshop.tar.gz
tar xzf bitrix24_eshop.tar.gz
# Then open /bitrixsetup.php in your browser
Before running the installer, configure php.ini:
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time = 300
opcache.enable = 1
opcache.memory_consumption = 128
MySQL Configuration for Bitrix24
Create database and user:
CREATE DATABASE bitrix24 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bitrix'@'localhost' IDENTIFIED BY 'strongpassword';
GRANT ALL PRIVILEGES ON bitrix24.* TO 'bitrix'@'localhost';
FLUSH PRIVILEGES;
In my.cnf add settings for Bitrix24 load:
innodb_buffer_pool_size = 2G # 50-70% of RAM for a dedicated server
innodb_log_file_size = 256M
query_cache_size = 0 # query cache is outdated in MySQL 8, disable it
max_connections = 200
nginx Configuration
Bitrix24 requires specific nginx configuration — standard Laravel/WordPress config doesn't work. Official config is available in the BitrixVM repository. Key blocks:
location / {
try_files $uri $uri/ @bitrix;
}
location @bitrix {
fastcgi_pass php-fpm;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite.php;
}
location ~* ^/bitrix/admin {
# Close from external access by IP or via basic auth
allow 10.0.0.0/8;
deny all;
}
Initial Setup After Installation
After going through the installation wizard (/bitrix/wizard/) be sure to:
-
Set up cron — in
/bitrix/cron_events.phpand for Push server. Without cron, agents don't work, notifications don't arrive - Configure email — in "Settings" → "Mail", otherwise user invitation emails won't be sent
- SSL — Bitrix24 works via HTTPS. For a corporate network you can use a self-signed certificate, for internet access — Let's Encrypt
-
Pusher/push-server — for real-time chat to work. Local push server is raised as a separate daemon, configuration in
push-server/nginx/nginx.conf
File Permissions
Typical post-installation error: files belong to root, but php-fpm runs as www-data. Fix it:
chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
chmod -R 775 /var/www/html/upload /var/www/html/bitrix/cache







