Налаштування Umbraco на .NET: встановлення, БД, reverse proxy, деплой

Відзначимо: коли .NET-розробник стикається із завданням швидко запустити CMS з кастомізацією під бізнес-логіку, вибір часто падає на [Umbraco](https://en.wikipedia.org/wiki/Umbraco). Але стандартне встановлення через `dotnet new` — лише початок. Без правильної конфігурації БД, reverse proxy та моніт

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування Umbraco на .NET: встановлення, БД, reverse proxy, деплой
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1317
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1014
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Відзначимо: коли .NET-розробник стикається із завданням швидко запустити CMS з кастомізацією під бізнес-логіку, вибір часто падає на Umbraco. Але стандартне встановлення через dotnet new — лише початок. Без правильної конфігурації БД, reverse proxy та моніторингу продакшн-стенд розсиплеться під першим навантаженням. Ми це пройшли на 50+ проєктах — від простих лендінгів до порталів з мільйонами запитів. У цій статті покажемо, як уникнути типових помилок та налаштувати Umbraco так, щоб воно працювало стабільно та економно. Замовте налаштування під ключ — і забудьте про проблеми з інфраструктурою.

Чому Umbraco на .NET?

Umbraco — одна з небагатьох CMS, які з коробки підтримують .NET. Це дає повний контроль над продуктивністю: можна використовувати асинхронні запити, кешування через Redis, background jobs з Hangfire. На відміну від PHP-двигунів, Umbraco на .NET обробляє складні дерева контенту до 5 разів швидше — в наших тестах різниця сягала 3–5 разів на операціях з великими обсягами даних. Крім того, використання .NET дозволяє гарантувати uptime на рівні 99,9% при правильній конфігурації.

Типові проблеми при встановленні

Найчастіше новачки спотикаються на трьох речах:

  • Неправильний рядок підключення. Використовують SQLite в продакшені — при зростанні навантаження падають LOCK-помилки. Потрібен SQL Server з TrustServerCertificate=True.
  • Забуті міграції. Після оновлення пакета не запускають міграції — БД залишається старої версії, сипляться exception.
  • Кривий reverse proxy. Без налаштування заголовків X-Forwarded-For втрачаються реальні IP користувачів, падає швидкість через відсутність keep-alive.

Як ми налаштовуємо Umbraco під продакшн

Ми використовуємо єдиний чек-лист, який гарантує стабільність під навантаженням. Розглянемо ключові етапи на прикладі VPS з Ubuntu 22.04 та SQL Server.

Системні вимоги
  • .NET 8 SDK
  • SQL Server 2019+ / SQL Server Express / SQLite (тільки для dev)
  • IIS 10+ / Kestrel + Nginx або Apache
  • Windows Server 2019+ або Linux (Ubuntu 20.04+)
  • Мінімум 2 ГБ RAM, 20 ГБ диска

Встановлення Umbraco через CLI

Для встановлення Umbraco через CLI виконайте наступні команди:

# Шаблон для SQLite (розробка) dotnet new umbraco -n MyProject --friendly-name "Admin" --email [email protected] --password "P@ssw0rd123" --connection-string "Data Source=|DataDirectory|/Umbraco.sqlite.db;Cache=Shared;Foreign Keys=True;Multithread Safety=True" # Шаблон для SQL Server (продакшн) dotnet new umbraco -n MyProject --connection-string "Server=localhost;Database=UmbracoDb;Trusted_Connection=True;TrustServerCertificate=True" 

Конфігурація appsettings.json

Основний файл налаштувань, включаючи підключення до БД та Serilog для логування:

{ "ConnectionStrings": { "umbracoDbDSN": "Server=srv;Database=UmbracoDb;User=sa;Password=secret;TrustServerCertificate=True", "umbracoDbDSN_ProviderName": "Microsoft.Data.SqlClient" }, "Umbraco": { "CMS": { "Global": { "Id": "b9c6e1a1-0000-4000-8000-000000000001", "SendVersionCheckResult": false, "UseHttps": true, "ReservedPaths": "~/.well-known", "MainDomLock": "FileSystemMainDomLock" }, "Security": { "AllowPasswordReset": true, "AuthCookieName": "UMB_UCONTEXT", "UsernameIsEmail": true, "UserPassword": { "RequireDigit": true, "RequireLowercase": true, "RequireNonLetterOrDigit": false, "RequireUppercase": true, "RequiredLength": 10 } }, "Content": { "AllowedUploadFiles": ["jpg", "jpeg", "png", "gif", "webp", "svg", "pdf", "docx"], "MaximumAllowedUploadSizeInBytes": 10485760, "ResolveUrlsFromTextString": false }, "DeliveryApi": { "Enabled": true, "ApiKey": "your-secret-key-here" } } }, "Serilog": { "MinimumLevel": { "Default": "Warning", "Override": { "Microsoft": "Warning", "Umbraco": "Warning" } }, "WriteTo": [ { "Name": "File", "Args": { "path": "umbraco/Logs/UmbracoTraceLog.txt", "rollingInterval": "Day", "retainedFileCountLimit": 14 } } ] } } 

При правильному налаштуванні ви зможете заощадити до 30% на хостингових ресурсах за рахунок оптимізації кешування та стиснення. А завдяки автоматизації деплою витрати на супровід знижуються ще на 20–30%.

Налаштування веб-сервера

IIS — стандартний вибір для Windows. Додаємо handler для ASP.NET Core:

<!-- web.config --> <?xml version="1.0" encoding="utf-8"?> <configuration> <location path="." inheritInChildApplications="false"> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\MyProject.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess"> <environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Production" /> </environmentVariables> </aspNetCore> </system.webServer> </location> </configuration> 

Nginx + systemd на Linux:

server { listen 443 ssl http2; server_name mysite.com; ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem; client_max_body_size 20M; location / { proxy_pass http://127.0.0.1:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; } location /media/ { alias /var/www/mysite/wwwroot/media/; expires 30d; add_header Cache-Control "public, immutable"; } } 
# /etc/systemd/system/mysite.service [Unit] Description=MyProject Umbraco site After=network.target [Service] WorkingDirectory=/var/www/mysite ExecStart=/usr/bin/dotnet /var/www/mysite/MyProject.dll Restart=always RestartSec=10 KillSignal=SIGINT SyslogIdentifier=mysite User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target 

Активуємо сервіс: systemctl enable mysite && systemctl start mysite. У рекомендаціях Microsoft по розгортанню ASP.NET Core вказані вимоги до reverse proxy.

Оновлення та бекапи

Для оновлення пакета виконайте команду dotnet add package Umbraco.Cms --version <версія>, потім запустіть проєкт — міграції застосуються автоматично. У продакшені спочатку запустіть міграції окремо: dotnet umbraco migrate. Бекап БД та папки wwwroot/media/ — обов'язковий етап перед оновленням.

Що входить в роботу

Компонент Опис
Вибір хостингу Підбір тарифу VPS, встановлення ОС, налаштування брандмауера.
Встановлення Umbraco Через CLI або Visual Studio, створення адміністратора, налаштування backoffice.
Конфігурація БД Налаштування SQL Server, оптимізація індексів, планувальник бекапів.
Web-сервер Налаштування Nginx/IIS, SSL-сертифікат, HTTP/2, gzip.
Моніторинг та логи Serilog, налаштування ротації логів, алерти на помилки.
Документація та навчання Передача доступів, інструкція з адміністрування, навчання редакторів.

Процес роботи

  1. Аналітика — обговорюємо вимоги, навантаження, стек технологій.
  2. Проектування — обираємо хостинг, reverse proxy, схему БД.
  3. Реалізація — встановлення та налаштування за чек-листом, включаючи автоматизацію деплою.
  4. Тестування — навантажувальне тестування, перевірка міграцій, швидкості відгуку.
  5. Деплой — перемикання на продакшн, моніторинг перших годин роботи.
  6. Підтримка — передача документації, гарантійне обслуговування.

Строки та вартість

Встановлення на VPS з Nginx та SQL Server, налаштування backoffice та першого адміністратора — від 1 дня. Повний цикл з SSL, systemd-сервісом, налаштуванням бекапів та базовими типами контенту — 2–3 дні. Вартість розраховується індивідуально — зв'яжіться з нами, щоб отримати консультацію та точну оцінку.

Коли потрібен SQL Server замість SQLite?

Критерій SQLite SQL Server
Продуктивність Низька при конкурентному доступі Висока, підтримка транзакцій
Резервне копіювання Файловий backup Online backup, point-in-time
Надійність Немає вбудованої реплікації Always On, кластеризація
Рекомендація Тільки розробка Продакшн будь-якої складності

Ми гарантуємо стабільну роботу вашого Umbraco-проєкту завдяки досвіду сертифікованих інженерів. Замовте налаштування під ключ — і забудьте про проблеми з інфраструктурою. Отримайте консультацію по вашому проєкту — ми підберемо оптимальну конфігурацію.