WHM/cPanel Tabanlı Sunucularda Tüm Kullanıcıların Cron larını Listeleme

WHM/cPanel Tabanlı Sunucularda Tüm Kullanıcıların Cron larını Listeleme

Binlerce kullanıcılı bir Cpanel kurulu sunucu yönettiğimizi düşünelim , bazen sunucularda öngörmediğimiz durumlar periyodik olarak gerçekleşebilir ve bu da akla bir cron tanımı olabileceği şüphesi uyandırır , böyle durumlarda belli komutlar ile elde ettiğiniz veriler sonucu bazı kullanıcılar üzerinde yoğunlaşırsınız ve bu durumda yapılan işlemlerden biri de o kullanıcın zamanlanmış görevlerini incelemektir , bu hengamenin içinde nasıl tüm kullanıcıların cron tanımlarını tek seferde görebiliriz diye düşünürken aşağıdaki komutla bunu yapabileceğimizi düşündüm , umarım faydalı olur.

for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

Ayhan ARDA

Plesk 8447 Update portu çalışmama sorunu

Hosting sunucularımızdan birinde Plesk i güncellemek için panelden ilgili alana gittiğimizde açılan sayfa yanıt vermiyordu , netstat ile kontrol ettiğimizde sunucunun 8447 nolu portu dinlemediğini gördük.

[root@ayhanarda ~]# netstat -an | grep 8447

cevap dönmüyordu.

Bu durumda aşağıdaki komutu kullanabilirsiniz.

[root@ayhanarda ~]# plesk installer –all-versions –select-product-id plesk –select-release-latest –show-components >/dev/null && plesk installer –version

Eğer yukarıdaki komut “Doing restart of Plesk Installer…” hatası verir ise aşağıdaki komutu kullanıp sonrasında tekrar çalıştırınız.

[root@ayhanarda ~]# rm /tmp/psa-installer.lock

Şimdi tekrar kontrol edelim.

[root@ayhanarda ~]# netstat -an | grep 8447
tcp 0 0 :::8447 :::* LISTEN

Şimdi Plesk i güncelleme sayfasına tekrar erişip update çalıştırabilirsiniz.

Ayhan ARDA

lets-encrypt-cpanel

Let’s Encrypt Sertifika Kurulumu

Örneğimizi Cpanel kurulu sunucuda yapacağız , ihtiyaca göre farklı sunucular içinde yazabiliriz. Öncelikle Let’s Encrypt ten bahsedelim , ücretsiz ssl sağlayan bir organizasyon diyebiliriz , destekçileri arasında Mozilla , Facebook gibi devler bulunmakta , en önemli özelliği ücretsiz ssl sağlaması, en güzel tarafıda bir csr oluşturmaya gerek olmaması ve alan adının ya da hosting in sahibi olduğunuzu kanıtlayacak admin@alanadi.com gibi bir mail adresine sahip olmanızın gerekmemesi. Şu an için sunucu sahipleri avantajlı durumda , barındırdıkları siteler için ücretsiz kurup servis edebilirler ancak paylaşımlı hosting kullanıcıları servis yaygınlaşana kadar ssl e para ödemeye devam edecek gözüküyor çünkü sunucu yöneticisi shell access verse de kurulum için root hakları gerekmekte. Artık arama motorlarının da ssl li siteleri kendi algoritmasında 1 puan üstte tutması da ssl kullanmak için iyi bir sebep gibi gözüküyor. Şimdi cpanel kurulu bir sunucunuz olduğunu varsayıyorum , üzerinde kendinize ait 3-5 site olsun ve bunlara ssl kurmaya çalışalım.

Sunucunuza ssh tan bağlanalım.

Ben root dizininde çalışmak istedim , siz farklı bir dizinde çalışabilirsiniz.

root@ayhanarda [/]# cd root/

Devam edebilmek için git kurulu olması gerekir , kurulu olup olmadığını doğrulayalım.

root@ayhanarda [~]# git
usage: git [–version] [–help] [-c name=value]
[–exec-path[=<path>]] [–html-path] [–man-path] [–info-path]
[-p|–paginate|–no-pager] [–no-replace-objects] [–bare]
[–git-dir=<path>] [–work-tree=<path>] [–namespace=<name>]
<command> [<args>]

Yukarıdaki gibi bir sonuç ile karşılaştı iseniz kuruludur , değil ise aşağıdaki komut ile kuralım.

root@ayhanarda [~]# yum install git -y

Kurulum tamamlandı ise şimdi Let’s Encrypt dosyalarını /root dizini altına kopyalayabiliriz.

root@ayhanarda [~]# git clone https://github.com/letsencrypt/letsencrypt
Cloning into ‘letsencrypt’…

İşlem tamamlandığında aşağıdaki komut ile letsencrypt dizini içine girelim.

