Magento 2 / Adobe Commerce Setup: Complete Configuration Cycle

Magento 2 / Adobe Commerce Setup: Complete Configuration Cycle

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1285
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    982
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    1033
  • image_website-sbh_0.webp
    Website development for SBH Partners
    1104
  • image_website-_0.webp
    Website development for Red Pear
    554

Magento 2 / Adobe Commerce Setup: Complete Configuration Cycle

You have purchased a Magento 2 license (or use Community), prepared a server, but the site either doesn't start or runs slowly? The typical culprit is an incompatible stack: wrong PHP version, missing bcmath extension, or incorrect Redis configuration for session cache. These errors may not appear on staging, but under production load with 5000+ daily visitors, they cause timeouts and crashes. We have deployed Magento 2 for dozens of projects — from small online stores to catalogs with 200,000 SKUs. Our experience ensures stable operation from day one. Misconfiguration of the stack often incurs an average of $400 in additional rework costs.

Beyond the obvious components (PHP, MySQL, Nginx), critical are Elasticsearch/OpenSearch for fulltext search, Redis for cache and sessions, and proper Varnish configuration (if used). Without them, performance drops by 30-50%, and Core Web Vitals will fail any tool. In this article, we show the exact configuration of each stack element. Official Magento documentation recommends PHP 8.2 with OpCache enabled and at least 2G memory for production Magento DevDocs.

Why the right stack matters for Magento 2

Magento 2 demands a precise set of components. Using the wrong PHP version or skipping an extension leads to fatal errors. For example, without bcmath, financial modules fail; without opcache, performance drops by 30-50%. We configure each stack element to match your load.

Server preparation

Minimum requirements for dev/staging and recommended for production (up to 50,000 SKUs, average load) are summarized in the table.

Component Dev/Staging Production
vCPU 4 8
RAM 8 GB 16 GB
SSD 50 GB 100 GB
Additional Separate MySQL and Elasticsearch servers

Stack installation

# Nginx apt install nginx -y && systemctl enable nginx # PHP 8.2 + extensions add-apt-repository ppa:ondrej/php -y && apt update apt install php8.2-fpm php8.2-bcmath php8.2-ctype php8.2-curl php8.2-dom php8.2-fileinfo php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysqlnd php8.2-opcache php8.2-pdo php8.2-simplexml php8.2-soap php8.2-xsl php8.2-zip php8.2-sockets -y # MySQL 8.0 apt install mysql-server -y && mysql_secure_installation # Redis apt install redis-server -y # OpenSearch 2.x (replaces Elasticsearch) wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.11.0/opensearch-2.11.0-linux-x64.tar.gz && \ tar -xzf opensearch-2.11.0-linux-x64.tar.gz && \ nano /etc/opensearch/opensearch.yml # Set: cluster.name: magento, network.host: 127.0.0.1, http.port: 9200, plugins.security.disabled: true (only for dev) # Composer curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer 

PHP configuration

# /etc/php/8.2/fpm/pool.d/magento.conf [magento] user = www-data group = www-data listen = /run/php/php8.2-fpm-magento.sock pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 pm.max_requests = 500 # php.ini settings memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On opcache.enable = 1 opcache.memory_consumption = 512 opcache.max_accelerated_files = 60000 opcache.consistency_checks = 0 opcache.validate_timestamps = 0 ; only in prod (in dev = 1) 

How to configure Redis for maximum performance

Redis handles three cache types: sessions, blocks (cache), and pages. During Magento installation, you can assign separate Redis databases for each type. After installation, the configuration resides in app/etc/env.php. For high load, use a dedicated Redis server or cluster. Redis parameters are set in the installation command — we show that below.

Comparison of caching systems

Criterion Redis Varnish
Cache type Data cache (sessions, blocks) HTTP cache (full pages)
Performance Fast key read/write Caches HTML responses
Complexity Simple setup Requires Magento tweaks
Usage Mandatory in Magento 2 Recommended for high loads

How to install Magento 2: step-by-step guide

  1. Prepare the server: install LEMP stack, PHP 8.2 with extensions, MySQL, Redis, OpenSearch.
  2. Create a Magento project via Composer (requires API keys from account.magento.com).
  3. Set up the database and file permissions.
  4. Run the installation, specifying Redis and OpenSearch connections.
  5. Configure production mode and indexing.

Magento installation via Composer and post-setup

# Create project composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.7-p3 /var/www/magento cd /var/www/magento chown -R www-data:www-data . chmod -R 775 var generated pub/static pub/media # Create database mysql -u root -e "CREATE DATABASE magento CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'magento'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL ON magento.* TO 'magento'@'localhost'; FLUSH PRIVILEGES;" # Install bin/magento setup:install --base-url="https://myshop.example.com/" --db-host="localhost" --db-name="magento" --db-user="magento" --db-password="StrongPassword123!" --admin-firstname="Admin" --admin-lastname="User" --admin-email="[email protected]" --admin-user="admin_secure_name" --admin-password="Admin@Secure123!" --language="ru_RU" --currency="RUB" --timezone="Europe/Moscow" --use-rewrites=1 --search-engine="opensearch" --opensearch-host="127.0.0.1" --opensearch-port=9200 --session-save="redis" --session-save-redis-host="127.0.0.1" --session-save-redis-db=1 --cache-backend="redis" --cache-backend-redis-server="127.0.0.1" --cache-backend-redis-db=2 --page-cache="redis" --page-cache-redis-server="127.0.0.1" --page-cache-redis-db=3 --backend-frontname="admin_$(openssl rand -hex 4)" # Mode, indexes, cron bin/magento deploy:mode:set production bin/magento indexer:set-mode schedule bin/magento indexer:reindex bin/magento cron:install bin/magento module:disable Magento_TwoFactorAuth # only for dev bin/magento cache:flush 
Sample Nginx configuration
server { listen 80; server_name myshop.example.com; set $MAGE_ROOT /var/www/magento; root $MAGE_ROOT/pub; index index.php; include /var/www/magento/nginx.conf.sample; location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm-magento.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } 

What our work includes

We do not merely install Magento 2. Our service includes full LEMP stack configuration tailored to your environment, optimization of PHP-FPM, Redis, and OpenSearch for high load, Nginx tuning with FastCGI cache and brotli compression, setting up cron and monitoring (New Relic, Prometheus), data migration from Magento 1 or other CMS with intermediate testing, and delivery of deployment documentation and credentials. We guarantee that after installation your store will pass Core Web Vitals and be ready for up to 10,000 daily visitors. Contact us for a detailed consultation on Magento 2 setup — we will analyze your project and propose the optimal configuration.

Timelines

Installation on a prepared server with basic configuration and migration: 1–2 days. If it includes server setup from scratch, SSL, Nginx, Redis, OpenSearch, monitoring, and backups: 3–5 days. Migration from Magento 1 or another platform: a separate project, 2–8 weeks. Cost is determined after individual assessment.

Get a custom estimate — our engineers will evaluate your load and propose the best solution.