Ender KAHRAMAN

Kişisel Tecrübelerin Paylaşımı… www.enderkahraman.com

Jooma DateTimeZone::__construct() Hatası Çözümü

Joomla administrator paneliniz üzerinde ;

DateTimeZone::__construct() [datetimezone.–construct]: Unknown or bad timezone ()

Gibi bir hata almanız durumunda site dosyalarınızın bulunmuş olduğu ana dizin üzerindeki configuration.php dosyanız içerisindeki ;

var $offset = ‘0’;

Satırını ;

var $offset = ‘UTC’;

Olarak güncellemeniz durumunda, muhtemel olarak sorun çözümlenmiş olacaktır 😉

Plesk Panelde Toplu Şifre Değiştirme

Plesk panelli sunucunuz üzerinde topluca şifre değiştirme işlemini Parallels firmasının sunmuş olduğu php script ile gerçekleştirebilmemiz mümkündür. Aşağıdaki link üzerinden bu script dosyasına ulaşabilirsiniz :

http://kb.parallels.com/Attachments/19094/Attachments/plesk_password_changer.zip

Scriptin çalıştığı Plesk panel versiyonları aşağıda belirtilmiştir.

Parallels Plesk Panel 9.x for Linux/Unix
Parallels Plesk Panel 8.x for Linux/Unix
Parallels Plesk Panel 10.x for Linux
Parallels Plesk Panel 9.x for Windows
Parallels Plesk Panel 8.x for Windows
Parallels Plesk Panel 10.x for Windows
Parallels Business Automation – Standard 4.2
Parallels Business Automation – Standard 4.1
Parallels Business Automation – Standard 4.0
Parallels Business Automation – Standard 3.3

(*) Script’in çalışabilmesi için sunucu üzerindeki php.ini dosyası içerisindeki disable_functions bölümünde exec fonksiyonunun kapatılmamış olması gerekmektdir.

 

Windows Plesk Panel üzerinde kullanılacak komut dizisi

“%plesk_dir%\additional\PleskPHP5\php.exe” -d open_basedir= -d safe_mode=0 plesk_password_changer.php <old admin password> [new admin password] [options]

Linux Plesk Panel üzerinde kullanılacak komut dizisi

php -d open_basedir=  -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow` [‘new admin password’] [options]

–all – [default] Tüm şifreleri yeniden oluşturur.
–admin – Sadece admin şifresini değiştirir.
–resellers – Sadece bayi hesaplarının şifrelerini değiştirir.
–clients – Sadece istemci hesaplarının şifrelerini değiştirir.
–domains – Hosting hesaplarının FTP şifrelerini değiştirir.
–domainadmins – Hosting hesaplarının Plesk panel erişim şifrelerini değiştirir.
–users – Hosting panel kullanıcılarının şifresini degiştirir.
–additionalftpaccounts – Ek oluşturulmuş olan FTP şifrelerini değiştirir.
–subdomains – Alt alan adı şifrelerini değiştirir.
–webusers – İnternet kullanıcılarının şifrelerini degiştirir.
–mailaccounts – Mail hesaplarının şifrelerini değiştirir.

 

Örnek uygulamalar

Herşey için parola sıfırlanacak ve sunucu admin şifresi otomatik olarak oluşacaktır :

php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow`

Tüm hosting hesaplarının FTP şifresini değiştirme :

php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow`  –domains

Admin ve istemcilerin panel erişim şifresi secret olarak güncellenecektir :

php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow` ‘secret’ –admin –clients

Herşey için şifre secret olarak güncellenecektir :

php -d open_basedir= -d safe_mode=0 plesk_password_changer.php `cat /etc/psa/.psa.shadow` ‘secret’

 

(*) Script ile yapılan şifre değişiklikleri new_plesk_passwords.csv dosyasına otomatik olarak kayıt olmaktadır.

Tüm Plesk Sürümlerinde Yaşanan Kritik Açık

Plesk panel sürümlerinde tespit edilen .js uzantılı dosyalara bulaşan, virüslü kodlar ile ilgili 1 Haziran 2012 tarihinde Paralells tarafından bu kritik açığın kapatılması için gerekli güncelleme dosyaları yayınlandı.

Ayrıntılı knowbase bilgisine aşağıdaki link üzerinden ulaşabilirsiniz :

http://kb.parallels.com/en/113321

