Plesk kurulu sunucuda .net core internal server error lock violation hatası

IIS te .net core kullanan siteleriniz aşağıdaki hatayı veriyor olabilir.

HTTP Error 500.19 – Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
Detailed Error Information
Module IIS Web Core
Notification BeginRequest
Handler Not yet determined
Error Code 0x80070021
Config Error Lock violation
Config File \?\C:\Inetpub\vhosts\ayhanarda.com\web.config

Öncelikle .net core çalışıp çalışmadığını ya da kurulu olup olmadığını test edelim.

C:\Users\Administrator>dotnet –version
2.1.401

C:\Users\Administrator>dotnet –info
.NET Core SDK (reflecting any global.json):
Version: 2.1.401
Commit: 91b1c13032

Runtime Environment:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.401\

Host (useful for support):
Version: 2.2.6
Commit: 7dac9b1b51

.NET Core SDKs installed:
2.1.3 [C:\Program Files\dotnet\sdk]
2.1.4 [C:\Program Files\dotnet\sdk]
2.1.401 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

Görünen o ki kurulum ve çalışmasında bir sorun yok , hatta proje oluşturup oluşturamadığımıza cmd konsolu üzerinden bakabiliriz. Bir konsol projesi oluşturalım ve publish edelim , gereçek ortamda yayınlamasak ta işlevinin çalıştığını anlayabiliriz.

dotnet new console -o ayhanarda
cd ayhanarda
dotnet publish

Eğer buraya kadar bir sorun yoksa .net in çalıştığına emin olabilirsiniz. Hatada ne diyordu , Lock Violation , yani bir şeyler .net core un çalışmasını engelliyor , kilitliyor.

Bu hatayı gidermek için Plesk panelinizde Araçlar/ayarlar bölümünde Güvenlik bölümüne gelip buradan güvenlik ilkesi adımı ile aşağıdaki bölümün tikini kaldırınız , siteniz çalışacaktır.

Özel işleyiciler ilkesi
Müşterilerin web.config dosyasıyla sunucu seviyesinde tanımlanan IIS işleyicilerini bypass etmesini önlemek için bu seçeneği etkinleştirin.
(UN TICK)
web.config ile işleyicileri geçersiz kılma yeteneğini engelleyin

for english:

Log into Plesk
Untick Prohibit the ability to override handlers via web.config in Plesk > Tools & Settings > Security

Ayhan ARDA

HTTP/1.1 New Application Failed Hatası ve Çözümü

HTTP/1.1 New Application Failed Hatası ve Çözümü

C:\Windows\System32\inetsrv\config\applicationhost .config dosyasının yedeğini bir kenara alıp orjinal dosyayı açınız.

Aşağıdaki bölümü bulunuz , muhtemelen overrideModeDefault bölümü Deny olarak gözükmektedir , bu bölümü Allow olarak değiştiriniz , akabinde iis restart etmenizi gerek bulunmamaktadr , Site hemen çalışacaktır.

Gözüken;

<sectionGroup name=”system.webServer”>
<section name=”asp” overrideModeDefault=”Deny” />

Olması Gereken;

<sectionGroup name=”system.webServer”>
<section name=”asp” overrideModeDefault=”Allow” />

Windows IIS te WordPress’in Japonca Url Karakter Sorunu ワードプレスの日本語の問題

Geçen yine bir müşterimizde başımıza geldi , bu iis7 url rewrite ile ilgili bir durum sanıyorum , çözüm için aşağıdaki işlemi yapabilirsiniz.

Web sitesine ait wp-config.php dosyasını açın.

Php tagının içinde en üste aşağıdaki kodu ekleyip kaydedin ve japonca url nin çalışıp çalışmadığınız tekrar kontrol edin.

if ( isset($_SERVER['UNENCODED_URL']) ) {
    $_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL'];
}

Ayhan ARDA

IIS7 linklerde + (artı) karakterinin çalışmaması

IIS 7 çalışan bir web serverda linklerinizde + karakteri var ise muhtemelen 404 alacaksınız.

Örnek url aşağıdaki gibi olabilir , www.ayhanarda.com/icerik/resimler/resim+ayhan+arda.aspx

Çözüm için web.config dosyasına aşağıdaki blogu ekleyiniz.

<system.webServer>
<security>
<requestFiltering allowDoubleEscaping=”true” />
</security>
</system.webServer>

Could not load file or assembly ‘System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies hatası çözümü

Web.config dosyanız için aşağıdaki hatayı alıyor iseniz sunucuda Microsoft .NET Framework 3.5 için Microsoft Chart Controls kurulu değil demektir.

Could not load file or assembly ‘System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies

