adsense

21.11.2014

Weblogic Gömülü LDAP Sunucusunun Dışa Aktarımı (Exporting Weblogic Embedded LDAP Server)


Yeni kurduğumuz bir weblogic ortamımızda WLS security ream'deki kullanıcılarımızı tekrar oluşturmak yerine daha önce kullanılan bir ortamdan export etme imkanımız var. Bunun için aşağıdaki adımları izlemeliyiz.

Security Realms'e tıklayıp myrelam'e tıklanır.

 

Sonra Migration Tab'ına ve Export tab'ına tıklanır.


Export Directory Server kısmına dosyayı nereye kaydetmek istiyorsak o path yazılır. ve Save butonuna basılır. Aşağıda da görebileceğiniz gibi verdiğimiz path in altında şu 5 dosya oluşur.


Export işimiz tamamlandığına göre yeni kurduğumuz weblogic ortamımızda security Realms/myrealm/migration/import tab'ına gelinir. Export Directory Server kısmına dosyaları nereye kaydettiysek o path yazılır ve Save butonuna basılır. Böylece yeni user'larınızı import etmiş olursunuz.



Weblogic için güvenilir Sertifika yükleme



Özellikle E2E sistemlerde, gidilen servis veya uygulamanın https protokolden hizmet veriyor olması durumunda weblogic e SSL key tanımı yapılması gerekir. bu tanımlama yapılması için java nın keytool tool u kullanılır.

uygulama makinesine bağlantı yapıldıktan sonra

windows için /java/bin/keytool.exe

linux için /java/bin/keytool kullanılır.



keystore a sertifikanın tanımlanması için DemoTrust.jks (weblogicde default olarak kullanılan dosya) , veya tanımlanmış olan keystore kullanılır.




~java/bin/keytool -import -trustcacerts -alias sertifika.com.tr -file <sertifikanın oldugu path> -keystore [Oracle_HOME]//wlserver_10.3/server/lib/DemoTrust.jks




Not: DemoTrust.jks nin default şifresi DemoTrustKeyStorePassPhrase dir.

Admin Console URL Değiştirme




Console erişimi için kullanılan http://ip:port/console URL ini değiştirerek, default olarak kullanılan adres değiştirilebilir. Böylece admin servere ait ip ve port bilgilerinin bilinmesine rağmen console sayfasının görüntülenmesi engellenebilir.



1 -Domain Structure altından Domain Name seçilir.

2 -Sırasıyla Configuration > General sekmeleri altındaki Advanced tıklanır.

3 -Advanced kısmında bulunan Console Context Path yeniden düzenlenerek, URL değiştirilir.





Son hali console URL i; http://ip:port/mycontextpath

Hostname Verification Error - (Failed Hostname Verification Check)




Uygulamalar arasında gerçekleştirilen Https Url erişimlerde sertifika yüklü olmasına rağmen "failed hostname verification check. Certificate contained *. but check expected" hatası alınırsa aşağıdaki yöntemlerle çözüm sağlanabilir.

1.Yöntem
Admin konsol üzerinde her bir sunucu için Hostname Verification değeri "None" olarak set edilmeli.

* Suncunun SSL Tab'ında (WebLogic admin console -> Environment -> Servers -> Uygulama sunucu-X -> Configuration -> SSL)

*  "Lock & Edit" yapılır.

*  "Advanced" sekmesi açılır.

* "Hostname Verification" parametresi, default olarak gelen "BEA Hostname Verifier" yerine "None" olarak set edilir.

* Son olarak "Save" ve "Activate Changes" yapılarak sunucu restart edilir.








2. Yöntem
Admin konsol üzerinde her sunucu için server start parametrelerine "-Dweblogic.security.SSL.ignoreHostnameVerification=true" değeri eklenir.
Ya da...
$DOMAIN_HOME/bin dizininde bulunan startWeblogic.sh içerisine aşağıdaki satır eklenir.
"JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.security.SSL.ignoreHostnameVerification=true"



17.11.2014

AdminServer Does Not Start: java.lang.NumberFormatException: null

Bazı durumlarda (disk dolması vb.) Weblogic ortamımıza ait dosyaların bozulması söz konusu olabilir. Bu gibi durumlarda Admin server ı start etmek istersek running duruma gelmeyip down olacaktır. Logu kontrol ettiğimizde aşağıdaki gibi bir log görürüz:


<Nov 3, 2014 6:09:44 AM EET> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: java.lang.NumberFormatException: null