Virüs bulaşan .js dosya içeriklerinde /*km0ae9gr6m*/ gibi base64 formatında şifrelenmiş kodlar eklenmekte. Eğer bilgisayarınız üzerinde güncel bir antivirüs programı kullanmakta ve sunucunuz üzerinde gerekli güncelleme işlemi gerçekleştirilmedi ise muhtemel olarak sitenize girişte bu tip virüs uyarılarıları ile karşılaşabilirsiniz.

Bu virüs açığından etkilenen Plesk sürümleri aşağıdaki gibidir :

Plesk 7.5.x Reloaded
Plesk 7.1.x Reloaded
Plesk 7.0.x
Parallels Plesk Panel 9.x for Linux/Unix
Parallels Plesk Panel 8.x for Linux/Unix
Plesk 7.x for Windows
Parallels Plesk Panel 9.x for Windows
Parallels Plesk Panel 8.x for Windows
Parallels Plesk Panel 10.3 for Windows
Parallels Plesk Panel 10.2 for Windows
Parallels Plesk Panel 10.1 for Windows
Parallels Plesk Panel 10.0.x for Windows
Parallels Plesk Panel 10.3 for Linux/Unix
Parallels Plesk Panel 10.2 for Linux/Unix
Parallels Plesk Panel 10.1 for Linux/Unix
Parallels Plesk Panel 10.0.x for Linux/Unix

 

Windows Plesk Plesk 8.1.x ile Plesk 10.3.x sürümleri arasındaki özel yama güncellemesi

1. Yöntem

Zipteki dosyayı sunucunuza indirip arşivden çıkartın ;

http://kb.parallels.com/Attachments/17178/Attachments/plesk_remote_vulnerability_fix_deployer.zip

Daha sonra komut satırında aşağıdaki komutu çalıştırın ;

“%plesk_bin%\php” -d auto_prepend_file=”” plesk_remote_vulnerability_fix_deployer.php

2. Yöntem

Zipteki dosyayı sunucunuza indirip arşivden çıkartın ;

http://kb.parallels.com/Attachments/17178/Attachments/plesk_remote_vulnerability_fix_mass_deployer.zip

Komut satırında aşağıdaki bat dosyasını çalıştırın ;

plesk_remote_vulnerability_fix_mass_deployer.bat

 

Ayrıca plesk panel ile ilgili sunucu düzeltmelerini de uygulamak isterseniz, MU-win.zip dosyası içerisindeki ilgili versiyonunuzdaki dosyalar ile güncelleyiniz.

http://kb.parallels.com/Attachments/17178/Attachments/MU-win.zip

Aşağıda bu dosyalar ile ilgili plesk sürümüne göre veriyolları belirtilmiştir :

Plesk 8.1.1
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 8.2.0
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 8.3.0
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 8.4.0
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 8.6.0
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\class.Session.php
%plesk_dir%\admin\htdocs\help.php
%plesk_dir%\admin\plib\visibility.php

Plesk 9.0
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 9.2.0 – 9.2.3
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 9.3.0
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\class.Session.php
%plesk_dir%\admin\plib\backup\BackupCreateBackupNowForm.php
%plesk_dir%\admin\htdocs\help.php
%plesk_dir%\admin\plib\visibility.php

Plesk 9.5.1 – Plesk 9.5.5
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\class.Session.php
%plesk_dir%\admin\plib\backup\BackupCreateBackupNowForm.php
%plesk_dir%\admin\htdocs\help.php
%plesk_dir%\admin\plib\visibility.php

Plesk 10.0.1
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 10.1.1
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

Plesk 10.2.0
%plesk_dir%\admin\plib\api-rpc\Agent.php
%plesk_dir%\admin\plib\visibility.php

 

Windows Plesk Plesk 9.5.5 için micro yama güncellemesi

Aşağıdaki link üzerinde yer alan dosyayı sunucunuza indirip çalıştırın :

http://download1.parallels.com/Plesk/PPP9/Windows/9.5.5/ai.exe

Kısa bir süre sonra internet tarayıcısı açılacak ve karşımıza aşağıdaki şekilde bir sayfa gelecektir.

Sunucu uzak masaüstü kullanıcı adını ve şifresini girip Log In butonuna tıklayınız. Oturum açmanızın ardından bir sonraki sayfa üzerinde Update Components seçeneğine tıklayın.

Açılan bir diğer sayfa üzerinde Continue butonuna tıklamanız durumunda otomatik güncelleme işlemi başlayacak ve tamamlanmasının ardından size bilgi verecektir.

Windows Plesk Plesk 10.x için micro yama güncellemesi

