Установка ODataDB
ODataDB - это кроссплатформенное приложение, реализованное на платформе веб-сервера Kestrel в ASP.NET Core.
Kestrel можно использовать отдельно или с обратным прокси-сервером, таким как IIS, Nginx или Apache.
Ниже приведены полезные ссылки на материалы по установке и настройке приложений ASP.NET Core в различных сценариях:
- Размещение ASP.NET Core в Windows со службами IIS
- Среда размещения ASP.NET Core в операционной системе Linux с Nginx
- Размещение ASP.NET Core в операционной системе Linux с Apache
- Реализация веб-сервера Kestrel в ASP.NET Core
В данной статье приведены краткие руководства по установке ODataDB.
Установка ODataDB в Windows
- Включите компонент IIS.
- Установите пакет ASP.NET Core Runtime 8.0 Hosting Bundle.
- Перезапустите IIS.
- Скопируйте подкаталог odatadb из загруженного пакета ODataDB на локальный диск. Например, в папку C:\inetpub.
- Добавьте строки подключения к вашим базам данных в файл конфигурации appsettings.
- Создайте пул приложений ODataDB.
- Создайте приложение или веб-сайт ODataDB.
Ниже приведены комментарии к шагам 6-7.
Создание пула приложений ODataDB
Для создания пула приложений откройте Диспетчер служб IIS (IIS Manager), выберите Пулы приложений (Application Pools), и выберите действие Добавить пул приложений... (Add Application Pool...).
Используйте представленные ниже значения:
- Name:
odatadb
- .NET CLR version:
No Managed Code
- Managed pipeline code:
Integrated
Создание веб-сайта ODataDB
Используйте этот подход для создания поддоменов, как, например, odatadb.contoso.com
или локального домена odatadb
, доступного как https://odatadb/.
В последнем случае, добавьте следующую строку в файл c:\windows\system32\drivers\etc\hosts
:
127.0.0.1 odatadb
Для создания веб-сайта выберите узел Сайты (Sites) и выберите действие Добавить веб-сайт... (Add Website...)
Используйте следующие значения:
Помните, что важно выбрать пул приложений odatadb, созданный на предыдущем этапе.
Для тестирования локального веб-сайта введите URL:
http://odatadb/
Вы должны видеть домашнюю страницу.
Например, попробуйте работу с таблицей cashbook
примера mssql-023
, размещенного в онлайн базе данных SQL Server:
Настройка сертификата HTTPS в Windows
Не используйте ODataDB по протоколу HTTP, т.к. браузеры отсылают логины и пароли в открытом виде.
Всегда включайте протокол HTTPS и перенаправляйте запросы HTTP на HTTPS.
Ниже приведены шаги по созданию самозаверенного сертификата.
- Откройте Windows PowerShell (Admin) и выполните команду:
New-SelfSignedCertificate -NotBefore (Get-Date) -NotAfter (Get-Date).AddYears(5) -DnsName "localhost", "odatadb" -KeyAlgorithm "RSA" -KeyLength 2048 -HashAlgorithm "SHA256" -CertStoreLocation "Cert:\LocalMachine\My" -KeyUsage KeyEncipherment -FriendlyName "ODataDB Certificate" -TextExtension @("2.5.29.19={critical}{text}","2.5.29.37={critical}{text}1.3.6.1.5.5.7.3.1")
Эта команда создает самозаверенный сертификат для localhost и odatadb. См. подробности в статье New-SelfSignedCertificate
Откройте оснастку
certlm.msc
и скопируйте сертификат ODataDB из папки личных сертификатов (Personal Certificates) в папку Доверенные корневые центры сертификации (Trusted Root Certification Authorities).Откройте Диспетчер служб IIS (IIS Manager), выберите Default Web Site и его Привязки... (Bindings...).
Выберите https, нажмите Изменить... (Edit...), и выберите сертификат ODataDB в списке сертификатов SSL. Нажмите OK.
Для отмены изменений, восстановите начальный сертификат, а потом удалите сертификат ODataDB, используя оснастку certlm.msc
.
Создание приложения ODataDB
Используйте этот метод для создания приложения типа www.contoso.com/odatadb/
или localhost/odatadb/
.
Чтобы создать приложение, выберите узел требуемого веб-сайта, кликните правой кнопкой мыши, и выберите действие Добавить приложение... (Add Application...).
Затем используйте следующие значения:
Помните, что важно выбрать пул приложений odatadb, созданный на предыдущем этапе.
Для тестирования приложения на вашем компьютере, введите URL:
http://localhost/odatadb/
Вы должны видеть домашнюю страницу примеров. Попробуйте. ODataDB загружает данные из онлайн базы данных SQL Server.
Например, попробуйте работу с таблицей s02_cashbook:
С сведению, ODataDB заменяет строки <base href="/">
на <base href="/odatadb/">
для приложений IIS.
Установка ODataDB в Linux
Ниже приведены подробные руководства:
- Размещение ASP.NET Core в операционной системе Linux с Nginx
- Размещение ASP.NET Core в операционной системе Linux с Apache
В целом, требуется выполнение следующих шагов:
- Установите ASP.NET Core Runtime 8.0.
- Скопируйте подкаталог odatadb из загруженного пакета ODataDB в папку /var/www.
- Добавьте строки подключения к вашим базам данных в файл конфигурации appsettings.
- Проверьте и измените, по необходимости, порт по умолчанию 5002 на требуемый в файле appsettings.
- Создайте файл службы для управления Kestrel и сделайте службу.
- Создайте поддомен ODataDB.
- Настройки сертификат HTTPS.
Ниже приведены комментарии к шагам 5-7.
Создание файла службы для управления Kestrel
По ссылке приведено полное руководство: Создание файла службы
Вы можете создать файл /etc/systemd/system/kestrel-odatadb.service со следующими строками:
[Unit] Description=odatadb [Service] WorkingDirectory=/var/www/odatadb ExecStart=/usr/bin/dotnet /var/www/odatadb/odatadb.dll Restart=on-failure Restart=always # Restart service after 10 seconds if the dotnet service crashes: RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-odatadb User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
После создание файла, активируйте службу:
sudo systemctl enable kestrel-odatadb.service sudo systemctl start kestrel-odatadb.service sudo systemctl status kestrel-odatadb.service
Для тестирования сервиса, введите команду получения данных, как, например:
curl http://localhost:5002/v4/mssql-023/cashbook
Создание поддомена ODataDB
Для создания поддомена выполните следующие шаги:
- Создание запись A в DNS вашего домена.
- Добавьте секцию поддомена в файл конфигурации домена.
Ниже приведена конфигурация поддомена odatadb.savetodb.com для Nginx:
server { server_name odatadb.savetodb.com; location / { proxy_pass http://localhost:5002; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Настройка сертификата HTTPS в Linux
Мы рекомендуем использовать этот ресурс: Secure HTTP Traffic with Certbot