Spam maillerin bir çoğu hackerlar tarafından sistemlere sızıp phpmail ile yüzlerce, binlerce mail gönderiyor. İşte aslında tüm olay bundan sonra kopuyor sunucu spam mail göndermeye başlayınca doğal olarak sunucu’nun kullandığı IP adresi blacklist yani kara listeye alınıyor. Paylaşımlı hosting‘lerde bu büyük bir sıkıntı 1 VDS‘de 200 site olduğunu düşünürsek bu 200 site blacklist’den dolayı mail gönderememeye başlayacak. 1 Kişinin yüzünden hepsi cezalandırılmış gibi olsada artık hosting firmaları buna Hosteva‘da dahil php mail gönderimini kapatmış bulunuyor.
Php mail’i kapatıp müşterileri SMTP mail’e yönlendiriyoruz. Php maili sunucuda kapattıktan sonra artık hiç bir script mail gönderimi yapmayacak smtp kullanmak zorunda kalacaktır. WordPress gibi profesyonel yönetim panellerinin bu problemlere karşın smtp eklentiside bulunuyor ama diğerleri için kesin bir şey söyleyemem 🙂
WHM -> Service Configuration -> PHP Configuration Editor kısmına girin.
Basic Mode ve Advanced Mode kısmını göreceksiniz orada Advanced Mode kısmına tıklayın.
“disable_functions” kısmına virgülden sonra mail olarak ekleme yapıyoruz.
Böylece sunucumuzdaki php mail gönderimini kapatmış oluyoruz. Artık sunucu sadece SMTP üzerinden mail gönderecek.
Merhaba Arkadaşlar. Biliyorum sizde bu hatayı alıyorsunuz ve çözemediğiniz için çok rahatsızsınız merak etmeyin bugün bu problemi çözücez 🙂
İnternette bir çok siteyi inceledim didik didik ettim problemin çözümünü hep 1 yöntemle denemişler ancak ben size daha iyisini anlatmayı hedefliyorum. Öncelikle problemi bilmek lazım bizim bu hatayı alma nedenimiz şuydu;
Eski sunucu php versiyonu düşüktü yeni sunucu php versiyonu 5 yani daha yüksek. Eski sunucu php versiyonuna bakmadığım için tam sürüm yazamadım php 4.2. gibi. Bu yüzden eski diyorum. Ben bu hatayı Joomla sistemde aldım ancak vBulletin ve WordPress sistemde alan arkadaşlarıda görüyorum. Diğer scriptlerde yada kendi yazdığınız özel yazılımlardada bu hata çıkacaktır elbet. Şimdi gelelim sorunu çözme adımlarımıza.
Joomla Strict Standards Çözümü
Öncelikle Joomla daha sonra diğer scriptlerde nasıl kullanıcağınızdanda bahsedicem. Joomla kurulu olan ana dizindeki index.php ve administrator klasörü içerisindeki index.php‘yi bir notepad++ programı ile açın ve “< ?php” den sonra alttaki kodu ekleyin.
Ben bu kodu ekledikten sonra site düzeldi ama sonra farkettimki daha büyük bir problem daha var o neydi? Site error_log hatalarını kaydetmeye devam ediyodu. Her sayfa yenilemede 1200 tane log yazıyo düşünsenize günlük siteye bin kişi giriyo 🙂 apache hata yazmaktan kesinlikle durcaktır diycem ama ondan önce disk kotanız dolcaktır zaten. Bu sorunuda aşmanın yolunu buldum o da şu şekilde oldu.
public_html dizinine php.ini adında bir dosya oluşturun ve içine alttaki kodları yazın.
error_reporting = E_ALL & ~E_STRICT
display_errors = Off
Belkide sadece php.ini ile bu problemi çözebilirsiniz ama ben yaptığım işlemleride yazdığım için tüm hepsini yazdım. Burada bilmeniz gereken bir diğer konuda şu diğer internet sitelerinde araştırdığınızda size şunu yapmanızı söylüyorlar kesinlikle yapmayın;
Sunucunuzdaki php.ini dosyasını açıp “display_errors = off” yapınız diyorlar ben bunu sadece o siteye özel olması açısından public_html içerisine yazdım. Neden tüm sitelerde hataları kapatıyimki? Sürekli hata veren bir sistemim var ama ben nedenini bilmeden duramam yani hatalı olarak devam etmek saçmalık olucaktır. Yukarıda neden kapattın diyecek olursanız? onun zaten problemi belli php sürümü eski bu yüzden hatayı alıyordum oradaki amacım öncelikli olarak siteyi açmaktı şimdi siteyi o hatadan nasıl kurtarabilirim kısmına geldik.
Joomla 1.5’den Joomla 2.5 sürümüne güncellemek problemi çözücek. Bunun içinde bir araştırma yaptım ve sizlere bu konu hakkındada bilgi vericem.
Bu konudada Şenol Şengül‘ün güzel bir makalesini buldum çok açıklayıcı bir yazı okumanızı tavsiye ederim.
Joomla 1.5’den Joomla 2.5 sürüm yükseltme
Bu işlemi yapmadan önce şunu iyice kavrayın sürüm yükseltme işlemlerinde bazen beklenmedik hatalar çıkabilir bu yüzden sitenizden olabilirsiniz bunun önüne geçmek için sistemin full yedeğini almanız gerekiyor onun içinde şu bağlantıları takip edin;
Yukarıdaki içerikler yedek almanızda size faydalı olucaktır. Diyelimki sürüm yükseltirken hata aldınız ve tam yedeğinizle geri yüklemeye çalışıyorsunuz ama SQL yedeğiniz 120MB işte burada phpMyadmin devreye giremiyor çünkü onun upload limiti 50MB. Bununda bir çaresi var oda alttaki bağlantıya tıklayarak BigDump ile büyük veritabanını geri yükleyebilirsiniz.
Kurulumunu sırasıyla anlatıyorum dikkatlice okuyun.
Joomla Yönetim panelinde “Genel Yapılandırma” kısmında Sistem içerisindeki “Sistem Günlüğü Klasörü Yolu” ve Sunucu içerisindeki “Geçici Dosya Klasörü Yolu” bunları yeni sunucuya göre uyarlamanız gerekiyor yoksa eklentiyi yükleyemezsiniz. Dizin yolunu öğrenmek için Hosting sağlayıcınıza yada biliyorsanız mantığı örneğin linux gibi: /home/kullaniciadi/public_html/ logs & tmp gibi yazabilirsiniz.
Yönetim panelinde Eklentiler -> Kur/Kaldır linkine tıklıyoruz ve jUpgrade eklentiyini buradan yüklüyoruz.
Daha sonra panelde üst menüde Eklentiler -> Uyumlu Ek Yöneticisi kısmına tıklayıp “System – Mootools Upgrade” eklentisini aktifleştiriyoruz.
Sonra Bileşenler kısmından jUpgrade’ye tıklıyoruz ve sağ üstteki “Özellikler” kısmından bir kaç ayar değişikliği yapıyoruz.
Son olarak Start Upgrade butonuna basıp güncelleme işlemimizi tamamlıyoruz. Güncelleme esnasında alınacak hataları buraya yazın çözmeye çalışalım ancak buraya yazmadan önce ufak bir araştırma yaparsanız hatanın çözülmüşü vardır belki daha hızlı bulabilirsiniz. 🙂
Güncelleme işlemide tamamlandı ise artık yeni Joomla sistemini kullanıyorsunuz ve ilk başta yaptığımız php.ini’yi ve diğer kodları silebilirsiniz.
Diğer Scriptlerde Çözüm
Öncelikle hatanın PHP sürümü olduğunun farkındayız şimdi yukarıdaki gibi bir php.ini dosyası oluşturup public_html dizini altına atıyoruz.
error_reporting = E_ALL & ~E_STRICT
display_errors = Off
Sorunu bu şekilde aslında çözmüş olmuyoruz sadece yeni php kodlarına geçene kadar bu işlemi yapıyoruz.
Eğer WordPress eklentisi bu hatayı veriyorsa eklentiyi kaldırın güncellenmesini bekleyin yada aynı işi yapan farklı bir eklenti arayın.
Hatayı vBulletin’de alıyorsanız yukarıdaki gibi yapamayabilirsiniz belki ama vBulletin sisteminizi sürüm yükselterek bu problemden kurtulabilirsiniz. vBulletin 5 sürümü ideal bir sürüm MySQLi kullanılıyor.
Kendi yazdığınız bir yazılım ise yada internetten indirdiğiniz ücretsiz bir script ise bu yazılımdaki eski php kodlarını bulup yeniye göre uyarlamanız gerekiyor ancak bu şekilde hatayı çözersiniz. Yukarıdaki php.ini hataları sadece gizliyor aslında çözmüş olmuyorsunuz hatayı çözene kadar gitmenizi tavsiye ederim. 🙂
WordPress dosya yükleme sınırı az kalsın başımın belası oluyordu. Normalde 8MB’ın üstünde dosya yüklenmiyor. Bu konu ile ilgili bir çok çözüm yöntemi yazılıp çiziliyor şimdi ben bunların tümünü yazıcam ancak en başta kendi yaptığım ve sonuç aldığım çözümü yazıcam daha sonra diğerlerinide yazıcam. Bunlardan ayrı internet üzerinde başka bir çözüm yolu görmedim 🙂
1) PHP.ini ile Upload Limiti Arttırma
Öncelikle şunu söylüyorum alttaki çözüm yollarınıda kullananlar var ancak ben her seferinde sadece bu yöntemle sonuç aldım. Eğer bu olmazsa diğerlerini inceleyin.
Notepad++ programını açıp içerisine alttaki kodları yapıştırın. Daha sonra bu dosyayı Farklı kaydet [Ctrl+Alt+S] tuşlarına basarakta yapabilirsiniz. “All Types (*.*)” kısmını seçip dosyanın adınıda php.ini olarak yazıyoruz. Bu şekilde .ini dosyasıda oluşturmuş oluyoruz.
php.ini dosyasını wp-admin klasörü içerisine atıyorsunuz başka bir işlem yapmadan sitenizdeki upload sınırını görebileceğiniz alan “Ortam -> Yeni Ekle” kısmından yeni boyutu görebilirsiniz.
memory_limit = 100M
upload_max_filesize = 192M
post_max_size = 100M
file_uploads = On
Yukarıda dosya yüklemeyi aktif edip memory limitimizi arttırdık. Maksimum upload sınırını belirledik sağ kısımdaki sonuçları değiştirebilirsiniz.
Burada bilmeniz gereken bir noktada hosting’inizin php.ini’yi siteye göre düzenlenmesine izin verip vermediğini bilmeniz gerekiyor eğer vermediyse bu yöntem zaten sizin için pas durumda. Hosteva‘dan hosting aldıysanız bu seçenek sizin için aktiftir bilginize.
2) Tema Fonksiyon Dosyası ile Upload Limiti Arttırma
Buda sıkça yazılan bir yöntem kullandığınız temanın functions.php içerisinde en tepeye “?php” başlangıç kısmından 1 satır aşağı yazıyorsunuz.
Notepad++ Programı içerisindeki FTP programı aracılığı ile yada FileZilla yardımı ile FTP‘ye bağlanıp functions.php dosyasını düzenleye basın ve alttaki kodları ekleyin.
Sıkça yazılan bir çözüm yöntemi ama bunu yaparak çözüm bulanı pek gördüm sayılmaz ancak genede paylaşıyorum.
.htaccess dosyasında bilmeniz gereken bir noktada şu: bu dosyayı tüm FTP programları göstermemektedir. FileZilla ile görüntüleyip değiştirebilirsiniz. Alttaki kodları .htacess’inize ekleyin.
.htaccess’den hemen sonra wp-config.php dosyasını düzenliyoruz. Ana dizindeki wp-config.php dosyasını açın ve alttaki satıra şunu ekleyin;
define(‘WP_MEMORY_LIMIT’, ’64M’);
Daha sonra tekrar deneyin bakalım upload limitiniz arttımı.
Bu yazıdan sonra muhtemelen probleminizi çözmüş oluyoruz ancak Nginx server kullanıyor ve problemi çözemiyorsanızda alttaki bağlantının size faydalı olucağını düşünüyorum.