root@ayhanarda [~]# cd letsencrypt

Şimdi bu noktadan sonraki işlemde python-virtualenv kurulu olması gerekmekte , yum install python-virtualenv -y komutu ile kurabilirsiniz ama ben aşağıdaki doğrulama işlemini yapınca kendi farkına varıp kurmaya başladı , tavsiyem öncelikle aşağıdaki komutu kullanmanız ,hata almanız durumunda bu paragraftaki komutu kullanmanızdır.

root@ayhanarda [~/letsencrypt]# ./letsencrypt-auto –help

İşlem 1-2 dakika sürebilir , ben bir ara panik olup elim hemen snapshot almaya gitmişti ama gereksizmiş , sıkıntı olmuyor , benim düşüncem bu paketin cpanelin kendi phyton paketlerine zarar vereceği şeklinde idi , bir şey olmadı 🙂

Şimdi tavsiyem httpd servisini kısa süreliğine durdurmanız.

root@ayhanarda [~/letsencrypt]# service httpd stop

Eğer ssl kuracağınız alan adına karar verdi iseniz aşağıda ayhanarda.com gördüğünüz yerleri kendi alan adınız ile değiştirmelisiniz.

root@ayhanarda [~/letsencrypt]# ./letsencrypt-auto certonly –standalone -d ayhanarda.com -d www.ayhanarda.com

Ekranda size bir mail adresi yazmanızı isteyen soru gelecek , kendi ya da müşterinizin mail adresini yazın ve devam edin.

Sonrasında şartları vs kabul etmenizi isteyen bir ekran gelecek , onaylayıp geçiniz.İşlem sonunda sertifika dosyalarının nereye koyulduğunu belirten bir yazı göreceksiniz , muhtemelen /etc/letsencrypt/live/ayhanarda.com dizininde olacak.

Şimdi hemen httpd servisini tekrar başlatalım.

root@ayhanarda [~/letsencrypt]# service httpd start
Redirecting to /bin/systemctl start  httpd.service

Hemen sertifikanın olduğu dizine erişelim.

root@ayhanarda [~/letsencrypt]# cd /etc/letsencrypt/live/
root@ayhanarda [/etc/letsencrypt/live]# ls -al
total 12
drwx—— 3 root root 4096 Mar  4 16:13 ./
drwxr-xr-x 8 root root 4096 Mar  4 16:13 ../
drwxr-xr-x 2 root root 4096 Mar  4 16:13 ayhanarda.com
root@ayhanarda [/etc/letsencrypt/live]# cd ayhanarda.com/
root@ayhanarda [/etc/letsencrypt/live/ayhanarda.com]# ls -al
total 8
drwxr-xr-x 2 root root 4096 Mar  4 16:13 ./
drwx—— 3 root root 4096 Mar  4 16:13 ../
lrwxrwxrwx 1 root root   34 Mar  4 16:13 cert.pem -> ../../archive/ayhanarda.com/cert1.pem
lrwxrwxrwx 1 root root   35 Mar  4 16:13 chain.pem -> ../../archive/ayhanarda.com/chain1.pem
lrwxrwxrwx 1 root root   39 Mar  4 16:13 fullchain.pem -> ../../archive/ayhanarda.com/fullchain1.pem
lrwxrwxrwx 1 root root   37 Mar  4 16:13 privkey.pem -> ../../archive/ayhanarda.com/privkey1.pem

Görüldüğü üzere tüm sertifikalar burada , cat komutu ile okunabilir durumda , hemen whm panele erişip Install an SSL Certificate on a Domain bölümüne girelim.

Şimdi aşağıdaki resmi inceleyip resim üzerinde yazdığım detayları uygulayabilir ve ssl kurulumunu tamamlayabilirsiniz.

cpanel-lets-encyrpt-ayhanarda-com

Şimdi sitenize ssl ile erişmeyi deneyebilirsiniz. Bir detay vereyim , verdiği ssl süresi 3 ay gözüküyor , bu süre sonunda muhtemelen işlemi tekrarlamak gerekecek , umarım faydalı olur. Hosterlar için… hosting müşterilerinize ücretsiz ssl şeklinde servis edip  cüzi bir miktar kurulum ücreti ile bir ürün haline getirebilirsiz.

Ayhan ARDA

Centos 6.x üzerine Apache , Php , Mysql ,Phpmyadmin Kurulumu (LAMP)

Öncelikle mevcut kurulu tüm paketleri güncelleyelim.

yum update

Mysql Kurulumu:

Kurulum için aşağıdaki komutu çalıştırınız;

yum -y install mysql mysql-server

Sistem reboot edildiğinde otomatik olarak açılışta çalışır duruma gelmesini sağlayalım.

chkconfig –levels 235 mysqld on

Servisi başlatalım.

