Как настроить веб-сервер Apache2 для FastReport .NET

Как настроить веб-сервер Apache2 для FastReport .NET

Ни для кого не секрет, что FastReport .NET обладает широким функционалом. Он также является отличным решением, которое может быть интегрировано с веб-сервером Apache2. Далее мы разберёмся с тонкой настройкой Apache 2 в операционной системе Linux.

Сперва установим .NET 5 с помощью нескольких команд. Загружаем необходимые пакеты из репозитория Microsoft:

$ wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

Далее устанавливаем непосредственно пакет .NET 5:

sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-5.0

Примечание. Вы можете подготовить ваше приложение под Windows, а именно установить пакеты FastReport.Core.Skia и отправить себе данный проект уже на Ubuntu.

При тестовой установке вам не потребуется X11 для корректной работы приложения. Это потому, что оно уже установлено вместе с Apache или же в саму Ubuntu.

Теперь переходим к загрузке Apache2 с помощью следующей команды:

sudo apt install apache2

Если всё завершилось успешно, то переходим к следующему шагу. Далее мы будем управлять непосредственно сервисом Apache. А именно его перезагрузкой и его отключением. Важно помнить, что при любом изменении в Apache, например, при смене конфига или же при включении каких-либо настроек, нужно будет делать следующие команды:

sudo systemctl start apache2 – Запускает ранее остановленный веб-сервер
sudo systemctl restart apache2 – Останавливает и снова запускает веб-сервер

Apache настроен на автоматический запуск при загрузке сервера. Если вы не хотите этого, отключите такое поведение с помощью следующей команды:

sudo systemctl disable apache2

Чтобы перезагрузить службу для запуска во время загрузки, введите:

sudo systemctl enable apache2

Теперь мы с вами будем настаивать виртуальных хостов. А это значит, что если вы будете заходить на localhost:80, то у вас будет автоматическая переадресация на localhost:5000.

Для того чтобы все работало корректно необходимо включить некоторые модули:

sudo a2enmod proxy
sudo a2enmod proxy_http

Далее переходим в созданную автоматически папку при установке Apache:

sudo cd /etc/apache2/sites-available/ 

Теперь создаем файл с вашим конфигом и сразу же редактируем его: 

sudo nano /etc/apache2/sites-available/your_domain.conf 

В файл вам требуется внести следующие строки:

<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
CustomLog ${APACHE_LOG_DIR}helloapp-access.log common

Примечание. Если вы будете заходить на localhost:80, то у вас будет автоматическая переадресация на localhost:5000

После создания файла с конфигом активируем его и отключаем конфиг по умолчанию:

sudo a2ensite your_domain.conf – Активация вашего конфига 
sudo a2dissite 000-default.conf – Отключение конфига по умолчанию 
sudo apache2ctl configtest – Проверяем файл на отсутствие синтаксических ошибок (если все будет хорошо, то в консоли будет следующее оповещение “Output Syntax OK”)
sudo systemctl restart apache2 – Перезапускаем Apache для того чтобы изменения вступили в силу 

Для публикации проекта вам потребуется следующая команда: 

dotnet publish --configuration Release – Опубликовать приложение в папку publish в качестве релиза

Далее переходим в папку publish. Здесь вы увидите все dll с названием проекта с помощью команды ls.

Запуск проекта производится следующей командой:

dotnet FastReport.Core.Web.Net5.dll

Перезапускаем Apache с заранее запущенным приложением FastReport.Core.Web.Net5 и переходим на заданный в Apache виртуальный хост. А именно на localhost:80 и смотрим, что он автоматически переходит на localhost:5000.

Если всё завершилось успешно, то поздравляем вас! Вам удалось настроить Apache2 для FastReport .NET. По всем возникающим вопросам пишите в нашу поддержку support@fastreport.ru.