java.lang.NumberFormatException: null



        at java.lang.Integer.parseInt(Integer.java:417)

        at java.lang.Integer.parseInt(Integer.java:499)

        at weblogic.ldap.EmbeddedLDAP.validateVDEDirectories(EmbeddedLDAP.java:1104)

        at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:242)

        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

        Truncated. see log file for complete stacktrace

>

<Nov 3, 2014 6:09:44 AM EET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>

<Nov 3, 2014 6:09:44 AM EET> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>

<Nov 3, 2014 6:09:44 AM EET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN

Bu sorunun iki çözümü vardır.

1. Çözüm:

$DOMAIN_HOME/servers/AdminServer/data/ldap/conf/ altındaki replicas.prop adlı 0 KB boyutundaki dosyayı açıp "replica.num=0" satırını eklenmesi gerekir.

2. Çözüm:

$DOMAIN_HOME/servers/AdminServer/data/ldap/conf/ altındaki replicas.prop dosyasının isminin değiştirilmesi (replicas.prop.bkya da silinmesi gerekir. Weblogic server restart edildikten sonra bu dosya tekrar oluşur.


Weblogic Patch Geçme: OPATCH komutu


Weblogic domain e patch geçmeyi aşağıdaki yazımızda ele almıştık:

http://middleware-appteam.blogspot.com.tr/2014/07/weblogic-patch-gecme.html

Weblogic 12c versiyonundan itibaren Bea Smart Update (bsu) ile patch  geçme işlemi kaldırılarak patch işlemleri opatch fonksiyonuna kaydırılmıştır.

Bu işlemi aşağıdaki şekilde gösterdiğimiz gibi 3 adımda gerçekleştirebiliriz.
1. Geçilecek patchin ön şart olarak başka paket yüklemesi isteyip istemediğini sorgulama:

Spesifik bir Oracle Home dizinine paketin kurulabilmesi için başka bir paket&patch kurulumu gerekip gerekmediği aşağıdaki şekilde sorgulanır.

opatch apply <path_to_patch_directory> -report

2. Patch Geçme:

İlgili patch dosyayı Oracle Support sitesinden indirdikten sonra uygun bir dizine extract edilir ve opatch in bulunduğu dizine gidilerek ($WL_HOME/OPatch) aşağıdaki komut çalıştırılır:

./opatch apply /disk1/patches/15941858/

3.  Rollback:

opatch rollback -id 15941858


13.11.2014

Native Library(terminalio) not found hatası

Weblogic instance larımızı Nodemanager ile açıp kapatacağımız gibi domain kurulumu sonrasında DOMAIN_HOME/bin dizini altında otomatik olarak oluşan startManagedWeblogic.sh scripti ile komut satırından da çalıştırabiliriz:


./startManagedWebLogic.sh manageserver1 http://10.100.101.102:7001

Komut satırından çalıştırdığımızda işlemi nohup ile arka plana göndermeden çalıştırırsa ve user/password ü script içerisinde belirtmemişsek, script kullanıcı adı ve şifreyi terminalden elle girmemizi isteyecektir.
"terminalio" library si yüklü olmayan işletim sistemlerinde aşağıdaki hata alınacaktır:

<Nov 12, 2014 2:24:43 PM EET> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 20.9-b04-jre1.6.0.16-rc1 from Hewlett-Packard Company>
<Nov 12, 2014 2:24:44 PM EET> <Info> <Security> <BEA-090065> <Getting boot identity from user.>
Enter username to boot WebLogic server:weblogic
<Nov 12, 2014 2:24:46 PM EET> <Error> <Security> <BEA-090782> <Server is Running in Production Mode and Native Library(terminalio) to read the password securely from commandline is not found.>
<Nov 12, 2014 2:24:46 PM EET> <Notice> <WebLogicServer> <BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>

<Nov 12, 2014 2:24:46 PM EET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>

Bu hatayı aşmak için  aşağıdaki işlemleri yapmak yeterli olacaktır:

*İlgili manage server ın dizinine gidilir ve security klasörü yoksa yaratılır:

cd $DOMAIN_HOME/server/manageserver1
mkdir security

*Security dizini içerisinde boot.properties dosyası yaratılır ve içerisinde weblogic kullanıcı adı ve şifresi açık olarak aşağıdaki formatta yazılır:

username=weblogic
password=weblogic123

Sonrasında instance aynı şekilde tekrar çalıştırılır.