Установка ODataDB

Установка ODataDB

ODataDB — это кроссплатформенное приложение, разработанное на базе веб-сервера Kestrel в ASP.NET Core.

Kestrel можно использовать как самостоятельно, так и в связке с обратным прокси-сервером, таким как IIS, Nginx или Apache.

Ниже приведены полезные ссылки на материалы по установке и настройке приложений ASP.NET Core в различных сценариях:

В этой статье представлены краткие руководства по установке ODataDB.

Установка ODataDB в Windows

  1. Включите компонент IIS.
  2. Установите пакет ASP.NET Core Runtime 8.0 Hosting Bundle.
  3. Перезапустите IIS.
  4. Скопируйте подкаталог odatadb из загруженного пакета ODataDB на локальный диск, например, в папку C:\inetpub.
  5. Добавьте строки подключения к вашим базам данных в файл конфигурации appsettings.
  6. Создайте пул приложений ODataDB.
  7. Создайте приложение или веб-сайт ODataDB.

Ниже приведены комментарии к шагам 6-7.

Создание пула приложений ODataDB

Чтобы создать пул приложений, откройте Диспетчер служб IIS (IIS Manager), выберите Пулы приложений (Application Pools) и выберите действие Добавить пул приложений... (Add Application Pool...).

Используйте следующие значения:

Установка ODataDB на Windows - Создание пула приложений

  • 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 на Windows - Создание веб-сайта

Не забудьте выбрать пул приложений odatadb, созданный на предыдущем этапе.

Для тестирования локального веб-сайта введите URL:

http://odatadb/

Вы должны увидеть домашнюю страницу.

Например, попробуйте работу с таблицей cashbook примера mssql-023, размещенного в онлайн базе данных SQL Server:

Веб-сайт ODataDB - s02.cashbook

Настройка сертификата HTTPS в Windows

Не используйте ODataDB по протоколу HTTP, так как браузеры передают логины и пароли в открытом виде.

Всегда включайте протокол HTTPS и перенаправляйте запросы HTTP на HTTPS.

Вот шаги по созданию самозаверенного сертификата.

  1. Откройте 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.

  1. Откройте оснастку certlm.msc и скопируйте сертификат ODataDB из папки личных сертификатов (Personal Certificates) в папку Доверенные корневые центры сертификации (Trusted Root Certification Authorities).

  2. Откройте Диспетчер служб 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 на Windows - Создание приложения

Не забудьте выбрать пул приложений odatadb, созданный на предыдущем этапе.

Для тестирования приложения на вашем компьютере введите URL:

http://localhost/odatadb/

Вы должны увидеть домашнюю страницу примеров. Попробуйте. ODataDB загружает данные из онлайн базы данных SQL Server.

Например, попробуйте работу с таблицей s02_cashbook:

Приложение ODataDB - s02.cashbook

Обратите внимание, что ODataDB заменяет строки <base href="/"> на <base href="/odatadb/"> для приложений IIS.

Установка ODataDB в Linux

Ниже приведены подробные руководства:

В целом, выполните следующие шаги:

  1. Установите ASP.NET Core Runtime 8.0.
  2. Скопируйте подкаталог odatadb из загруженного пакета ODataDB в папку /var/www.
  3. Добавьте строки подключения к вашим базам данных в файл конфигурации appsettings.
  4. Проверьте и измените, при необходимости, порт по умолчанию 5002 на требуемый в файле appsettings.
  5. Создайте файл службы для управления Kestrel и активируйте службу.
  6. Создайте поддомен ODataDB.
  7. Настройте сертификат 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

Чтобы создать поддомен, выполните следующие шаги:

  1. Создайте запись A в DNS вашего домена.
  2. Добавьте секцию поддомена в файл конфигурации домена.

Вот пример конфигурации поддомена 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.

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Политики защиты персональных данных.