Ни для кого не секрет, что 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.