Plesk panelinize giriş yapınız ve sol menü üzerinden Tools & Utilities seçeneğine tıklayınız. Açılan sağ bölüm üzerinden Updates seçeneğine tıklayınız.

Açılan bir diğer sayfa üzerinde ise Update Components seçeneğine tıklayın. Bir sonraki sayfa üzerinde ise Continue butonuna tıklamanız durumunda otomatik güncelleme işlemi başlayacak ve tamamlanmasının ardından size bilgi verecektir.

 

Linux Plesk Plesk 8.1, 8.2, 8.3, 8.4, 9.0, 9.2.x, 9.3, 10.0.x, 10.1, 10.2 sürümleri için özel yama güncellemesi

Sunucunuza ssh üzerinden login olmanızın ardından plesk_remote_vulnerability_fix_deployer olarak bir klasör oluşturun ;

mkdir plesk_remote_vulnerability_fix_deployer

Oluşturulan klasör içerisine girelim ;

cd plesk_remote_vulnerability_fix_deployer

İlgili yama dosyasını sunucuya indirip arşivden çıkarın ;

wget http://kb.parallels.com/Attachments/18827/Attachments/plesk_remote_vulnerability_fix_deployer.tar.gz

tar -xzf plesk_remote_vulnerability_fix_deployer.tar.gz

Son işlem olarak aşağıdaki komutu dizin içerisinde çalıştırın ;

/usr/local/psa/admin/bin/php plesk_remote_vulnerability_fix_deployer.php

 

Bazı Linux Plesk sürümler için api güncellemesi

wget http://kb.parallels.com/Attachments/18827/Attachments/api.tar.gz
gzip -d api.tar.gz
tar -xf api.tar
cp $PRODUCT_ROOT_D/admin/plib/api-rpc/Agent.php $PRODUCT_ROOT_D/admin/plib/api-rpc/Agent.php.backup
cp api/plesk-<VERSION>/Agent.php $PRODUCT_ROOT_D/admin/plib/api-rpc/Agent.php

 

Linux Plesk Plesk 9.5.4, 10.0.x, 10.1, 10.2, 10.3.1 sürümleri için micro yama güncellemesi

Sunucunuza ssh üzerinden login olmanızın ardından aşağıdaki komutları çalıştırın ;

$PRODUCT_ROOT_D/admin/sbin/autoinstaller
$PRODUCT_ROOT_D/admin/sbin/autoinstaller –select-product-id plesk –select-release-current –reinstall-patch –install-component base

 

Yama Test İşlemi

Windows Plesk için test

Aşağıdaki link üzerinde yer alan dosyayı sunucunuza indirin ;

http://kb.parallels.com/Attachments/19203/Attachments/plesk_remote_vulnerability_checker.php

Daha sonra cmd konsolu üzerinde dosyayı indirmiş olduğunuz klasöre gelip aşağıdaki komutu çalıştırın ;

“%plesk_dir%\additional\PleskPHP5\php.exe” -d safe_mode=0 plesk_remote_vulnerability_checker.php

Linux Plesk için test

Sunucunuza ssh üzerinden login olmanızın ardından aşağıdaki dosyayı sunucunuza wget komutu ile indirin ;

wget http://kb.parallels.com/Attachments/19203/Attachments/plesk_remote_vulnerability_checker.php

Daha sonra aşağıdaki komut ile test dosyasını çalıştırın ;

php -d safe_mode=0 plesk_remote_vulnerability_checker.php

 

Test dosyasını çalıştırdığınızda aşağıdaki sonuçlardan herhangi birisi karşınıza gelecektir.

1) The patch has been successfully applied –  Gerekli yama başarılı bir şekilde sunucunuza yüklenmiştir.
2) The file <missed file name> has not been found – Gerekli yama düzgün olarak yüklenmemiş.
3) The patch has not been applied – Gerekli yama hiç yüklenmemiş.
4) The file <version file name> has not been found – Plesk versiyonunu belirten dosya bulunamadı.
5) Failed to get Plesk version from <version file name> – Plesk versiyon dosyası okunamadı.
6) Plesk is up to date – Plesk panel versiyonunuz günceldir.

Ayrıca bu güncelleme işlemlerinin ardından mutlaka sunucu üzerindeki hosting hesaplarının şifrelerinin değiştirilmesi gerekmektedir. İlgili konuya aşağıdaki link üzerinden ulaşabilirsiniz :

https://www.enderkahraman.com/plesk-panelde-toplu-sifre-degistirme.html

Lord of Ultima Oyunu

Bu aralar tarayıcı tabanlı bir başka oyun olan Lord of Ultima oyununa göz atıyorum.