/etc/init.d/mysqld start

Mysql için şifre atayalım , default şifre boş gelir. Enter ile geçiniz , sonrasında istediğiniz şifreyi belirleyiniz , sorulara kendinize uygun cevaplar veriniz ,örneğin test database i kaldırılsın mı , root kullanıcısı uzaktan da erişilebilsin mi gibi..

mysql_secure_installation

Apache Kurulumu:

Kurulum için aşağıdaki komutu çalıştırınız;

yum -y install httpd

Sistem reboot edildiğinde otomatik olarak açılışta çalışır duruma gelmesini sağlayalım.

chkconfig –levels 235 httpd on

Servisi başlatalım.

/etc/init.d/httpd start

Şimdi /var/www/html altına yüklediğiniz dosyalar erişilebilir olacaktır , apache nin konfigurasyon dosya yolu da /etc/httpd/conf/httpd.conf şeklindedir.

Php5 Kurulumu:

Kurulum için aşağıdaki komutu çalıştırınız;

yum -y install php

Apache servisini yeniden başlatalım.

/etc/init.d/httpd restart

Php5 Testi:

nano /var/www/html/info.php

İçine aşağıdaki kodu giriniz.

<?php
phpinfo();
?>

Şimdi http://ipadresiniz/info.php yi browserdan çağırdığınızda info.php yi görmelisiniz.

Php5 e Mysql desteği verelim;

yum -y install php-mysql

Şimdi sık kullanılan cms ler için (wordpress,joomla,drupal..) bilindik php modüllerini ekleyelim.

yum -y install php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel

Apc kuralım;

yum -y install php-pecl-ap

Apache servisini yeniden başlatalım.

/etc/init.d/httpd restart

Tekrar info.php ye baktığınızda kurulu modülleri görebiliyor olacaksınız.

PhpMyAdmin Kurulumu:

RPMforge GPG anahtarını import edelim.

64 bit centos kurduğunuzu varsayıyorum, ilgili rpm paketini indirelim.

yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

Aşağıdaki komutla phpmyadmin kuralım.

yum -y install phpmyadmin

Şimdi phpmyadmin configurasyonunda phpmyadmin in her yerden erişilebilir olmasını sağlayalım.

nano /etc/httpd/conf.d/phpmyadmin.conf

Açılan dosya da aşağıdaki satırları siliniz ya da başına # ekleyiniz.

<Directory “/usr/share/phpmyadmin”>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>

Olması gereken hali , tabi izin için özel bir ip de ekleyebilirsiniz , test makinaıs olduğu için ben her yerden erişmek istiyorum ve başına # koyarak etkisiz hale getirdim.

#<Directory “/usr/share/phpmyadmin”>
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>

Şimdi authentication tip ini değiştirelim.

nano /usr/share/phpmyadmin/config.inc.php

Açılan dosya da

$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;

satırını bulup

$cfg[‘Servers’][$i][‘auth_type’] = ‘http’;

şeklinde değiştiriniz ve kaydediniz.

Apache servisini yeniden başlatalım.

/etc/init.d/httpd restart

Şimdi http://ipadresiniz/phpmyadmin.php yi browserdan çağırdığınızda phpmyadmin i görmelisiniz.Kullanıcı adı root , şifresi ise mysql secure installation bölümünde tanımladığınız şifredir. Umarım yardımcı olmuştur.

Saygılarımla

Ayhan ARDA

Whm Cpanel Üzerine Phalcon Framework Kurulumu

phalcon

Sonunda Phalcon framework cpanel üzerindeki easyapache den derlenebilir hale getirildi ve aşağıdaki şekilde derleyebilirsiniz.

Öncelikle sunucumuza git kuralım

yum install git

ya da

yum install git-core

Eğer hata alır iseniz aşağıdaki komut ile kurabilirsiniz.

yum –disableexcludes=main install git

Git in kurulup kurulmadığını ve lokasyonunu doğrulayalım.

root@ayhanarda.com [~]# which git
/usr/bin/git

Peki versiyonu görelim.

root@ayhanarda.com [~]# git –version
git version 1.7.1

Şimdi phalcon paketlerini git üzerinden indirebiliriz. Aşağıdaki komutları sırası ile çalıştırınız.

cd /var/cpanel/easy/apache/custom_opt_mods/
git clone https://github.com/thecpaneladmin/EA-PhalconPHP.git .
/scripts/easyapache

Easyapache ekranında aynı konfigürasyonla build ederken php modulleri arasında phalcon framework ü göreceksiniz , işaretleyip Build işlemini başlatınız.

Phalconun kurulu olup olmadığını anlamak için aşağıdaki komutu çalıştırabilirsiniz , sonuç görürseniz kurulmuş demektir.

root@ayhanarda.com [~]# php -m | grep phalcon
phalcon