Hatayı gidermek için aşağıdaki linkten indirip sunucunuza kurabilirsiniz.

http://www.microsoft.com/en-us/download/details.aspx?id=14422

Sonrasında iisreset yeterlidir.

Ayhan ARDA

IIS6 cross-domain ayarlama

IIS te ilgili sitenin üzerine gelip sağ tıklayarak Properties bölümüne giriniz.

Açılan ekranda HTTP Headers tab ını açınız.

Custom HTTP Headers bölümün yanındaki Add butonuna tıklayınız.

Custom header name bölümüne Access-Control-Allow-Origin yazınız.

Custom header value bölümüne * koyunuz.

Aynı işlemi Access-Control-Allow-Headers ekleyerek tekrar yapınız ve değer olarak yine * giriniz.

Ok butonuna basıp işlemi sonlandırabilirsiniz.

Ayhan ARDA

Unknown: The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8) hatası

IIS te her şey yolunda giderken bir sitenin durmuş olduğunu ve tekrar başlatmak istediğinizde Unknown: The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8) hatasını verdiğini görebilirsiniz.

0x800710D8

Bu durumda Sitenin üzerine çift tıklayarak Authentication bölümüne gidin ve Windows Authentication bölümünü Enabled olarak değiştirin , şimdi tekrar siteyi start edebilirsiniz , durum devam eder ise akabinde uygulama havuzunu değiştirebilirsiniz , problem giderilmiş olacaktır.

0x800710D8.AuthenticationAyhan ARDA

You must use role management tool to install or configure Microsoft .NET Framework 3.5 Hatası

Visual Studio 2008 ya da  .NET 3.5 framework u kurmaya çalıtığınızda aşağıdaki hatayı alabilirsiniz.

you must use role management tool to install or configure Microsoft .NET Framework 3.5

Bunun için Bilgisayarım simgesinin üzerine Sağ tıklayıp Manage/Yönet bölümüne erişiniz. Features bölümünde Add Features kısmını açınız.  Karşınıza çıkan ekranda :net Framework 3.5.1 Features böülümünün yanndaki tik i işaretleyip Install butonu işlemi sonlandırınız. Hepsi bu kadar.

 

ajax toolkit çalışmama hatası

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.  şeklidne bir hata alıyor iseniz ve hata daaşağıdaki astırın sorunlu olduğu söyleniyor ise yazının devamındaki çözümleri uygulayabilirsiniz.

<ajaxToolkit:ToolkitScriptManager runat=”server”></ajaxToolkit:ToolkitScriptManager>

1. Öncelikle bin klasörünüzde AjaxControlToolkit.dll olduğuna emin olunuz.

2. <ajaxToolkit:ToolkitScriptManager runat=”server”></ajaxToolkit:ToolkitScriptManager> geçen satırı <asp:ScriptManager ID=”ScriptManager1″ runat=”server” /> olarak değiştirip tekrar deneyiniz.

Saygılarımla

Ayhan ARDA

Not: Kopyalayıp yapıştırırken tırnak işaretlerine dikkat ediniz, copy paste sonrası değişmekte.

For international guests;

Change: <ajaxToolkit:ToolkitScriptManager ID=”ScriptManager1″ runat=”server” />
to: <asp:ScriptManager ID=”ScriptManager1″ runat=”server” />

System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Office Excel cannot access the file hatası ve çözümü

“System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Office Excel cannot access the file” hatası ile karşılaşır iseniz aşağıdaki çözümü uygulayabilirsiniz.

Hatanın detayı aşağıdaki gibi olmalı,

• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as a currently open workbook.

• Dosya adı ya da yol yok.
• Dosya başka bir program tarafından kullanılıyor.
• Kaydetmeye çalıştığınız çalışma kitabı, şu anda açık olan bir çalışma kitabıyla aynı ada sahip

Çözüm :

*Eğer 64 bit sistem kullanıyor iseniz C:\Windows\SysWOW64\config\systemprofile klasörü içinde Desktop isimli bir klasör oluşturunuz.

*Eğer 32 bit sistem kullanıyor iseniz C:\Windows\System32\config\systemprofile klasörü içinde Desktop isimli bir klasör oluşturunuz.

Sonrasında bu Desktop klasörünün özelliklerindeki güvenlik tabında o sitenin iis userı için full yetki veriniz. Durum giderilmiş olacaktır.

Ayhan ARDA

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. Hatası

An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. hatası için web.config dosyasına aşağıdaki kodları ekleyiniz. Sitenin application pool unu integrated mode a alınız. (False etrafındaki tırnaklar bozulmakta , web.config dosyanıza ekledikten sonra tırnakları silip kendiniz tırnak yapınız.)

