Home / Blog

ܐܝܟܢܐ ܬܪܗܛ dotnet ܒ Ubuntu 20.04 LTS

SplatDev · January 2, 2024 ·3 ܩܛܝ̈ܢܬܐ ܕܩܪܝܢܐ

ܪܗܛ dotnet ܒ Ubuntu 20.04 LTS ܘ aaPanel

ܪܗܛ Umbraco ܒ Ubuntu

ܩܢܝܢܐ ܕܡܥܒܕܢܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܢܗܘܐ ܡܘܬܪܢܐ ܡܛܠ ܟܡ̈ܐ ܥ̈ܠܠܢ:

  1. ܫܘܝܘܬܐ ܒܝܢܬ ܦܠܛܦܘܪ̈ܡܣ: .NET Core, ܢܘܣܟܐ ܕ .NET ܕܒܝܢܬ ܦܠܛܦܘܪ̈ܡܣ, ܡܫܪܪ ܠܡܥܒܕܢ̈ܘܬܐ ܠܡܪܗܛ ܥܠ ܣܘܓܐܐ ܕܡܛܟܣܢ̈ܘܬܐ ܕܦܘܠܚܢܐ, ܟܕ ܐܦ Linux ܥܡܗܝܢ. ܗܕܐ ܡܘܣܦܐ ܥܠ ܡܛܝܘܬܐ ܘܡܘܬܪܢܘܬܐ ܕܡܥܒܕܢܘܬܐ ܒܝܢܬ ܣܘܓܐܐ ܕܒܝ̈ܬܐ.
  2. ܣܘܥܪܢܘܬܐ ܘܗܝܡܢܘܬܐ: Linux ܝܕܝܥ ܗܘ ܡܛܠ ܣܘܥܪܢܘܬܗ ܘܩܝܡܘܬܗ. ܪܗܛܐ ܕܡܥܒܕܢܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܢܬܚܫܚ ܒܗܠܝܢ ܕܝ̈ܠܝܬܐ, ܘܡܨܐ ܕܢܘܒܠ ܠܣܘܥܪܢܘܬܐ ܘܗܝܡܢܘܬܐ ܕܛܒ ܕܡܥܒܕܢܘܬܐ.
  3. ܡܒܘܥܐ ܦܬܝܚܐ ܘܣܡܟܐ ܕܟܢܘܫܝܐ: ܬܪ̈ܝܗܘܢ Linux ܘ .NET Core ܐܝܬܝܗܘܢ ܡܒܘܥܐ ܦܬܝܚܐ, ܗܢܘ ܕܝܢ ܕܡܬܗܢܝܢ ܡܢ ܣܡܟܐ ܚܝܠܬܢܐ ܕܟܢܘܫܝܐ ܘܫܘܡܠܝ̈ܐ ܐܡܝ̈ܢܐ. ܗܕܐ ܡܨܝܐ ܕܬܘܒܠ ܠܢܛܘܪܘܬܐ ܕܛܒ, ܘܝ̈ܠܝܬܐ ܝܬܝܪ̈ܬܐ, ܘܬܘܪ̈ܨܐ ܕܥܓܠ ܕܛܘܥ̈ܝܝ.
  4. ܡܘܬܪܢܘܬܐ ܕܛܝܡ̈ܐ: Linux ܡܨܐ ܕܢܗܘܐ ܓܒܝܬܐ ܡܘܬܪܢܝܬܐ ܝܬܝܪ ܒܛܝ̈ܡܐ ܠܡܛܥܢܘܬܐ ܕܡܥܒܕܢ̈ܘܬܐ, ܝܬܝܪܐܝܬ ܠܫܘܬܐܣ̈ܐ ܐܘ ܥܒܘܕ̈ܐ ܕܒܥܝܢ ܠܡܒܨܪܘ ܛܝ̈ܡܐ ܕܦܘܠܚܢܐ. ܣܘܓܐܐ ܕܡܦܪ̈ܢܣܢܘܬܐ ܕ Linux ܡܫܬܟܚ̈ܢ ܡܓܢ, ܘܡܒܨܪ̈ܢ ܛܝ̈ܡܐ ܕܝ̈ܗܒܝ ܛܘܪܦܝܘܢ.
  5. ܚܘܝܕܐ ܥܡ ܬܘܬܒܘܬܐ ܕ Linux ܕܐܝܬ: ܠܫܘܬܐܣ̈ܐ ܕܟܒܪ ܡܬܚܫܚܝܢ ܒ Linux ܠܡܥܒܕܢ̈ܝܗܘܢ ܐܘ ܠܡܢ̈ܘܬܐ ܐܚܪ̈ܢܝܬܐ ܕܬܘܬܒܘܬܐ ܕ IT ܕܝܠܗܘܢ, ܩܢܝܢܐ ܕܡܥܒܕܢ̈ܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܡܫܪܪ ܚܘܝܕܐ ܘܡܕܒܪܢܘܬܐ ܫܠܝܡܬܐ ܓܘ ܒܝܬܝܗܘܢ ܕܐܝܬ.
  6. ܕܘܒܪ̈ܐ ܚܕ̈ܬܐ ܕܥܒܘܕܘܬܐ: .NET Core ܥܠ Linux ܣܡܟ ܠܕܘܒܪ̈ܐ ܘܡܐܢ̈ܐ ܚܕ̈ܬܐ ܕܥܒܘܕܘܬܐ, ܟܕ ܐܦ ܡܐܢܘܬܐ ܥܡ Docker, ܕܡܣܬܡܟ ܟܝܢܐܝܬ ܒ Linux. ܗܕܐ ܡܨܝܐ ܕܬܦܫܩ ܕܘܒܪ̈ܐ ܕܥܒܘܕܘܬܐ, ܘܒܘܚܪܢܐ, ܘܡܛܥܢܘܬܐ ܝܬܝܪ ܡܘܬܪ̈ܢܐ.
  7. ܢܛܘܪܘܬܐ: Linux ܡܫܬܒܚ ܣܓܝ ܡܛܠ ܝ̈ܠܝܬܐ ܕܢܛܘܪܘܬܗ. ܪܗܛܐ ܕܡܥܒܕܢ̈ܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܢܬܗܢܐ ܡܢ ܗܠܝܢ ܢܛܘܪ̈ܬܐ, ܟܕ ܝܗܒ ܒܝܬܐ ܢܛܝܪܐ ܝܬܝܪ ܠܡܥܒܕܢ̈ܘܬܐ.