Son bir doğrulama yapmamız gerekirse /usr/local/lib/php.ini dosyasında aşağıdaki satırı görüyorsaız kurulum tamamdır.
extension=phalcon.so

Ayhan ARDA

Whm / Cpanel de unutulan güvenlik sorularını ssh tan devre dışı bırakma

Bazı durumlarda güvenlik amacıyla oluşturduğumuz soruların cevaplarını unutabiliyoruz ,bu gibi durumlarda whm e erişemez oluyoruz , çözüm için sunucunuza ssh ile erişin.

Kullandığınız text editör ile aşağıdaki dosyayı açınız.

nano /var/cpanel/cpanel.config

Açılan dosyada aşağıdaki satırı bulun.

SecurityPolicy::SourceIPCheck=1

Yukarıdaki satırı aşağıdaki gibi değiştirin.

SecurityPolicy::SourceIPCheck=0

Şimdi tweak settings i güncellememiz gerekiyor. Aşağıdaki komutu kullanabilirsiniz.

/usr/local/cpanel/whostmgr/bin/whostmgr2 –updatetweaksettings

Artık whm panelinize sorular olmadan erişebilirsiniz.

Ayhan ARDA

Cpanel kurulu sunucuda /tmp nin read only olması hatası ve çözümü

Bazı durumlarda /tmp nin read only duruma geçmesi söz konusu olabilir , bu durumda örneğin /tmp altındaki session dosyalarını silmek isterken aşağıdaki hatayı alabilirsiniz.

rm: cannot remove `sess_fe063002d32536cc9a800cb05d170648′: Read-only file system

ve zaten siteniz login esnasında oturum açamayacaktır , sebebi /tmp ye yazamamasıdır , buradan da anlayabilirsiniz. Bu sorunu gidermek için aşağıdaki işlemleri yapabilirsiniz.

Öncelikle /tmp deki tüm processleri öldürelim.

lsof /tmp

Sonra /tmp partition unu umount edelim.

umount -l /tmp
umount -l /var/tmp

Şimdi bozulan partition dosyasını silelim.

rm -fv /usr/tmpDSK

Artık cpanel in kendi scripti ile /tmp yi tekrar oluşturabiliriz , karşınıza gelen seçenekleri y harfine basarak geçebilirsiniz.

/scripts/securetmp

Ayhan ARDA

Could not load file or assembly ‘System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies hatası çözümü

Web.config dosyanız için aşağıdaki hatayı alıyor iseniz sunucuda Microsoft .NET Framework 3.5 için Microsoft Chart Controls kurulu değil demektir.

Could not load file or assembly ‘System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′ or one of its dependencies

Hatayı gidermek için aşağıdaki linkten indirip sunucunuza kurabilirsiniz.

http://www.microsoft.com/en-us/download/details.aspx?id=14422

Sonrasında iisreset yeterlidir.

Ayhan ARDA

IIS6 cross-domain ayarlama

IIS te ilgili sitenin üzerine gelip sağ tıklayarak Properties bölümüne giriniz.

Açılan ekranda HTTP Headers tab ını açınız.

Custom HTTP Headers bölümün yanındaki Add butonuna tıklayınız.

Custom header name bölümüne Access-Control-Allow-Origin yazınız.

Custom header value bölümüne * koyunuz.

Aynı işlemi Access-Control-Allow-Headers ekleyerek tekrar yapınız ve değer olarak yine * giriniz.

Ok butonuna basıp işlemi sonlandırabilirsiniz.

Ayhan ARDA

Unknown: The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8) hatası

IIS te her şey yolunda giderken bir sitenin durmuş olduğunu ve tekrar başlatmak istediğinizde Unknown: The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8) hatasını verdiğini görebilirsiniz.

0x800710D8

Bu durumda Sitenin üzerine çift tıklayarak Authentication bölümüne gidin ve Windows Authentication bölümünü Enabled olarak değiştirin , şimdi tekrar siteyi start edebilirsiniz , durum devam eder ise akabinde uygulama havuzunu değiştirebilirsiniz , problem giderilmiş olacaktır.

0x800710D8.AuthenticationAyhan ARDA

You must use role management tool to install or configure Microsoft .NET Framework 3.5 Hatası

Visual Studio 2008 ya da  .NET 3.5 framework u kurmaya çalıtığınızda aşağıdaki hatayı alabilirsiniz.

you must use role management tool to install or configure Microsoft .NET Framework 3.5

Bunun için Bilgisayarım simgesinin üzerine Sağ tıklayıp Manage/Yönet bölümüne erişiniz. Features bölümünde Add Features kısmını açınız.  Karşınıza çıkan ekranda :net Framework 3.5.1 Features böülümünün yanndaki tik i işaretleyip Install butonu işlemi sonlandırınız. Hepsi bu kadar.