Başlayalı bir haftadan fazla oldu. Oyunun temposu Travian gibi oyunlara göre daha düşük, her an uyanık olmanız gerekmiyor. Hatta, server server, gece gündüz yapmışlar, gece saatlerinde yapılan saldırılarda savunana avantaj sağlanıyor vb… Birlikler de çok hızlı hareket edemiyor zaten, o yüzden insanın tepesini attırmıyor gibi oyun.

Eğer tarayıcı tabanlı, çok oyunculu oyunlara meraklıysanız, bir bakın derim. Ben World 6’dayım. Eğer oyuna aşağıdaki bağlantıdan kaydolursanız, bana ufak bir faydanız dokunacak ve siz herhangi bir şey kaybetmeyeceksiniz.

Oyun ile ilgili daha geniş bir incelemeyi, eğer birkaç kişi ilgilenip de bu link üzerinden kaydolursa yazacağım 🙂

Kayıt linki:

http://www.lordofultima.com/ref/2635303076

İyi eğlenceler 😉

Linux Plesk 10 Admin Şifresini Bulma

Plesk Panel 10 ile birlikte arayüz, sistem ve kullanıcı deneyimi konularında büyük değişiklikler oldu. Bu sürüm öncesinde kullanılan şifre kurtarma işlemleri şu an işe yaramıyor. Admin şifresi artık hash halinde bir dosyada tutuluyor. Aşağıdaki komut ile admin şifresini öğrenebilirsiniz.

/usr/local/psa/bin/admin --show-password

SSH üzerinden Plesk 10 panelinizin şifresini değiştirmek için ise ;

/usr/local/psa/bin/init_conf -u -passwd <yeni_şifre>

Komutunu uygulayabilirsiniz.

 

Eğer sunucunuzun SSH konsol dili Türkçe ise komutu girmenizin ardından ;

PHP Fatal error: Call to undefined function DEFINE() in /usr/local/psa/admin/plib/common_func.php3 on line 4772

Ya da ;

PHP Fatal error: Call to undefined function DEFINE() in /opt/psa/admin/plib/common_func.php3 on line 4776

Gibi bir hata alır iseniz, konsol dilini İngilizce olarak değiştirmeniz gerekecektir. Yani ;

Sunucunuzun işletim sistemi CentOS ise ;

nano -w /etc/sysconfig/i18n

Sunucunuzun işletim sistemi Debian ise ;

nano -w /etc/default/locale

Dosyasını açıp ;

LANG=”tr_TR.UTF-8″

Satırını ;

LANG=”en_US.UTF-8″

Olarak düzenleyip, sonrasında sunucunuzu yeniden başlatmanızın ardından problemin düzelmiş olduğunu görebilmeniz mümkündür 😉

cannot read configuration file because exceeds maximum file size

cannot read configuration file because exceeds maximum file size

Error:
HTTP Error 500.19 – Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.

Gibi bir hata almakta iseniz, web.config dosyanızdaki default size 250 kb dan büyük olduğundan dolayı bu hata ile karşılaşırsınız. 2008 IIS 7 sunucularda regedit üzerinden,

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Configuration]
“MaxWebConfigFileSizeInKB”=

Bölümü değiştirip sorunu çözebilirsiniz. Fakat 2008 R2 x64 IIS 7.5 bir sunucuda artık bu anahtarın kullanılmadığını gördüm. Bu durumda bizim eklememiz gerekiyor.

c:\windows\Syswow64

Altındaki regedit.exe ‘yi çalıştırın.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp

Altında yeni InetStp sağ tıklayıp new > key ekleyin, ismini Configuration olarak belirleyin. Daha sonra Configuration’a sağ tıklayıp new > DWORD ekleyin ve ismini MaxWebConfigFileSizeInKB olarak verin. Daha sonra MaxWebConfigFileSizeInKB üzerine çitf tıklayıp açın ve Decimal olarak işaretlediğiniz value değerini girip onaylayın. Burada decimal olarak girdiğiniz değer web.config max dosya boyutunun kb cinsinden değeridir.

Son olarak da başlat > çalıştır > cmd ile komut satırını açıp iisreset ile web servisini resetlemeniz yeterli olacaktır.

Windows Server 2003 IIS6 Üzerinde Gzip Aktif Etme

Linux sunucu üzerinde Gzip özelliğini kolaylıkla kullanabiliyoruz fakat Windows sunucu üzerinde acaba Gzip aktif edebilir miyim, kullanabilir miyim ? diyeceksiniz. Evet mümkün 😉

