ܪܗܛ dotnet ܒ Ubuntu 20.04 LTS ܘ aaPanel
ܪܗܛ Umbraco ܒ Ubuntu
ܩܢܝܢܐ ܕܡܥܒܕܢܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܢܗܘܐ ܡܘܬܪܢܐ ܡܛܠ ܟܡ̈ܐ ܥ̈ܠܠܢ:
- ܫܘܝܘܬܐ ܒܝܢܬ ܦܠܛܦܘܪ̈ܡܣ: .NET Core, ܢܘܣܟܐ ܕ .NET ܕܒܝܢܬ ܦܠܛܦܘܪ̈ܡܣ, ܡܫܪܪ ܠܡܥܒܕܢ̈ܘܬܐ ܠܡܪܗܛ ܥܠ ܣܘܓܐܐ ܕܡܛܟܣܢ̈ܘܬܐ ܕܦܘܠܚܢܐ, ܟܕ ܐܦ Linux ܥܡܗܝܢ. ܗܕܐ ܡܘܣܦܐ ܥܠ ܡܛܝܘܬܐ ܘܡܘܬܪܢܘܬܐ ܕܡܥܒܕܢܘܬܐ ܒܝܢܬ ܣܘܓܐܐ ܕܒܝ̈ܬܐ.
- ܣܘܥܪܢܘܬܐ ܘܗܝܡܢܘܬܐ: Linux ܝܕܝܥ ܗܘ ܡܛܠ ܣܘܥܪܢܘܬܗ ܘܩܝܡܘܬܗ. ܪܗܛܐ ܕܡܥܒܕܢܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܢܬܚܫܚ ܒܗܠܝܢ ܕܝ̈ܠܝܬܐ, ܘܡܨܐ ܕܢܘܒܠ ܠܣܘܥܪܢܘܬܐ ܘܗܝܡܢܘܬܐ ܕܛܒ ܕܡܥܒܕܢܘܬܐ.
- ܡܒܘܥܐ ܦܬܝܚܐ ܘܣܡܟܐ ܕܟܢܘܫܝܐ: ܬܪ̈ܝܗܘܢ Linux ܘ .NET Core ܐܝܬܝܗܘܢ ܡܒܘܥܐ ܦܬܝܚܐ, ܗܢܘ ܕܝܢ ܕܡܬܗܢܝܢ ܡܢ ܣܡܟܐ ܚܝܠܬܢܐ ܕܟܢܘܫܝܐ ܘܫܘܡܠܝ̈ܐ ܐܡܝ̈ܢܐ. ܗܕܐ ܡܨܝܐ ܕܬܘܒܠ ܠܢܛܘܪܘܬܐ ܕܛܒ, ܘܝ̈ܠܝܬܐ ܝܬܝܪ̈ܬܐ, ܘܬܘܪ̈ܨܐ ܕܥܓܠ ܕܛܘܥ̈ܝܝ.
- ܡܘܬܪܢܘܬܐ ܕܛܝܡ̈ܐ: Linux ܡܨܐ ܕܢܗܘܐ ܓܒܝܬܐ ܡܘܬܪܢܝܬܐ ܝܬܝܪ ܒܛܝ̈ܡܐ ܠܡܛܥܢܘܬܐ ܕܡܥܒܕܢ̈ܘܬܐ, ܝܬܝܪܐܝܬ ܠܫܘܬܐܣ̈ܐ ܐܘ ܥܒܘܕ̈ܐ ܕܒܥܝܢ ܠܡܒܨܪܘ ܛܝ̈ܡܐ ܕܦܘܠܚܢܐ. ܣܘܓܐܐ ܕܡܦܪ̈ܢܣܢܘܬܐ ܕ Linux ܡܫܬܟܚ̈ܢ ܡܓܢ, ܘܡܒܨܪ̈ܢ ܛܝ̈ܡܐ ܕܝ̈ܗܒܝ ܛܘܪܦܝܘܢ.
- ܚܘܝܕܐ ܥܡ ܬܘܬܒܘܬܐ ܕ Linux ܕܐܝܬ: ܠܫܘܬܐܣ̈ܐ ܕܟܒܪ ܡܬܚܫܚܝܢ ܒ Linux ܠܡܥܒܕܢ̈ܝܗܘܢ ܐܘ ܠܡܢ̈ܘܬܐ ܐܚܪ̈ܢܝܬܐ ܕܬܘܬܒܘܬܐ ܕ IT ܕܝܠܗܘܢ, ܩܢܝܢܐ ܕܡܥܒܕܢ̈ܘܬܐ ܕ .NET ܥܠ Linux ܡܨܐ ܕܡܫܪܪ ܚܘܝܕܐ ܘܡܕܒܪܢܘܬܐ ܫܠܝܡܬܐ ܓܘ ܒܝܬܝܗܘܢ ܕܐܝܬ.
- ܕܘܒܪ̈ܐ ܚܕ̈ܬܐ ܕܥܒܘܕܘܬܐ: .NET Core ܥܠ Linux ܣܡܟ ܠܕܘܒܪ̈ܐ ܘܡܐܢ̈ܐ ܚܕ̈ܬܐ ܕܥܒܘܕܘܬܐ, ܟܕ ܐܦ ܡܐܢܘܬܐ ܥܡ Docker, ܕܡܣܬܡܟ ܟܝܢܐܝܬ ܒ Linux. ܗܕܐ ܡܨܝܐ ܕܬܦܫܩ ܕܘܒܪ̈ܐ ܕܥܒܘܕܘܬܐ, ܘܒܘܚܪܢܐ, ܘܡܛܥܢܘܬܐ ܝܬܝܪ ܡܘܬܪ̈ܢܐ.
- ܢܛܘܪܘܬܐ: 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