Çarşamba, Şubat 17, 2010
pid file /opt/csw/apache2/var/run/httpd.pid overwritten -- Unclean shutdown of previous Apache run
Gecenin bir vakti insan Apache sürümleri, MPM worker , CSW ve SunFreeware repositoryleri gibi derin konularla uğraşınca ve de yorulmuşsa bazen okuyanı güldürecek derecede basit sorunların peşinde helak oluyor.
"Ockham'ın usturası" önermesi de birazdan anlatacağım bu duruma çok uygun düşüyor sanırım.
Ockham'ın usturası :
Latincesi "Entia non sunt multiplicanda praeter necessitatem" olarak geçen ; "bir meselenin birden çok açıklaması varsa, ve hepsi de aynı derecede kuvvetli ise, yani bir açıklamayı diğerlerinden üstün tutmak için elle tutulur bir neden yok ise, basit açıklamanın daha faydalı olacağı görüşü"dür.
Neyse, daha fazla saptırmadan konumuza dönelim.
Daha önce Sunfreeware'den alınma Apache 2.2.x paketlerini kullanırken, MPM worker sorunu nedeniyle artık mpm olarak derlenmiş olan ve CSW tabanlı Apache paketini kullanmaya başladık. Ancak daha öncesinde de "Limiting Service Privileges in the Solaris™ 10 Operating System" belgesine dayanarak Apache SMF servisini de 'webservd' hesabı altında kısıtlamış ve çalışır hale getirmiştik.
Ne olduysa zaten bu noktada oldu. Komik ve de gerçek.
Apache servisi normalde 'webservd' hesabı altında açılmalı ve 2-3 prosesten fazlası olmamalıydı. Ancak root, nobody ve webservd olarak 3 farklı hesap altında farklı prosesler görüyorduk. root ile açılan proses 1 no'lu idi ve öldüremiyorduk. Diğer yandan da aşağıdaki hata mesajını almaktaydık.
"pid file /opt/csw/apache2/var/run/httpd.pid overwritten Unclean shutdown of previous Apache run"
Neler düşünmedik ki ? PID dosyasının sahipliğini normal kipte değiştirmeyi, single user mode'da değiştirmeyi , /etc/init altında içinde httpd geçen dosyaları aratmayı vs.vs. o an uykulu kafayla akla gelebilecek envai çeşit (cahil) yöntem denendi ama hiç biri işe yaramadı.
Sonuçta ne mi çıktı ? En basit önerme tabi. CSW paketi hiç de tahmin etmediğimiz şekilde kendi SMF servisini yazmış ve çalıştırmıştı. Ayrıca biz de Apache servisi için SMF yazmış ve çalıştırmıştık. Bizimkini öldürüken aynı zamanda başka bir servisle yarışmaya çalışıyorduk. :) Servislerden birini silince sorun kendiliğinden düzeldi. Artık httpd proseslerini istediğimiz gibi kapatabiliyorduk.
Perşembe, Şubat 11, 2010
NTP zaman ayarı ve Solaris 10
server 0.europe.pool.ntp.org
server 1.europe.pool.ntp.orgserver 2.europe.pool.ntp.org
Salı, Şubat 09, 2010
SecureCRT ve şifresiz SSH login (1)
- Öncelikle (~) home folder altında .ssh klasörünü açmalısınız.
- SecureCRT'nin oluşturduğu identitiy.pub dosyasını UNIX sunucunuza kopyalayınız.
- touch ~/.ssh/authorized_keys dosyasını oluşturunuz.
- cat identitiy.pub>>~username/.ssh/authorized_keys ile oluşturduğunuz anahtarı genel anahtar dosyanıza kayıt ediniz. Burada yönlendirmenin sonuna yaz (append) '>>' şeklinde yapılmasının sebebi, farklı sunuculardan gelecek farklı public key'lerin aynı dosyada toplanabilmesini sağlamaktır. Birazdan okuyacağınız gibi iki UNIX host arasında da anahtar değiş tokuşu ile SSH login sağlamak mümkün olacaktır.
Pazartesi, Şubat 01, 2010
Link : TMG (ISA Server) donanım tavsiyeleri
Link : TMG (ISA Server) Best Practices Analyzer
Windows NTFS disk checking işlemini iptal etmek
Benzer durumlarda Registry'den disk kontrolünü iptal etmek için aşağıdaki anahtarı değiştirmeniz yeterli olacaktır.
My Computer\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\SessionManager\BootExecute
kaydındaki " autocheck autochk * " dışındaki tüm bilgileri silerek disk kontrolünün başlamasını engelleyebilirsiniz.
Pazar, Ocak 31, 2010
Link : Top 20 Most Valued Backup Exec Articles
Cuma, Ocak 29, 2010
Link : My 10 UNIX Command Line Mistakes
http://www.cyberciti.biz/tips/my-10-unix-command-line-mistakes.html
Jboss SMF hizmet delegasyonu (delegation) ve RBAC (1.kısım)
Bu konuda ne yazık ki çok fazla kaynak yok. Sun'ın bir kaç belgesi ve bir kaç blog yazısı dışında bir şeye rastlayamadım. Ancak olanları derleyerek aşağıdaki yönteme ulaştım. Bu yöntemin çalışabilmesi için hizmetin SMF'e dönüştürülmüş olması, network/jboss olarak kayıt edilmiş olması ve hizmeti devredecek 'jboss ' adında bir hesap açmış olmanız gerekiyor.
# vi /etc/security/auth_attr
dosya içinde en son satıra eklenir > solaris.smf.manage.network/jboss:::Jboss servisi
# usermod -A solaris.smf.manage.network/jboss jboss
# svcprop -p general network/jboss
# svccfg -s network/jboss setprop general/action_authorization=astring: solaris.smf.manage.network/jboss
# svcadm refresh network/jboss
# svcprop -p general network/jboss
Buraya kadar olan kısımı uyguladığınızda servisi yeniden başlatma yetkisini kullanıcıyı devretmiş oldunuz. Bundan sonrasını uyguladığınızda ise servisi enable / disable etme yetkisini de devrediyorsunuz.
# svccfg -s network/jboss setprop general/value_authorization=astring: solaris.smf.manage.network/jboss
Salı, Ocak 26, 2010
64bit Windows 2003, SQL 2005 ve MSXML6.0 problemi
Çözüm aşağıdaki makalede.
error 3 : bad or corrupt data while decompressing file
sh> rm -f /a/platform/i86pc/boot_archivesh> bootadm update-archive -R /ash> rebootSalı, Ocak 19, 2010
Tomcat 6 SMF servisi oluşturma (Solaris 10)
Çarşamba, Ocak 13, 2010
BackupExec 12.5, Windows 2008 ve file system caching
BackupExec 12.5 kullandığımızdan bu yana en büyük sorunlarımızdan biri, BE sunucusunda 64 bit Windows 2008 kullanmamıza rağmen yüksek File Caching Service bellek tüketimiydi. Bu tüketim çoğunlukla öyle noktalara çıkıyordu ki, uygulamanın performansını etkilemesi bir yana, 0 byte serbest bellek nedeniyle korkunç miktarda sayfalama hatalarıyla (paging) sunucunun performansını bile düşürmekteydi.
Pazartesi, Aralık 14, 2009
Solaris 10'da disk kotasını etkin hale getirmek
- kota uygulanacak her dosya sistemininin kökünde 'quotas' dosyası yaratılır.
# touch /app/quotas /quotas
- dosyanın yetkileri root hesabıyla düzenlenir.
# chmod 600 /app/quotas /quotas
- kota uygulanacak tüm dosya sistemleri için /etc/vfstab dosyasında 'options' alanına 'rq' kaydı eklenir. Bu işlem sonrasında sunucunun yeniden başlatılması gerekmemektedir.
# vi /etc/vfstab
- Kota etkin hale getirilir.
# quotaon -va
- Hangi kullanıcı için kota belirlenecekse , bu kullanıcı için ilgili komut çalıştırılır.
# edquota test01
- Eğer birden fazla kullanıcı için kota uygulanacaksa, bir kullanıcı hesabı şablon olarak seçilebilir. Aşağıdaki komuttaki ilk kullanıcı şablona esas alınacak kullanıcıdır.
# edquota -p test01 test02 test03
Cuma, Kasım 20, 2009
NFS automount problemi Solaris 10
Link : Solaris 10 yama yönetiimi
Defunct process'leri öldürmek
Çarşamba, Kasım 18, 2009
Güvenli Apache kurulumu (1) : Not
Farklı zamanlarda yaptığım iki kurulumda aynı sorun ve dosyayı gördüm. Her ikisinde de httpd.pid dosyasının sahibi hala root:root idi. Dosyanın sahibini webservd olarak değiştirerek servisi yeniden başlatınca, Apache servisi olması gerektiği gibi "webservd" hesabı altında çalıştı.
Cuma, Kasım 13, 2009
Güvenli Apache kurulumu (1)
Solaris 10 sunucularımızda Apache 2.2.x sürümlerini çalıştırmak için hazırlık yapıyoruz. Elbette güvenli kurulumun üzerinde yine aynı şekilde güvenli modda çalışan uygulamalar istediğimiz için Apache web server'ın da güvenli kurulumuna dair araştırmalar yapmaya başladık.
Bu ilk kısımda Sun'ın bu konuda yayınlanmış belgelerini referans alarak Apache'nin kısıtlı yetkilerle kontrollü çalıştırılmasına dair bulduklarımı özetlemeye çalışacağım.
Apache'nin SMF servisi olarak nasıl çalıştırılacağını daha önceki bir yazımda açıklamıştım.
SMF servisi olarak başlattıktan sonra servisin deamon veya root gibi kullanıcı hesapları yerine, kısıtlı yetkilere sahip webservd hesabıyla çalıştırılabilmesi için aşağıdaki komutların takip edilmesi yeterlidir.
# svccfg -s apache2
svc:/network/http:apache2> setprop start/user = astring: webservd
svc:/network/http:apache2> setprop start/group = astring: webservd
Apache servisinin minimum yetki seviyesinde çalıştırılması için gereken ayarlamalar yapılıyor.
svc:/network/http:apache2> setprop start/privileges = astring: basic,!proc_session,!proc_info,!file_link_any,net_privaddr
svc:/network/http:apache2> setprop start/limit_privileges = astring: :default
svc:/network/http:apache2> setprop start/use_profile = boolean: false
svc:/network/http:apache2> setprop start/supp_groups = astring: :default
svc:/network/http:apache2> setprop start/working_directory = astring:
:default
svc:/network/http:apache2> setprop start/project = astring: :default
svc:/network/http:apache2> setprop start/resource_pool = astring: :default
svc:/network/http:apache2> end
Bu noktada servisi yeniden enable etmek gerekiyor.
# svcadm -v enable -s apache2
svc:/network/http:apache2 enabled.
Eğer servis daha önceden çalıştırılmışsa /usr/local/apache2 dizininin sahipliği bin:bin olarak düzenlenmiştir. Bu durumda webservd hesabı log dosyalarını okuyamayacağı için aşağıdaki hata mesajını alabilirsiniz.
# cat /var/svc/log/application-web-apache2:default.log
[ Nov 13 14:46:31 Executing start method ("/usr/local/apache2/bin/apachectl start") ]
(13)Permission denied: httpd: could not open error log file /usr/local/apache2/logs/error_log.
Bu durumda klasör sahipliğini webservd hesap ve grubuna devretmek gerekiyor.
# chown -R webservd:webservd /usr/local/apache2/
Daha sonra sunucuyu yeniden başlattığınızda httpd servisinin yalnızda bu kullanıcı hesabıyla çalıştığını kontrol etmelisiniz.
# ps -ef|grep http|grep -v grep
webservd 714 459 0 15:12:56 ? 0:00 /usr/local/apache2/bin/httpd -k start
# ppriv -S 714
714: /usr/local/apache2/bin/httpd -k start
flags =
E: net_privaddr,proc_exec,proc_fork
I: net_privaddr,proc_exec,proc_fork
P: net_privaddr,proc_exec,proc_fork
L: all
Vmware Tools 4.0 ve Solaris 10
Vsphere 4.0'a geçtiğimizden bu yana sanal Solaris 10 sunucularının vmware tools paketlerini değiştirmek için fırsat kolluyordum. Geçen hafta sonu bir kaç makinede bu işlemi yapıp yeni VM tools'u yükledikten sonra servisin kendiliğinden kapandığını farkettim. Makine açılışında servis açılıyor ancak daha sonra kapanıyordu. Bu konuyla ilgili küçük bir araştırmadan sonra UTF-8 locale ile ilgili aşağıdaki paketin yüklenmesi gerektiğini öğrendim. Paket yüklendikten sonra sunucular sorunsuz olarak VM tools'u çalıştırmaya başladılar.