Kısaca Gzip nedir derseniz; arşivleme türü, özellikle PHP dosyalarında da kullanılabilir ve bu sayfaların tarayıcınız üzerinde daha hızlı yüklenmesini sağlar. Modern tarayıcıların birçoğu bu özelliği desteklemektedir. Internet Expolorer, Firefox vb… Gzip’in asıl amacı kaynak kod içeriğinizdeki metin içeriğini sıkıştırmasıdır. Örneğin, CSS, JS, XML dosyaları ya da ASPX, PHP gibi statik dosyalar.

Sunucu Üzerinden Gzip Özelliğini Aktif Etme İşlemi

Sunucumuza uzak masaüstü bağlantımızı kurmamızın ardından Internet Information Services (IIS) Yöneticisi altında yer alan Web Siteleri ne sağ tuş tıklayıp Özellikler diyelim.

Açılan Özellikler penceresi üzerinde Hizmet sekmesine tıklayalım. HTTP Sıkıştırması bölümünde yer alan, Uygulama dosyalarını sıkıştır ve Statik dosyaları sıkıştır seçeneklerini aktif edip Tamam diyelim.

Bu işlemin ardından ;

C:\Windows\System32\inetsrv\MetaBase.xml

Dosyası üzerinde de değişiklik yapmamız gerekiyor. Fakat ilk önce Internet Information Services yani IIS servisini durdurmamız gerekecek, Başlat > Çalıştır > services.msc giriyoruz. Liste içerisinde IIS Admin Service seçeneğini bulup Dur tıklıyoruz. Evet IIS servisini durdurduk.

Şimdi sıra geldi MetaBase.xml dosyamızı düzenleme işlemine… Bu dosyayı işleme başlamadan önce muhakkak yedeklemenizi ve kesinlikle Notepad++ programı ile açmanızı öneririm. Notepad++ programının kullanımı ile ilgili daha önceki yazıma buradan ulaşabilirsiniz. Bu dosyanın bozulması durumunda sunucunuz üzerindeki IIS servisi çalışmayacaktır.

Dosya içerisindeki ;

<IIsCompressionScheme    Location =”/LM/W3SVC/Filters/Compression/deflate”
HcCompressionDll=”%windir%\system32\inetsrv\gzip.dll”
HcCreateFlags=”0″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”FALSE”
HcDynamicCompressionLevel=”0″
HcFileExtensions=”htm
html
txt”
HcOnDemandCompLevel=”10″
HcPriority=”1″
HcScriptFileExtensions=”asp
dll
exe”
>
</IIsCompressionScheme>
<IIsCompressionScheme    Location =”/LM/W3SVC/Filters/Compression/gzip”
HcCompressionDll=”%windir%\system32\inetsrv\gzip.dll”
HcCreateFlags=”1″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”TRUE”
HcDynamicCompressionLevel=”0″
HcFileExtensions=”htm
html
txt”
HcOnDemandCompLevel=”10″
HcPriority=”1″
HcScriptFileExtensions=”asp
dll
exe”
>
</IIsCompressionScheme>

Bölümünü aşağıdaki gibi değiştirip ;

<IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/deflate”
HcCompressionDll=”%windir%\system32\inetsrv\gzip.dll”
HcCreateFlags=”0″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”TRUE”
HcDynamicCompressionLevel=”9″
HcFileExtensions=”htm
html
txt
js
css
xml”
HcOnDemandCompLevel=”9″
HcPriority=”1″
HcScriptFileExtensions=”asp
dll
exe
php
aspx”
>
</IIsCompressionScheme>
<IIsCompressionScheme Location =”/LM/W3SVC/Filters/Compression/gzip”
HcCompressionDll=”%windir%\system32\inetsrv\gzip.dll”
HcCreateFlags=”1″
HcDoDynamicCompression=”TRUE”
HcDoOnDemandCompression=”TRUE”
HcDoStaticCompression=”TRUE”
HcDynamicCompressionLevel=”9″
HcFileExtensions=”htm
html
txt
js
css
xml”
HcOnDemandCompLevel=”9″
HcPriority=”1″
HcScriptFileExtensions=”asp
dll
exe
aspx”
>

</IIsCompressionScheme>

Dosyayı kaydedip çıkıyoruz. En son işlem olarak da Başlat > Çalıştır > services.msc den IIS Admin Service seçeneğini başlat demeniz yeterli olacaktır 😉 Artık Windows sunucunuz üzerinde Gzip özelliğini kullanabilirsiniz 🙂