Yeni serverımıza geçtik. Evden yayın yapmak güzel bir hadise ama elektrik kesintileri yüzünden Google Hoca epey not kırdı. O da haklı. Sitemize geliyor ve evde yokuz. Olmaz tabi. Biz de Tomcat 5.0 yüklü bir serverda Plesk üzerinden yayın yapmak istedik.
Plesk'in kurduğu Tomcat'te siteyi çalıştırmak çok zor oldu gerçekten. Bir kere kodların bazıları Java 6 için yazılmış. Bunu ayarlamak için önceki Java dizinini (gcj) sildim ve Linux için Java 6 indirip bu dizine açtım. Tomcat'imiz Java 6 ile çalışmaya başladı.
Plesk kök dizinden Java uygulamalarını yayınlamak üzere ayarlanmamış. Mecburen http.include dosyasına müdahale ettim:
<VirtualHost 212.95.38.136:80>
ServerName muharremtac.com:80
ServerAlias www.muharremtac.com
<IfModule mod_jk.c>
JkMount / ajp13
JkMount /* ajp13
</IfModule>
</VirtualHost>
Lib dizinleri evlere şenlik. Bütün gerekli jarlar hep eski versiyonlara göre ayarlanmıştı, pek çoğunu yenileriyle güncelleştirdim. jakarta commons kütüphaneleri, xalan.jar, xercesImpl.jar, xml-apis.jar
WAR Deployment yapmak da bir işkence. Çünkü Plesk'in web tabanlı kendi kontrol panelinden 30 MB'lık bir WAR dosyası gitmiyor. Ya ne yapacağız. Mecburen scp ile war göndermek gerekti. WAR autodeployment yeri de şöyle : /usr/share/tomcat5/psa-webapps/muharremtac.com
FCKEditör'de çıkan sorun da hiç beklemediğim bir sorundu. Plesk WAR dosyalarını açmıyor. Sadece belli dizinleri açıyor. Mesela WEB-INF dizini. Yani jsp'ler ve fckeditör dizinleri açılmıyor. fckeditör dizini açılmadığı için de içindeki bazı dosyalara ulaşılamıyor tabi. Bu sorunu aşmak için connector.php dosyasını disable ettim. Bu sorun da düzeldi.
Umarım çatlama patlama olmaz ve böyle devam ederiz.
Uzun süreden beri Biletix'in PHP'den Java'ya taşınmasını örnek gösterip Javacılık'a baş koymakla ne kadar iyi ettiğimi söylüyordum ki birden Sahibinden.com gibi devasa bir Java kalesi PHP'ye geçti.
Bu da yetmezmiş gibi ne zaman Biletix'e girsem "Şu an sunucularımız çok yoğun lütfen bekleyiniz" mesajını alıyordum ve bu durum çok canımı sıkıyordu. Normalde bu çapta dev bir şirketin hele Ticketmaster ile de anlaştıktan sonra altyapı olarak minimum 3 makineli bir application server cluster kullandığını sanıyordum ki bugün aşağıdaki görüntüye tesadüf ettim.
Evet koskoca Biletix, Java diye Tomcat üzerinde çalışan bir uygulama kullanıyor. Eğer sistemin önünde bir loadbalancer varsa ve arkada pekçok Tomcat duruyorsa birşey diyemem. Ancak ilerisi için hiçbir Java teknolojisi kullanılmayacakmış gibi en azından JBOSS gibi bir uygulama sunucusu düşünmemiş olmaları çok yanlış.
Tabi güvenlik sorunsalı olarak da bu şekilde sunucu isminin görünmesi insanın aklına binbir türlü soru işareti getiriyor.
Umarım bana bu bu ekran görüntüsünü yayınladığım için kızmak yerine sistemlerini ve güvenlik düzeylerini iyileştirirler.
Java'nın karizmasını çizmeye kimsenin hakkı yok.
Tomcat'in önüne Apache koymak için AJP ve proxy olarak iki ayrı yol bulunuyor. AJP için heryerde örnek httpd.conf ayarı bulunmasına karşılık Proxy kullanıldığında bu işin nasıl yapılacağı hiçbir yerde bulunamıyor.
Bu sorunu aşağıdaki şekilde çözebilirsiniz:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@example.com
DocumentRoot C:\java\apache-tomcat-5.5.23\webapps\examaple
ServerName www.example.com
ErrorLog logs/example.com-error_log
CustomLog logs/example.com-access_log common
ProxyRequests Off
ProxyPass / http://localhost:8080/example/
ProxyPassReverse / http://localhost:8080/example/
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@test.com
DocumentRoot C:\java\apache-tomcat-5.5.23\webapps\test
ServerName www.test.com
ErrorLog logs/test.com-error_log
CustomLog logs/test.com-access_log common
ProxyRequests Off
ProxyPass / http://localhost:8080/test/
ProxyPassReverse / http://localhost:8080/test/
</VirtualHost>
Tabi mod_proxy 'yi açmanız gerekiyor.
Sanıyorum geçen seneydi.Bir laptopa ASP ile yazılmış bir uygulamayı kurmam gerekiyordu. Uygulama SQL server veritabanını kullanıyordu. Benim için gayet kolay bir iş diye düşünmüş ve akşam 21:00`den gece 03:00`e kadar uğraşmıştım çünkü sistemde işletim sistemi olarak Windows XP Home Edition ve sistemciyi çıldırtma yazılımı olarak
Deepfreeze yüklüydü. XP Home`a IIS yüklemek kolaydır aslında. Bununla ilgili birsürü makale vardır. Fakat elinizde bir XP Home CD`si olacak yoksa Professional CD`si ile olmuyor(muş).Neyse ki o akşam beni
Sun ASP kurtardı.Eski adıyla Chilisoft olan yazılımı Sun Microsytems satın almış ve Sun ASP adını vermişti. O akşam beni en çok uğraştıran şey sitede Apache`de çalıştığının söylenmesine karşılık Apache 2.0`da hiç çalışmaması ve Apache 1.3`de de istediğim gibi çalışmaması olmuştu.Ben de Sun Application Server kurmuş ve Sun ASP`yi burada çalıştırmıştım.Deepfreeze ise başka bir bela. Parolayı bilmiyorsanız yapacak hiçbirşeyiniz yok. Ben de o akşam küçük bir brute force denemiş ve üçüncü denemede parolanın 12345 olduğunu bulmuştum.
Sonunda uygulamayı çalıştırmayı başarmıştım ama Windows XP Home Edition + Sun Application Server + Sun ASP + ASP uygulamasından oluşan hilkat garibesi bir hibrid teslim etmiştim.
JSP Desteği Verin
Hosting şirketlerinin şu anda yapabilecekleri en büyük çıkış JSP desteği vermek olacaktır.Java alemindeki en büyük taleplerden biri JSP hosting hizmeti. Bu konuda korkunç bir talep var.Bir şirketi ve sunucusu olanların tek yapması gereken şey sisteme bir
Tomcat kurmak.Port hiç önemli değil. 8084`e bile razıyız. Yeter ki JSP uygulamalarımız çalışsın.Daha kurumsal düşünenler
Jboss kurabilirler. Bu sunucular için kimseye beş kuruş para vermeniz gerekmiyor.
Başta anlattığım hikaye ile ikinci bölümdeki JSP talebini birleştirdiğim zaman şu adres karşımıza çıkıyor :
http://www.lunarpages.com/
Lunarpages adlı web hosting şirketi PHP,PYTHON,PERL,JSP ve ASP desteği veriyor.Farkettiyseniz ASP.NET yok. Niye ? Çünkü bu sistem bir POSIX. Sistem yöneticileri biraz daha kasarsa
Mono ile buraya ASP.NET de kurabilir.Kim demişti Windows makineleri daha çok web teknolojisi destekliyor diye?