Pythontr

husonet | Tarih: 25.02.2019

netcore 2.2 kurulumu Linux için

Debian Linux için netcore ortamı oluşturulmasıyla ilgili adımlar.

Oldukça sık Eposta aldığım konulardan biri olduğu için bu kurulumun nasıl yapılacağına karşı adım adım kurulumu aşağıda yazmaya çalışacam bu konuyla ilgili yorumlarınızı aşağıda paylaşabilirsiniz.


Microsoft için anahtarların register edilmesi


Gerekli bağımlılıkları yüklememiz için Microsoft ürününü register etmemiz gerekir. Çok şükür bu ürün ücretsiz bir ürün :) Bu kısımı kurulama başlamadan bir defa yapmamız yeterlidir. Hadi başlayalım.


su -
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget -q https://packages.microsoft.com/config/debian/9/prod.list
mv prod.list /etc/apt/sources.list.d/microsoft-prod.list

Aslinda bu aşağıdaki kısıma gerek yok ama Ubuntu kullanıcılarının mutlaka kontrol etmesi gerekir.

chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
chown root:root /etc/apt/sources.list.d/microsoft-prod.list

NET için SDK Kurulum


Konsol üzerinden SDK kurulumu için aşağıdaki satır komutlarını çalıştırabilirsiniz. Ubuntu kullanıcıları sudo kullanarak kurulum yapabilir.


apt-get install apt-transport-https
apt-get update
apt-get install dotnet-sdk-2.2

Netcore version

dotnet --version


c# Konsol Uygulaması Oluşturma


Hello World çıktısı alacağımız ilk konsol uygulamasını oluşturalım.


su -
mkdir -P /home/www/test
chown pythontr:pythontr /home/www/test
cd /home/www/test
dotnet new console
dotnet run



Örnek MVC Projesinin Kurulması


dotnet new mvc

Projenin Release Publish Oluşturulması


dotnet publish --configuration Release

Oluşan dll i çalıştırma
dotnet /home/www/domain.com/bin/Release/netcoreapp2.2/domain.dll

SSL Desteksiz Çalıştırma
vim Startup.cs
app.UseHttpsRedirection(); -> #app.UseHttpsRedirection();

Port Ayarlarının Yapılması
vim Properties/launchSettings.json
"domain.com": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}


Netcore için Apache2 Yapılandırma


Gerekli modullerin enabled edilmesi


a2enmod proxy proxy_http proxy_html deflate rewrite headers
a2dissite 000-default.conf
a2ensite coresample.conf
service apache2 restart

vim ports.conf
Listen 8083

Konfigürasyon dosyasının yapılandırılması


vim /etc/apache2/sites-available/coresample.conf
<VirtualHost *:8083>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/coremvc
ProxyPreserveHost On
#ServerName www.example.com
#ServerAlisa *.example.com
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
ErrorLog ${APACHE_LOG_DIR}helloapp-error.log
CustomLog ${APACHE_LOG_DIR}helloapp-access.log common
</VirtualHost>

Netcore için Nginx Yapılandırma



# domain.com -> www.domain.com
server {
listen XXX.XXX.XXX.XXX:80;
server_name domain.com;
rewrite ^/(.*) http://www.domain.com/$1 permanent;
}

server {
listen XXX.XXX.XXX.XXX:80;
# server_name domain.com *.domain.com;
server_name www.domain.com;
location / {
proxy_pass http://localhost:5000;
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;
}
}