Merhaba arkadaşlar,
Bugün yaklaşık 9 aydır üzerinde çalıştığım projenin nihayete ermesinin sevincini yaşamaktayım.
EBYS’nin Windows sürümünü Pardus üzerine tüm özellikleriyle uyarlamış bulunmaktayım.
Uyarlama işlemi için Wine 6.0 Stable sürümünü kullandım.
Wine normalde donanımlara erişemeyen ve sadece yazılımsal olarak çalışan bir ara katmandır. Bu yüzden wine ortamında çalışan bir yazılım bilgisayarınızın donanımlarını algılayamaz. Örneğin elektronik imza ile giriş yapan bir uygulamayı wine üzerine kurduğunuzda wine e-imza donanımınızı algılamayacaktır. Yine Linux sürücüsü olmayan bir donanımı ilgili donanımın windows sürücüsünü wine üzerine kurarak sisteminizde çalıştıramazsınız. Belki ilgili donanımın sürücüsünü wine ortamına kurarsınız ama donanımı sisteminize bağladığınızda sisteminiz donanımı algılamaz. Bu durum wine ortamının yapısından kaynaklanmaktadır. Yani tek başına wine yüklemek yeterli değildir.
Wine ev dizinine prefixler oluşturarak windows uygulamalarını o prefixler içinde yürütür. O prefixler windows uygulamaları için bir yuvadır. o prefixlere windows uygulamasının ihtiyaç duyacağı bileşenler yüklenerek ilgili yazılımın sisteminizde çalışması sağlanır.
Wine ortamının Pardus’a kuruluş süreci biraz zahmetlidir ve bir takım ayarlamalar gerektirmektedir. Wine ortamının ihtiyaç duyduğu bağımlılıklardan bir kısmı Pardus deposunda yer almadığı için Wine ortamını doğrudan Pardus’a yükleyemiyoruz. Pardus deposunda yer alan wine ortamı da baya eski olduğundan işimizi görmeyecektir.
Üzerinde 9 aydır çalıştığım, Wine 5.17den itibaren kullanarak geliştirmeye çalıştığım projede yaptıklarımı sıralayayım:
- öncelikle Wine ortamını e-imza donanımlarını görebileceği şekilde modifiye ettim. yani artık Wine ortamı wine üzerine yüklenen yazılımlarda e-imza donanımına ihtiyaç duyulursa bu donanımı tanıyabilecek. Başka bir deyişle wine harici e-imza donanımlarını tanıma becerisi kazandı.
- Wine ortamı parça parça 3-4 paket şeklinde kurulmaktadır. Ben bunları tek pakette birleştirdim.
- E-imza gereçleri ismindeki başka bir projemde Pardus üzerinde e-imza ile ilgili ayarlamaları otomatik olarak yaparken aynı zamanda özelleştirdiğim wine ortamının sisteminize kolayca kurulabilmesi için gerekli ayarlamaları da otomatik olarak uyguladım. Yani artık özelleştirdiğim wine ortamını kolayca deb paketine tıklayarak kurabilmek mümkündür. Başka bir deyişle bu ortamı kurabilme için ilave ayarlamalar gerekmez.
- EBYS masaüstü uygulamasının kurulabilmesi ve yaşayabilmesi için bir prefix yani bir ev oluşturdum ve bu eve EBYS masaüstü uygulaması için gerekli bileşenleri yükledim.
- EBYS masaüstü uygulamasını açtığımızda evraklarda gelen eklere tıkladığımızda bu eklerin Pardus üzerinde çalışan LibreOffice ve yine Pardus üzerinde doğrudan çalışan uygulamalarda açılmasını sağladım yani eklerde bir resim varsa bu resim wine ortamındaki resim görüntüleyici ile değil de Pardus üzerindeki resim görüntüleyici ile açılmaktadır. Yine bir pdf belgesi wine üzerinde çalışan pdf okuyucu ile değil, Pardus üzerinde çalışan pdf görüntüleyici ile açılacaktır. Başka bir deyişle dosyaları wine üzerinden tıklasak bile Pardus üzerindeki uygulamalarla açabilecek şekilde düzenlemeler yaptım. Tabii bu düzenlemler sadece ilgili prefix için yapılmıştır.
- EBYS masaüstü uygulaması wine üzerinde çalıştığı için çıktı almada da başarısız olunuyordu. Wine ortamının yapısından kaynaklı olarak evrakların çıktısını alamıyorduk. Yine prefix üzerinde ayarlamalar yaparak istenen yazıcıda çıktı alınabilir hale getirdim.
- Tüm bu yaptıklarım yeterli gelmedi. EBYS masaüstü uygulaması pdfleri gösteremiyordu. Bu sorunun çözümü için yine prefix üzerinde gerekli ayarlamalar ve yüklemeler gerçekleştirdim.
- İmzager yazılımını da prefix üzerine dahil ettim. Artık e-imzalı dosyalar da okunablir hale geldi.
- ÇKYS ve TSİM yazılımları için gerekli Orijinal Oracle Java sürümünü de bu prefix içerisine ekleyerek bonus olarak ÇKYS ve TSİM yazılımlarını da projeme dahil ettim. Ayrıca bu yazılımların sağlıklı olarak çalışabilmesi için Java ayarlarında izin verilmiş istisnai adresler kısmına eklememiz gereken adresleri de otomatik olarak ekledim. Dolayısıyla izin verilen adresleri haricen eklememize de gerek kalmadı. Not: OpenJDK ÇKYS ve TSİM uygulamalarını randımanlı olarak çalıştıramamaktadır hatta çalıştırabilmek için de harici eklentiye ihtiyaç duymaktadır. Bu yüzden orijinal Oracle Java kullanmak daha isabetli bir çözüm olacaktır.
- Bin bir emek harcayarak hazırladığım prefix yuvayı yüksek sıkıştırma ile sıkıştırarak 1 GB’nin altına düşürmeyi başardım ve bu sıkıştırılmış dosyayı her sisteme kolayca kurulabilecek şekilde deb haline getirdim. Ayrıca bu deb paketi masaüstüne ve menülere gerekli kısayolları da oluşturmaktadır.
- Herhangi bir nedenle prefix’in bozulması ihtimalini de gözeterek onarım özelliğini de projeme dahil ettim.
İlgili projemi https://sourceforge.net/projects/tcsaglikbakanligi-ebysckystsim/ üzerinde yayınlayarak kullanma sunuyorum.
Bu adreste projem ile birlikte gerekli bağımlılıklar da yer almaktadır.
BU projenin EBYS ile ilgili sorunları çözebilmesi ümidiyle…
Projem ile ilgili bilinmesi gerekenler:
T.C. Sağlık Bakanlığı EBYS, ÇKYS ve TSİM yazılımları tek pakette hizmetinizde
Bu paket T.C. Sağlık Bakanlığı Elektronik Belge Yönetim Sistemi, Çekirdek Kaynak Yönetim
Sistemi ve Temel Sağlık İstatistikleri Modülü yazılımlarını içermektedir.
Bu paketteki EBYS,
Seneka Yazılım tarafından T.C. Sağlık Bakanlığı için windows işletim sistemlerine göre
geliştirilen Elektronik Belge Yönetim Sistemi yazılımının Pardus, Ubuntu ve Debian
tabanlı sistemlerde çalışabilir hale getirilmiş sürümüdür.
Ayrıca bu paket MHRS Kurumsal giriş kısayolunu da içermektedir.
Muhammed Emin TOMBAK tarafından hazırlanmış ve debianize edilmiştir.
Önemli Bilgiler:
Bu yazılımın kurulabilmesi için öncelikle Wine ortamının yüklenmesi gereklidir.
Wine ortamını yüklemek için Pardus üzerinde birtakım ayarlamalar yapılmalıdır.
Sadece Wine ortamını yüklemek de yetmiyor. Wine normalde donanımları algılayamaz.
Haliyle Wine üzerinde e-imza ile giriş yapılan uygulamalar e-imzaları tanımayacaktır!
Wine ortamı için Mounir Idrassi tarafından geliştirilmiş SCard4Wine yaması
Wine ortamına uygulanmalıdır.
Siz uğraşmayın diye ben bunları yaptım. Bu ayarlamaları nasıl yapacağım diye üzülmeyin!
Tarafımca Wine ortamı için gerekli tüm yamalar özelleştirdiğim wine-mtombak_1_amd64.deb
paketine uygulanmıştır ve normalde parça parça yüklenen Wine deb paketleri
tek pakette birleştirilmiştir. Zahmetsiz bir şekilde Wine ortamını kurabilirsiniz.
Wine ortamını kolay bir şekilde yüklemek için e-imza-gerecleri-m-tombak-x64_1_amd64.deb
paketini yükledikten sonra uygulamalar menüsündeki “E imza Yapılandır” kısayolunu tıklayın.
Ardından açılan pencerede yetki için yetkili kullanıcı şifresini girin.
Ardından tarafımca yazılan betik E-imza için gerekli ayarlamaları yapacak,
Java ile e-imza’nın çalışması için gerekli e-imza tarayıcıyı yani Mozilla Firefox 52 ESR
özelleştirilmiş sürümünü kuracak ve ayrıca Wine ortamının kolayca kurulabilmesi için
gerekli tüm ayarlamaları otomatik olarak yapacak ve Wine ortamı için gerekli olan ancak
Pardus/Ubuntu/Debian paket deposunda yer almayan gerekli tüm bağımlılıkları yükleyecektir.
Ardından wine-mtombak_1_amd64.deb paketi ile e-imza destekli Wine ortamı kolayca
kurulacaktır.
Bu proje Pardus’un dışında Ubuntu 20.04 üzerinde de test edilmiştir ve
başarıyla çalışmıştır!
Wine ortamını kurduktan sonra EBYS projemi başarıyla yükleyebilirsiniz.
Wine Ortamının Kolayca Kurulum Aşamaları:
- oracle-java8u261-development-kit_8u261_amd64.deb paketi yardımıyla Java’yı yüklüyoruz.
- e-imza-gerecleri-m-tombak-x64_1_amd64.deb paketini kuruyoruz.
- uygulamalar menüsünde “E imza Yapılandır” kısayoluna tıklıyoruz.
- Yetkili kullanıcı şifresini giriyoruz.
- Açılan betik tüm ayarlama ve yüklemeleri tam otomatik yapacaktır.
- wine-mtombak_1_amd64.deb paketini kolayca yüklüyoruz.
Wine ortamını kurduktan sonra EBYS yazılımının yaşayacağı EBYS yuvasının
kurulması ve ayarlanması gereklidir.
tarafımca bu ayarlamalar da otomatikleştirilmiştir.
EBYS Yuvasının ve EBYS yazılımının Kurulum Aşamaları:
- tc-saglik-bakanligi-ebys-ckys-tsim_1_amd64_cevrimdisi.deb ya da
tc-saglik-bakanligi-ebys-ckys-tsim_1_amd64_cevrimici.deb paketini kuruyoruz.
Hangisini isterseniz kurabilirsiniz. cevrimdisi yazan paket EBYS yuvasını
içinde barındırdığı için oldukça büyük boyutludur.
cevrimici yazan paket içinde EBYS yuvasını barındırmadığı için
çok küçük boyutludur.
Cevrimici yazan paket EBYS yuvasını internetten çekecektir. - Uygulama menüsünde yer alan “EBYS ortamını yapılandırın” simgesine tıklıyoruz.
- Açılan konsol penceresindeki uyarıları dikkate alıyoruz.
- EBYS, ÇKYS ve TSİM için Java istisnalarını bu yazılımların çalışabilmesi için
e harfine basarak ve enter tuşuna basarak betiğin otomatik olarak yüklemesini sağlıyoruz. - Betik EBYS yazılımının yaşayacağı ortamı hazırlar. Cevrimici yazan paketi kurduysanız
EBYS yuvasını internetten çeker. Cevrimdisi yazan paketi kurduysanız bilgisayarınıza
önceden kurduğu yüksek oranda sıkıştırılmış EBYS yuvasını açarak kullanıma hazırlar. - Masaüstünüze yerleşen Sağlık Bakanlığı logosuna tıklıyoruz
- EBYS yazılımını yuvasına kuruyoruz
- EBYS kullanıma hazırdır!
EBYS yuvası herhangi bir nedenle bozulursa bu ihtimali de düşünerek onarım özelliğini
projeme dahil ettim.
Uygulama menüsünde yer alan “EBYS ortamını yapılandırın” simgesine tıkladığınızda
sisteminizde EBYS yuvası varsa betik sizi uyarır ve onarım yapıp
yapmayacağınızı sorar.
İsterseniz tam onarım isterseniz de kısmi onarım yapabilirsiniz.
Not: Bazı kullanıcılarda EBYS’ye tekrar girişlerde Hata mesajı görülebilir.
Bunun nedeni EBYS windows uygulamasını mecburen wine ile çalıştırdığımız için
EBYS yazılımı ilk girişte oturum açıyor ama daha sonra bazı kullanıcılarda
özellikle arşivleri ve diğer alt kullanıcıların evraklarını göremeyen kullanıcılarda
wine ortamından yaptığımız giriş işlemini yetkisiz işlem olarak algılıyor.
Dolayısıyla sonraki girişler için yetkimizi iptal ediyor. Böylece EBYS’ye
giriş yapıldığında “beklenmeyen hata” şeklinde bir hata iletisi karşımıza çıkıyor.
hata incelendiğinde 401 kodlu yetki hatası olduğu bariz gözüküyor.
Bu hatadan tarafımca keşfedilen bypass yöntemi ile kurtulmak mümkün olmaktadır.
Ancak her defasında bu bypass işleminin yapılması gerekmektedir.
Bypass için tarafımca keşfedilen 2 adet yöntem vardır.
Yöntem 1:
- Sağlık Bakanlığı Ortak Giriş Noktası adresine giriyoruz.
- Hata iletisi ile karşılaştığımız EBYS kullanıcı adı ve
şifremizi giriyoruz. - İlk defa giriş yapanlarda cep telefon numarası isteyecektir.
- Cep numaramızı girip doğrulama işlemiini yapıyoruz.
- Cep numaramızı zaten doğrulamışsak 3. ve 4. adımları atlıyoruz.
- Açılan ortak giriş noktası sayfasından EBYS bölümüne tıklıyoruz.
- EBYS bölümüne tıladığımızda EBYS hesabımız yeni sekmede açılır
ama klasörleri göremeyiz. - Açtığımız sekmeyi tekrar kapatıyoruz.
- Ortak giriş noktasında tekrar EBYS bölümüne tıklıyoruz.
- Bu sefer açılan EBYS hesabında klasörlerimiz gözükecektir.
Dolayısıyla yetkilerimiz geri verilmiştir. - Bu sekmeyi kapatarak tekrar EBYS masaüstü programına giriş yapabilirsiniz.
Uyarı:
7. Adımda EBYS hesabımız açılmıyor ve SARI HATA SAYFASINA DÜŞÜYORSA:
BU DURUMDA YÖNTEM 2 DEVREYE GİRECEKTİR.
YÖNTEM 2’Yİ UYGULAMAMIZ GEREKİR BU DURUMDA
YÖNTEM 2:
- Cep telefonumuzda playstore ya da apple store uygulama mağazasını açıyoruz.
- EBYS android/ios yazılımını aratıp bularak kuruyoruz.
- Yazılım kurulduktan sonra hata veren EBYS hesabımıza giriş yapıyoruz.
- Hesabımıza giriş yaptıktan sonra uygulamayı kapatıyoruz.
- Yetkilerimiz tekrar geri verilmiştir. EBYS masaüstü yazılımına
başarıyla giriş yapabiliriz.
Not: EBYS masaüstü yazılımına her girişten sonra bu ByPass yöntemlerinden
birini uygulamanız gerekmektedir.
EBYS masaüstü yazılımında hata almayanların bu ByPass işlemlerini
YAPMALARINA GEREK YOKTUR!
HATA ALMAYAN KULLANICILAR EBYS MASAÜSTÜ YAZILIMINI BYPASS YAPMADAN
SORUNSUZ KULLANABİLİR!
Bu hataların nedeni EBYS kaynaklıdır.
Arşivleri ve/veya diğer kullanıcılara gelen evrakları görme
yetkisi bulunan kullanıcılarda EBYS masaüstü yazılımı hata vermeyecektir.
UYARI: E-imza ile girişlerde zaman damgası geçersiz hatası alırsanız:
Yazılım wine ortamında çalıştığı için kurumunuzdaki güvenlik duvarı
wine ortamının ve Pardus’un Tübitak zaman damgası sunucularına bağlanmasını
ENGELLEYEBİLİR.
Genelde katı kurallar barındıran Güvenlik Duvarları bu engeli yapar.
Bu engelin nedeni Wine ortamının tam olarak Windows gibi
davranamaması nedeniyle oluşur.
Güvenlik Duvarları Pardus üzerinde Windows uygulamaları için
bir ara katman görevi üstlenen Wine ortamını tehdit olarak görebilir.
BU SORUNUN ÇÖZÜMÜ GÜVENLİK DUVARINDAN WİNE ORTAMININ TÜBİTAK ZAMAN DAMGASI
SUNUCULARINA ERİŞMESİ İÇİN İZİN VERMEKTİR.
EKRAN GÖRÜNTÜLERİ:
Yükleniyor: 2021-04-07 13-49-02 ekran görüntüsü.png…