<system.webServer>
<validation validateIntegratedModeConfiguration=”false” />
</system.webServer>

The ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine. Hatasının Çözümü

Aşağıdaki dosyayı indirip sunucunuza kurmanız yeterli olacaktır.

http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en

Windows serverlarda wordpress otomatik güncelleme problemi

WordPress ,biliyoruz ki linux platformunda windowslarda olduğundan daha stabil çalışmaktadır fakat bazı durumlarda windows sunucularda kullanmak zorunda kalırız , bu gibi durumlarda da bazı problemler baş gösterir , bunlardan biride otomatik upadte problemidir , giderilmesi için aşağıdaki adımları izleyiniz.

Sunucunuza uzak masaüstü ile erişiniz,

Sitenizin çalıştığı kök dizine ve alt klasörlerine network kullanıcısı için okuma ve yazma izni veriniz

Şimdi tekrar update i deneyiniz.

* İşleminiz bitince bu network kullanıcısı iznini geri almanız tarafımca önerilir.

Ayhan ARDA

iisweb.vbs ile IIS 6.0 ‘daki web sitelerini listeleme

Öncelikle cmd ile komut konsolumuza giriş yapıyoruz , ardından system32 yoluna gidiyoruz,

cd /C:\WINDOWS\system32>

Sonrasında iisweb/query ile siteleri  , ip leri , durumlarını listeleyebiliriz.Sonuçları bir dosyaya yazdırmak için aşağıdaki komutu kullanabilirsiniz.

iisweb/query > liste.txt

Uzak sunucudaki web sitesi listesini almak için /s parametresi kullanabiliriz. Sunucu erişim bilgilerimiz aynı ise hiç bir şey sormayacaktır.

iisweb /s diger_server_ip /query > diger_server-liste.txt

Eğer diğer sunucunun erişim bilgisi farklı ise aşağıdaki şekilde bunu komutumuz içinde belirtebiliriz.

iisweb /query /s diger_server_ip /u Administrator /p sifreniz

Ayhan ARDA

Windows 2003 / IIS 6.0 Dosya Upload Limiti Arttırmak

Windows 2003 / IIS 6.0 larda dosya upload limiti ön tanımlı olarak 200 KB olarak gelmektedir. Bu değeri metabase.xml den güncelleyebilirsiniz.

Once IIS te sunucu adına sağ tıklayarak Properties bölümünü açınız. Sonra ” Enable Direct Metabase Edit” bölümünün yanındaki kutuyu işaretleyiniz.Uygula butonuna basıp çıkınız. Sonra C:\windows\sytem32\inetserv dosyasını notepad ile açınız.  Bu dosya da “AspMaxRequestEntityAllowed” değerini bulup güncelleyebilirsiniz. Ön tanımlı değeri 204800 dır , bu da 200 KB ye denk gelir. 1 Mb yapmak için 1000000 değerini yazmalısınız , ihtiyacınıza göre arttırabilirsiniz.

İşlem sonunda IIS te yer alan ” Enable Direct Metabase Edit” bölümün yanındaki kutudaki işareti tekrar kaldırmanız önerilir.

Ayhan ARDA

IIS 6.0 da w3wp.exe nin hangi site olduğunu tespit etmek

Sunucu üzerinde w3wp.exe lerin aşırı kaynak kullandığını tespit ettiniz fakat hangi w3wp.exe nin hangi web sitesi olduğunu bulmakta zorlanıyorsanız bu çözüm işe yarayacaktır. Öncelikle task manager da View/Select Columns bölümünden PID bölümünü aktif edelim , sonra en çok kullanan w3wp.exe nin PID numarasını alalım.

Şimdi Başlat/Çalıştırdan cmd yazıp komut konsolunu açalım , Burda kullanacağımız script , Microsoft ile beraber gelen iisapp.vbs isimli küçük bir dosya , aşağıdaki şekilde kullanabiliriz.

Önce Komut konsolunda system32 altına geliyoruz , sonra cscript.exe iisapp.vbs yazıyoruz , eğer tüm siteler ayrı application pool da ise bize direk olarak pıd değerlerini yazacaktır. İlgili siteyi bulup kaynak tüketim sebebini araştırabilirsiniz.

C:\WINDOWS\system32>cscript.exe iisapp.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

W3WP.exe PID: 1188 AppPoolId: DefaultAppPool

* Identifying Worker Process (w3wp.exe)

*IIS 7.0 için appcmd;
• Başlat > Çalıştır > Cmd
• Windows > System32 > Inetsrv ye gidin
• appcmd list wp çalıştırın