seam_gen ile otomatik entity oluşturduktan sonra, liste görünümünden "edit" ile kayıt detayına geçildiğinde,
ilişkili entity/entityler varsa ilgili fieldları rich:tabPanel komponentinde birer tab olarak ekliyor.
birden fazla ilişkili entity olduğunda bunların her biri için oluşturduğu "change" (null ise select) butonlarının id değerlerine aşağıdak görebileceğiniz şekilde tek bir atama yapıyor, ki bu da sorun oluşturuyor.
hata kodu şu şekilde :
"java.lang.IllegalStateException: duplicate Id for a component selectParent"
çözümü aşağıdaki gibi imiş :
/(seam_klasoru)/seam-gen/view/
altındaki "edit.xhtml.ftl" dosyasında
‹s:button id="${'#'}{${homeName}.instance.${property.name} != null ? 'changeParent' : 'selectParent'}" value="${'#'}{${homeName}.instance.${property.name} != null ? 'Change' : 'Select'} ${property.name}"
view="/${parentPageName}List.xhtml"›
satırını
‹s:button id="${'#'}{${homeName}.instance.${property.name} != null ? 'changeParent_${property.name}' : 'selectParent_${property.name}'}" value="${'#'}{${homeName}.instance.${property.name} != null ? 'Change' : 'Select'} ${property.name}"
view="/${parentPageName}List.xhtml"›
şeklinde değiştirin.
1 Mart 2010 Pazartesi
9 Kasım 2009 Pazartesi
Eclipse üzerinde yeni bir Seam Web Project oluşturduktan sonra html dosyalarını "Jboss Tools HTML Editor" ile açamıyordum. Projenin bulunduğu workspace'de (/path_to/workspace/.metadata/.log) bulunan log dosyasına baktığımda hata kodu aşağıdaki gibiydi:
!ENTRY org.eclipse.ui 4 0 2009-11-09 16:02:32.436
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.UnsatisfiedLinkError: /home/ccanaslan/EclipseInstallations/eclipse_for_seam/plugins/org.mozilla.xulrunner.gtk.linux.x86_1.8.1.3-20070904/xulrunner/libjavaxpcomglue.so: libstdc++.so.5: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)
at java.lang.Runtime.load0(Runtime.java:769)
at java.lang.System.load(System.java:968)
at org.mozilla.xpcom.internal.JavaXPCOMMethods.registerJavaXPCOMMethods(JavaXPCOMMethods.java:57)
at org.mozilla.xpcom.internal.MozillaImpl.initialize(MozillaImpl.java:48)
at org.mozilla.xpcom.Mozilla.initialize(Mozilla.java:668)
at org.jboss.tools.vpe.xulrunner.browser.XulRunnerBrowser.initXulRunner(XulRunnerBrowser.java:120)
at org.jboss.tools.vpe.xulrunner.browser.XulRunnerBrowser.(XulRunnerBrowser.java:87)
at org.jboss.tools.vpe.xulrunner.editor.XulRunnerEditor.(XulRunnerEditor.java:126)
at org.jboss.tools.vpe.editor.mozilla.MozillaEditor$5.(MozillaEditor.java:282)
at org.jboss.tools.vpe.editor.mozilla.MozillaEditor.createPartControl(MozillaEditor.java:282)
at org.jboss.tools.vpe.editor.VpeEditorPart.createVisualEditor(VpeEditorPart.java:769)
at org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor.pageChange(JSPMultiPageEditor.java:247)
at org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor.createPages(JSPMultiPageEditor.java:438)
at org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditorPart.createPartControl(JSPMultiPageEditorPart.java:125)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:262)
at org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:98)
at org.eclipse.ui.internal.presentations.PresentablePart.setFocus(PresentablePart.java:192)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:94)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:272)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.handleMouseDown(AbstractTabFolder.java:342)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder$3.mouseDown(AbstractTabFolder.java:79)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3033)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
/usr/lib/ dizini altında libstdc++.so.6.0.10 vardı,
sorun "yum install libstdc++.so.5" komutu ile çözüldü.
!ENTRY org.eclipse.ui 4 0 2009-11-09 16:02:32.436
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.UnsatisfiedLinkError: /home/ccanaslan/EclipseInstallations/eclipse_for_seam/plugins/org.mozilla.xulrunner.gtk.linux.x86_1.8.1.3-20070904/xulrunner/libjavaxpcomglue.so: libstdc++.so.5: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)
at java.lang.Runtime.load0(Runtime.java:769)
at java.lang.System.load(System.java:968)
at org.mozilla.xpcom.internal.JavaXPCOMMethods.registerJavaXPCOMMethods(JavaXPCOMMethods.java:57)
at org.mozilla.xpcom.internal.MozillaImpl.initialize(MozillaImpl.java:48)
at org.mozilla.xpcom.Mozilla.initialize(Mozilla.java:668)
at org.jboss.tools.vpe.xulrunner.browser.XulRunnerBrowser.initXulRunner(XulRunnerBrowser.java:120)
at org.jboss.tools.vpe.xulrunner.browser.XulRunnerBrowser.
at org.jboss.tools.vpe.xulrunner.editor.XulRunnerEditor.
at org.jboss.tools.vpe.editor.mozilla.MozillaEditor$5.
at org.jboss.tools.vpe.editor.mozilla.MozillaEditor.createPartControl(MozillaEditor.java:282)
at org.jboss.tools.vpe.editor.VpeEditorPart.createVisualEditor(VpeEditorPart.java:769)
at org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor.pageChange(JSPMultiPageEditor.java:247)
at org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor.createPages(JSPMultiPageEditor.java:438)
at org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditorPart.createPartControl(JSPMultiPageEditorPart.java:125)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:661)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594)
at org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:262)
at org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:98)
at org.eclipse.ui.internal.presentations.PresentablePart.setFocus(PresentablePart.java:192)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:94)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:272)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.handleMouseDown(AbstractTabFolder.java:342)
at org.eclipse.ui.internal.presentations.util.AbstractTabFolder$3.mouseDown(AbstractTabFolder.java:79)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:179)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3401)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3033)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
/usr/lib/ dizini altında libstdc++.so.6.0.10 vardı,
sorun "yum install libstdc++.so.5" komutu ile çözüldü.
Etiketler:
Eclipse,
fc10,
Jboss Tools HTML Editor,
libstdc++.so.5,
Seam
23 Mart 2009 Pazartesi
fc10 JAVA Kurulumları ve Alternatives Ayarları
1) İndirdiğimiz jdk-1_5_0_17-linux-i586.bin ve jdk-6u12-linux-i586.bin dosyalarını /usr/lib/jvm/ altına kopyalayalım.
2) Sırasıyla aşağıdakileri yapalım :
# ./jdk-1_5_0_17-linux-i586.bin (kurulum esnasında lisans sözleşmesini "yes" yazarak onaylayalım)
# rm -f jdk-1_5_0_17-linux-i586.bin
# ./jdk-6u12-linux-i586.bin (kurulum esnasında lisans sözleşmesini "yes" yazarak onaylayalım)
# rm -f jdk-6u12-linux-i586.bin
3) java için
# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
sırasıyla
# alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_12/jre/bin/java 16012
# alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.5.0_17/jre/bin/java 15017
NOT =
usage: alternatives --install link name path priority
jdk1.6.0_12 için :
link : /usr/bin/java
name : java
path : /usr/lib/jvm/jdk1.6.0_12/jre/bin/java
priority : 16012 (jdk1.6.0_12)
jdk1.5.0_17 için :
link : /usr/bin/java
name : java
path : /usr/lib/jvm/jdk1.5.0_17/jre/bin/java
priority : 15017 (jdk1.5.0_17)
bittikten sonra :
# alternatives --config java
There are 4 programs which provide 'java'.
Selection Command
-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
* 3 /usr/lib/jvm/jdk1.6.0_12/jre/bin/java
4 /usr/lib/jvm/jdk1.5.0_17/jre/bin/java
NOT = "+" işareti seçili olan kurulumu, "*" işareti ise priority olarak en yüksek versiyonu gösteriyor (jdk1.6.0_12 için 16012 vermiştik)
4) libjavaplugin.so için :
# alternatives --config libjavaplugin.so
There is 1 program that provides 'libjavaplugin.so'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/lib/i386/IcedTeaPlugin.so
sırasıyla
alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/lib/jvm/jdk1.5.0_17/jre/plugin/i386/ns7/libjavaplugin_oji.so 15017
ve
alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/lib/jvm/jdk1.6.0_12/jre/plugin/i386/ns7/libjavaplugin_oji.so 16012
bittikten sonra :
# alternatives --config libjavaplugin.so
There are 3 programs which provide 'libjavaplugin.so'.
Selection Command
-----------------------------------------------
1 /usr/lib/jvm/jre-1.6.0-openjdk/lib/i386/IcedTeaPlugin.so
2 /usr/lib/jvm/jdk1.5.0_17/jre/plugin/i386/ns7/libjavaplugin_oji.so
*+ 3 /usr/lib/jvm/jdk1.6.0_12/jre/plugin/i386/ns7/libjavaplugin_oji.so
Bu da bitti :)
2) Sırasıyla aşağıdakileri yapalım :
# ./jdk-1_5_0_17-linux-i586.bin (kurulum esnasında lisans sözleşmesini "yes" yazarak onaylayalım)
# rm -f jdk-1_5_0_17-linux-i586.bin
# ./jdk-6u12-linux-i586.bin (kurulum esnasında lisans sözleşmesini "yes" yazarak onaylayalım)
# rm -f jdk-6u12-linux-i586.bin
3) java için
# alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
sırasıyla
# alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_12/jre/bin/java 16012
# alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.5.0_17/jre/bin/java 15017
NOT =
usage: alternatives --install link name path priority
jdk1.6.0_12 için :
link : /usr/bin/java
name : java
path : /usr/lib/jvm/jdk1.6.0_12/jre/bin/java
priority : 16012 (jdk1.6.0_12)
jdk1.5.0_17 için :
link : /usr/bin/java
name : java
path : /usr/lib/jvm/jdk1.5.0_17/jre/bin/java
priority : 15017 (jdk1.5.0_17)
bittikten sonra :
# alternatives --config java
There are 4 programs which provide 'java'.
Selection Command
-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.5.0-gcj/bin/java
* 3 /usr/lib/jvm/jdk1.6.0_12/jre/bin/java
4 /usr/lib/jvm/jdk1.5.0_17/jre/bin/java
NOT = "+" işareti seçili olan kurulumu, "*" işareti ise priority olarak en yüksek versiyonu gösteriyor (jdk1.6.0_12 için 16012 vermiştik)
4) libjavaplugin.so için :
# alternatives --config libjavaplugin.so
There is 1 program that provides 'libjavaplugin.so'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/lib/i386/IcedTeaPlugin.so
sırasıyla
alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/lib/jvm/jdk1.5.0_17/jre/plugin/i386/ns7/libjavaplugin_oji.so 15017
ve
alternatives --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so /usr/lib/jvm/jdk1.6.0_12/jre/plugin/i386/ns7/libjavaplugin_oji.so 16012
bittikten sonra :
# alternatives --config libjavaplugin.so
There are 3 programs which provide 'libjavaplugin.so'.
Selection Command
-----------------------------------------------
1 /usr/lib/jvm/jre-1.6.0-openjdk/lib/i386/IcedTeaPlugin.so
2 /usr/lib/jvm/jdk1.5.0_17/jre/plugin/i386/ns7/libjavaplugin_oji.so
*+ 3 /usr/lib/jvm/jdk1.6.0_12/jre/plugin/i386/ns7/libjavaplugin_oji.so
Bu da bitti :)
Fedora 10 ile Amarok 1.4
fc9'dan fc10'a geçişte NetworkManager probleminden sonra en çok canımı sıkan şey Amarok'un 2.0 versiyonu idi. Alışkanlık ve daha ziyade equalizer özelliği yüzünden fc9'da kullandığım Amarok 1.4'ü mumla arar oldum. Her ne kadar ileriki versiyonlarda bunu ekleyecekleri bilgisi verilse de bir şekilde 1.4 e ulaşabilmeliydim. Sorunumun çözümüne tam da Amarok 1.4 in F10 adresindeki 43 no'lu post ile ulaştım.
İlk iş olarak mevcut amarok'u kaldirdim. Akabinde http://forums.fedoraforum.org/showpost.php?p=1121821&postcount=43 'de linkleri verilen rpm'leri lokalime indirip kurmaya giriştim :
ancak bu esnada
Daha sonra
Bu sefer de aldığım hata şöyleydi :
Çözümü bir öncekine benzer :
Son olarak
Bu noktada unutmamanız gerekenler,
Ayrıca sonraki güncellemelerde Amarok 2.0 'a sobelenmemek için
fc10 ve Amarok 1.4 artık bir arada.
İşlem tamam :)
İlk iş olarak mevcut amarok'u kaldirdim. Akabinde http://forums.fedoraforum.org/showpost.php?p=1121821&postcount=43 'de linkleri verilen rpm'leri lokalime indirip kurmaya giriştim :
$ sudo yum localinstall amarok-1.4.10-1.fc10.i386.rpm
ancak bu esnada
Package amarok-1.4.10-1.fc10.i386.rpm is not signedhatası ile karşılaştım. Çözümü
/etc/yum.confdosyası içerisindeki
gpgcheck=1satırını
gpgcheck=0şeklinde değiştirmek.
Daha sonra
$ sudo yum localinstall amarok-visualisation-1.4.10-1.fc10.i386.rpmile amarok-visualizations'ı kurdum.
Bu sefer de aldığım hata şöyleydi :
Package amarok-visualisation is obsoleted by amarok, trying to install amarok-2.0.2-3.fc10.i386 instead
Nothing to do
Çözümü bir öncekine benzer :
/etc/yum.confdosyası içerisindeki
obsoletes=1satırını
obsoletes=0şeklinde değiştirmek.
Son olarak
$ sudo yum localinstall amarok-extras-freeworld-1.4.10-1.fc10.noarch.rpmile extras kurulumunu da tamamladım.
Bu noktada unutmamanız gerekenler,
/etc/yum.confiçindeki
obsoletesve
gpgchecksatırlarını tekrar 1 'e ayarlamak.
Ayrıca sonraki güncellemelerde Amarok 2.0 'a sobelenmemek için
exclude=amarok*satırını eklemek.
fc10 ve Amarok 1.4 artık bir arada.
İşlem tamam :)
22 Şubat 2009 Pazar
SSL Sertifikasi Olusturma (Fedora 9 - Apache)
Hersey makinamda bulunan sirket web sitesinin test versiyonunun guvenli sayfalarini kontrol etmem esnasinda ortaya cikti. Arkadasimin ssh yapip lokalimde olusturdugu ssl sertifikasinin gecerlilik suresi dolmustu ve benim de nasil yapildigi hakkinda en ufak bir fikrim yoktu :)
Oncelikle; yaptigim arastirmada ssl sertifikasinin suresinin uzatilamadigini, bunun yerine yeniden olusturulmasi gerektigini ogrendim. Bu islemi 2 sekilde yapabiliyoruz: ilki "openssl" ile, digeri de "/etc/pki/tls/certs/Makefile" scriptini kullanarak. Aslinda Aslinda bu script zaten asagida anlatacagim ornegi, sertifika dosya adini parametre olarak almak yoluyla yerine getiriyor(ornek : /etc/pki/tls/certs/make localhost.crt). Scripti acip incelediginizde goreceksiniz.
On bilgi
----------------------------------
Fedora 9'da
sertifika (.crt) dosyalari /etc/pki/tls/certs
key (.key) dosyalari ise /etc/pki/tls/private altinda tutuluyor.
*ssl - Secure Sockets Layer
*tls - Transport Layer Security
*pki - Public Key Infrastructure
openssl ile olusturma
/etc/pki/tls/certs/Makefile scriptini kullanarak olusturma
Bu islem cok daha basit. Zira soz konusu script ilk yontemde anlatilan islemleri, parametre olarak aldigi dosya adi ile gerceklestiriyor:
Bu noktadan itibaren yapilacalar, ilk yontemin 9.maddesinden sonrasi ile aynidir:
Bitti :))
Oncelikle; yaptigim arastirmada ssl sertifikasinin suresinin uzatilamadigini, bunun yerine yeniden olusturulmasi gerektigini ogrendim. Bu islemi 2 sekilde yapabiliyoruz: ilki "openssl" ile, digeri de "/etc/pki/tls/certs/Makefile" scriptini kullanarak. Aslinda Aslinda bu script zaten asagida anlatacagim ornegi, sertifika dosya adini parametre olarak almak yoluyla yerine getiriyor(ornek : /etc/pki/tls/certs/make localhost.crt). Scripti acip incelediginizde goreceksiniz.
On bilgi
----------------------------------
Fedora 9'da
sertifika (.crt) dosyalari /etc/pki/tls/certs
key (.key) dosyalari ise /etc/pki/tls/private altinda tutuluyor.
*ssl - Secure Sockets Layer
*tls - Transport Layer Security
*pki - Public Key Infrastructure
openssl ile olusturma
- Konsol acip root olalim :
[ccanaslan@ccanaslan ~]$ su -
- Sertifika dosyalarinin bulundugu dizine gidelim :
[root@ccanaslan ~]# cd /etc/pki/tls/certs
- 1024 bit uzunlugunda (default 512), des3 cipher ile encrypt edilmis, localhost.key adinda RSA private key'i olusturalim :
[root@ccanaslan certs]# openssl genrsa -des3 1024 > localhost.key
- Sifre isteyecek, min.4 haneli bir sifre girin. Ne oldugu cok onemli degil, zaten key'in sifre sorma rutinini disable edecegiz. Yoksa apache'yi her resetlemede bu sifreyi soruyor :) Sifreyi verify ettikten sonra localhost.key dosyasinin olustugunu goreceksiniz.
- kisaca; localhost.key key'ini kullanarak, 1 yil gecerli olacak olan localhost.crt sertifika dosyasini olusturalim :
[root@ccanaslan tls]# openssl req -utf8 -new -key localhost.key -x509 -days 365 -out localhost.crt -set_serial 0
- 4. maddede girmis oldugunuz sifreyi soracak,girip enter'a basin.
- Bu noktada, sizden sertifika tanimlamalarinda kullanilacak bazi bilgiler isteyecek. Bu bilgileri doldurabilir ya da enter'a basarak default degerleri almasini saglayabilirsiniz. (Default degerler /etc/pki/tls/openssl.cnf dosyasinda tutulmakta, isterseniz degistirebilirsiniz. Asagidaki gosterim, ilgili dosyanin degistirilmesinden sonraki halidir). Common Name (eg, your name or your server's hostname) []: sorusunu "localhost.localdomain" girerek gecelim. Goruntu asagidakine benzer olacaktir :
[root@ccanaslan certs]# openssl req -utf8 -new -key localhost.key -x509 -days 365 -out localhost.crt -set_serial 0
Enter pass phrase for localhost.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [TR]:
State or Province Name (full name) [Maslak]:
Locality Name (eg, city) [Istanbul]:
Organization Name (eg, company) [Biletix A.S.]:
Organizational Unit Name (eg, section) [Software Development]:
Common Name (eg, your name or your server's hostname) []:localhost.localdomain
Email Address []:ccanaslan@biletix.com
[root@ccanaslan certs]# - Artik elimizde localhost.key ve localhost.crt dosyalari mevcut. Bu dosyalari "chmod 600 localhost*" komutunu kullanarak sadece root tarafindan okunup yazilabilecek seviyeye getirelim
[root@ccanaslan certs]# ll localhost*
-rw-r--r-- 1 root root 1407 2009-02-11 18:29 localhost.crt
-rw-r--r-- 1 root root 963 2009-02-11 18:18 localhost.key
[root@ccanaslan certs]# chmod 600 localhost*
[root@ccanaslan certs]# ll localhost*
-rw------- 1 root root 1407 2009-02-11 18:29 localhost.crt
-rw------- 1 root root 963 2009-02-11 18:18 localhost.key - localhost.key dosyasini /etc/pki/tls/private dizinine tasiyalim (bkz. On bilgi) ve bu dizine gecelim.
[root@ccanaslan certs]# mv localhost.key ../private/
[root@ccanaslan certs]# cd ../private/
- 4. maddede bahsettigim, sifre sorma rutinini iptal etme islemini yapalim:
[root@ccanaslan private]# cp localhost.key localhost.bak
[root@ccanaslan private]# openssl rsa -in localhost.bak -out localhost.key
Enter pass phrase for localhost.bak:
writing RSA key - Apache'yi restart edelim:
[root@ccanaslan private]# apachectl restart
/etc/pki/tls/certs/Makefile scriptini kullanarak olusturma
Bu islem cok daha basit. Zira soz konusu script ilk yontemde anlatilan islemleri, parametre olarak aldigi dosya adi ile gerceklestiriyor:
[root@ccanaslan ~]# cd /etc/pki/tls/certs
[root@ccanaslan certs]# make localhost.crt
Bu noktadan itibaren yapilacalar, ilk yontemin 9.maddesinden sonrasi ile aynidir:
[root@ccanaslan certs]# mv localhost.key ../private/
[root@ccanaslan certs]# cd ../private/
[root@ccanaslan private]# cp localhost.key localhost.bak
[root@ccanaslan private]# openssl rsa -in localhost.bak -out localhost.key
Enter pass phrase for localhost.bak:
writing RSA key
[root@ccanaslan private]# apachectl restart
Bitti :))
Kaydol:
Kayıtlar (Atom)