ܒܟܘܢܫܐ, ܩܢܝܢܐ ܕܡܥܒܕܢܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܢܝܬܐ ܡܘܬܪ̈ܢܐ ܡܛܠ ܫܘܝܘܬܐ, ܘܣܘܥܪܢܘܬܐ, ܘܛܝ̈ܡܐ, ܘܚܘܝܕܐ, ܘܕܘܒܪ̈ܐ ܚܕ̈ܬܐ ܕܥܒܘܕܘܬܐ, ܘܢܛܘܪܘܬܐ, ܟܕ ܥܒܕ ܠܗ ܓܒܝܬܐ ܡܪܓܪܓܢܝܬܐ ܠܣܘܓܐܐ ܕܥܒܘܕ̈ܐ ܘܫܘܬܐܣ̈ܐ.

ܥܒܪ ܒܬܪ ܡܣ̈ܩܬܐ ܕܡܬܚܘ̈ܝܢ ܠܡܡܠܝܘ ܗܕܐ:

ܩܢܝ aaPanel
ܠܐ ܐܠܨܝܐ ܐܠܐ ܡܘܬܪܢܐ ܠܢܛܘܪܘܬܐ:

ܟܬܒܐ ܕܩܢܝܢܐ ܢܫܬܡܠܐ ܒܓܘ ܟܡܐ ܩܛܝ̈ܢܬܐ ܘܢܩܢܐ ܠܘܚܐ ܕܡܛܥܢܘܬܐ ܟܕ ܝܗܒ ܠܟ ܡܐܢ̈ܐ ܝܩܝܪ̈ܐ ܠܢܛܘܪܘܬܐ ܕܐܬܪ̈ܘܬܟ.

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh
# Get Ubuntu version
declare repo_version=$(if command -v lsb_release &> /dev/null; then lsb_release -r -s; else grep -oP '(?<=^VERSION_ID=).+' /etc/os-release | tr -d '"'; fi)
# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/ubuntu/$repo_version/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb
# Clean up
rm packages-microsoft-prod.deb
# Update packages
sudo apt update
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-6.0
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-7.0
sudo apt-get update && sudo apt-get install -y apt-transport-https aspnetcore-runtime-8.0
sudo nano /etc/systemd/system/kestrel-helloapp.service
[Unit]
Description=Example .NET Web API App running on Linux
[Service]
WorkingDirectory=/var/www/helloapp
ExecStart=/usr/bin/dotnet /var/www/helloapp/helloapp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=www
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
sudo systemctl enable kestrel-helloapp.service
sudo systemctl start kestrel-helloapp.service
sudo systemctl status kestrel-helloapp.service

ܘܐܙܕܗܪ ܕܬܣܝܡ ܡܥܒܪܢܐ ܗܦܝܟܐ (reverse proxy) ܥܠ ܬܪܥܐ ܕܡܛܟܣܬ ܠܡܥܒܕܢܘܬܐ ܕ dotnet (ܐܝܟ ܥܝܕܐ 5001)

ܒܗܢܐ ܙܒܢܐ, ܡܨܝܬ ܡܢ ܟܕܘ ܠܡܛܥܢܘ ܐܬܪܟ ܘܠܡܥܒܪ ܥܠܘܗܝ.

ܐܢ ܥܬܝܕ ܐܢܬ ܠܡܬܚܫܚܘ ܒ MSSQL ܥܡ Ubuntu, ܐܙܕܗܪ ܕܬܩܢܝܘܗܝ ܒܬܪ ܗܠܝܢ ܡܣ̈ܩܬܐ:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
systemctl status mssql-server --no-pager
sudo ufw allow 1433
ufw deny 1433
ufw deny 22
ufw deny 21
ufw deny 20

Want more articles like this?

Subscribe for updates on .NET, Umbraco, nopCommerce, and software engineering.

Get in touch →