Recently, a client decided to migrate Bitrix24 from the cloud to their own server. At the installation stage, they encountered a MySQL error: tables were not created due to incorrect encoding. Agents did not start because cron was missing, push notifications were silent—the daemon was not running. We fixed everything in one day. Such situations are our routine. Over years of experience, we have installed on-premise Bitrix24 on 50+ servers and know every pitfall. Each project is unique, but key issues recur: wrong file permissions, misconfigured nginx, missed MySQL setup step. A clear plan and understanding of the platform's internals help avoid them.
How to Install Bitrix24 On-Premise on a Server Correctly
Proper installation of Bitrix24 On-Premise is not just unpacking an archive. It involves configuring the server environment, database, web server, and background processes. The result is stable operation without failures even under peak loads.
Server Requirements
| Users | CPU | RAM | Disk (SSD) |
|---|---|---|---|
| Up to 50 | 4 cores | 8 GB | 40 GB |
| 50–200 | 8 cores | 16 GB | 100 GB |
| 200+ | 16+ cores | 32+ GB | 200+ GB |
OS: Ubuntu 20.04/22.04 LTS (recommended) or CentOS 7/8. PHP 8.0–8.2, MySQL 5.7/MariaDB 10.4+, Nginx 1.18+ + PHP-FPM. PostgreSQL is not supported.
BitrixVM or Manual Installation: Which to Choose?
| Criterion | BitrixVM | Manual Installation |
|---|---|---|
| Deployment speed | 15–20 minutes | 1–2 days |
| Configuration flexibility | Limited | Full |
| Suitable for | Testing, small business | Production for medium and large companies |
| Version control | Fixed package set | Own version choice |
BitrixVM is a ready-made virtual machine image (Vagrant box or VMware/VirtualBox) with pre-installed nginx, php-fpm, MySQL. It is ideal for quick start but offers little flexibility. Manual installation provides full control over configuration. Official installer bitrixsetup.php: run wget https://www.1c-bitrix.ru/download/bitrix24_eshop.tar.gz, unpack, open /bitrixsetup.php in browser. Before running, 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 According to official 1C-Bitrix documentation, a properly configured server with 8 cores and 16 GB RAM serves up to 500 users without performance loss.
How to Configure MySQL and nginx for Load?
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:
innodb_buffer_pool_size = 2G # 50-70% of RAM innodb_log_file_size = 256M query_cache_size = 0 # disable in MySQL 8 max_connections = 200 nginx configuration is critical—standard Laravel/WordPress setups do not work. 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 { allow 10.0.0.0/8; deny all; } More details in official nginx setup documentation. Without specific URL rules, pages will not load.
How to Start Agents and Push Server?
After the setup wizard, you must:
- Configure cron: add a task to run
/bitrix/cron_events.phpevery minute. - Start the push server—a separate daemon for chat and notifications. Configuration in
push-server/nginx/nginx.conf. Instructions at helpdesk.bitrix24.ru. - Set up mail (Settings → Mail), otherwise invitation emails will not be sent.
- Install SSL—via Let's Encrypt or self-signed certificate.
A common post-installation error is incorrect file permissions. After installation, files often belong to root while php-fpm runs as www-data. Fix:
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 Also configure tagged caching—this reduces MySQL load by a factor of 2–3.
Why On-Premise Is Better Than Cloud?
On-Premise gives you full control over data and updates. You do not share resources with other tenants during peak loads. The cost savings compared to the cloud version over three years can be substantial. For companies with strict security requirements, it is the only option. Moving to your own infrastructure pays off within 6–8 months of active use.
What Is Included in Turnkey Installation
| Stage | What We Do |
|---|---|
| Analysis | Load assessment, server selection, migration plan |
| Preparation | Install OS, PHP, MySQL, Nginx, configure firewall |
| Installation | Deploy Bitrix24, configure agents and push |
| Integration | 1C (CommerceML), payment systems, CDEK |
| Optimization | Caching, tagged cache, MySQL tuning |
| Testing | Load testing, check all modules |
| Handover | Documentation, access, admin training |
Process and Timeline
A standard project takes from 2 to 7 business days depending on complexity. It includes:
- Analysis and planning (1–2 days)
- Installation and configuration (1–3 days)
- Integrations and testing (1–2 days)
- Handover and consultation (1 day)
Pricing is calculated individually. Contact us for a preliminary project estimate. Order professional installation today—get a stable Bitrix24 that won't crash on a Friday evening.
Why Trust Professionals with Installation?
Improper installation leads to slow performance, agent failures, and data leaks. Our years of experience allow us to avoid these issues. With us, you get a production-ready system with stability guarantee. Get a consultation—we will find the optimal configuration for your budget and load.







