Adım Adım WHM/Cpanel Kurulumu ve Konfigürasyonu

222

Hosting sektöründe ki bir çok firmanın kullandığı WHM/CPANEL’in kurulumunu aşağıda ki linkden bulabilirsiniz.

WHM/Cpanel yazılımı lisanslı olarak satın alınması gerekmektedir. Lisansı alırken IP numarası belirtilir ve almış olduğunuz bu lisans sadece bu IP adresinde çalışacaktır. Ayrıca cpanel.net üzerinden 15 günlük test lisansları da oluşturulabilmektedir. Lisans alırken ram’iniz 1 GB altında ise VPS lisansı almanız sizin için daha uygun olacaktır.

Kurulum için aşağıda ki adımları takip edebilirsiniz.

1. cd /home — ( Home klasörüne giriş yapın. Home klasörü yok ise otomatik olark oluşturacaktır. )
2. wget -N http://layer1.cpanel.net/latest — ( Cpanel’i kurabilmeniz için gerekli olan dosyayı indiriniz. )
3. sh latest — ( İndirdiğiniz dosyayı çalıştırarak kuruluma başlayabilirsiniz. )
4. /usr/local/cpanel/cpkeyclt — ( Kurulum bittiğinde lisansınız geçerli olacaktır. Ancak IP değişikliği yada oluşabilecek hatalardan sonra lisansı tekrar aktifleştirmesi için gerekli olan komuttur. )

Kurulumdan sonra ki ihtiyaçlarınız doğrultusunda ki konfigürasyonundan bahsedeceğim.

Kurulum işlemi bittikten sonra browser’ımıza

http://IP:2086 yazarak giriş yapıyoruz.

Username ve Password’unuz linux root bilgileriyle aynıdır.

Kurulumu yeni yaptığımız için öncelikle sözleşme gelecektir. I agree/Go to Step 2 tıklayarak sözleşmeyi kabul edip, 2. adıma geçiyoruz.

Server Contact Email Address: server@domainadi.com ( Oluşabilecek problemlerde buraya mail gönderecektir. )

Server Contact SMS Address: SMS ile bilgilendirilmeniz içindir. Boş bırakıyoruz.

Server Contact AIM Name: AIM bilgileriniz. Boş bırakıyoruz.

Server Contact ICQ Number: ICQ numaranız. Boş bırakıyoruz.

This Server’s Hostname: Server’ınızın hostname’idir. Genelde NS adresinizle aynı veririz.

Primary Resolver: DNS server’ınızın IP’sidir. Hizmet aldığınız Datacenter’ın IP’sidir.

Secondary Resolver: DNS server’ınızın 2.IP’sidir. Hizmet aldığınız Datacenter’ın IP’sidir.

Third Resolver: DNS server’ınızın 3.IP’sidir. Hizmet aldığınız Datacenter’ın IP’sidir.

Main Network/Ethernet Device: Ethernet kartınızı seçmeniz gerekmektedir. Default değer doğrudur.

Save & Go to Step 3′e tıklayarak yeni adıma geçiyoruz.

Add New IP Address(es): Yeni IP adresi eklemek için kullanılır. Alt tarafda ekli olan IP leri görebilirsiniz.

Go to Step 4′e tıklayıp 4. adıma geçiyoruz.

Nameserver Configuration: Server’ımızın DNS yazılımını seçmemize yarar. Bind DNS başarılıdır ancak sorunlar çıkarttığı için tercih etmeyebilirsiniz. NSD DNS şuanda en sağlıklı çalışan sistemlerden birisidir.

Choose which nameservers domains on this server will use: Domain’i yönlendirmek için kullanacağınız NS’leri yazınız.

Add “A Entries” for all Nameservers: NS’lerimizin sağlıklı çalışması için bunu aktif ediyoruz. NS’lerimize karışık gelen A kayıtlarını oluşturacaktır.

Add A Entries for Nameservers & Hostname: Yazmış olduğunuz NS’lere karşılık gelen IP’leri belirtiniz.

Add “A Entries” for Hostname: Aktif ediniz. Hostname’in karşılığına gelen A kaydını oluşturacaktır.

Save & Go to Step 5′e tıklayarka 5. adıma geçiyoruz.

FTP Configuration: FTP server’ımızı seçmemizi istiyor. ProFTPD sorunsuz çalışan bir sistem olduğu için tercih edebilirsiniz.

Mail Configuration: Mail server’ımızı seçmemiz gerekiyor. Courier’i tercih edebilirsiniz.

Convert Mailbox Format: Aktif ediniz.

Configure cPHulk: Aktif ediniz. Brute force ataklara karşı güvenlik sağlayacaktır.

Extend account lockout time upon additional authentication failures: Aktif ediniz.

Save & Go to 6 Step tıklayarak 6. adıma geçiyoruz.

Use file system quotas.

Seçilip finish setup wizard’a tıklayarak kurulumu tamamlıyoruz.

Sıra geldi ince ayarlarımıza.

İlk yapacağımız şey, Tweak Settings bölümüne girerek BoxTrapper Spam Trap bulmak ve etkisizleştirmektir.

BoxTrapper Spam Trap server’ımızın IP adresini SPAM’a düşürebileceği için kapatıyoruz. Save edip devam ediyoruz.

Exim Configuration Editor kısmına giriyoruz ve alt taraftan “Advanced Editor” linkine tıklıyoruz. Bu açılan sayfada, ilk kısma (ilk textarea’ya) tırnak işaretleri olmadan “log_selector = +arguments +subject” ibaresini ekleyip save’liyoruz, cPanel de Exim’i baştan başlatıp ayarlarımızı kaydediyor. Bu işlem, Exim’in daha sorunsuz ve daha düzgün şekilde log tutmasına yarıyor.

PHP Configuration Editor’e girip Switch to advanced mode’e tıklıyoruz.

“disable_functions” kısmını bularak tırnaklar olmadan aynen şunu yapıştırıyoruz:

PLAIN TEXTCODE:
1.”shell_exec,exec,system,glob,cat,dl,openbasedir, popen,proc_close,proc_get_status,proc_nice,proc_op en,

escapeshellcmd,escapeshellarg,show_source,posix_mk fifo,mysql_list_dbs,get_current_user,getmyuid,pcon nect,

link,symlink,pcntl_exec,ini_alter,parse_ini_file,l eak,apache_child_terminate,posix_kill,posix_setpgi d,

posix_setsid,posix_setuid,proc_terminate,syslog,fp assthru,allow_url_fopen,stream_select,socket_selec t,

socket_create,socket_create_listen,socket_create_p air,socket_listen,socket_accept,socket_bind,socket _strerror,

pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexits tatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifs topped,

pcntl_wstopsig,pcntl_wtermsig,openlog,apache_get_m odules,apache_get_version,apache_getenv,apache_not e,

apache_setenv,virtual,name”
Not: Üstteki komutları yazarken kesinlikle boşluk v.s. bırakmayınız. Düz satır olarak aralarında boşluk olmadan yana yana yazınız.

Sonrasında ise, “enable_dl” ayarını bularak “Off” konumuna getirip ayarlarımızı kaydediyoruz. Artık güvenli bir PHP’imiz var.

FTP Server Configration kısmına giriyoruz ve “Allow Anonymous Logins”, “No” olarak seçip kaydediyoruz. Böylece, FTP’miz de güvenli. Tabi ki, isimsiz FTP server çalıştıracaksanız, yani FTP server’a kullanıcı adı ve şifre olmadan halka açık bağlantı yapacaksanız, ilk seçeneği “Yes” olarak seçmelisiniz.

Manage Plugins bölümüne giriyoruz. “pro”, “clamavconnector” seçerek alttaki Save butonuna tıklıyoruz ve bu eklentiler sunucumuza kuruluyor. Uzun sürebilir ancak bu eklentiler bizim için önemli.

Sıra geldi derleme işlemine. Ben daha çok hosting firmalarının ihtiyacı olacak, en çok kullanılacakları aktif ederek devam ediyorum.

Önemli: Bu derleme işlemi kesinlikle yarıda kesilmemelidir. Yarıda kesilmesi durumunda sunucunuza format atılması ve tekrar kurulması gerekebilir. Eğer tarayıcı pencereniz kapansa bile derleme işlemi arkaplanda çalışmaya devam edecektir, yeter ki derleme işleminin bittiğinden emin olmadan sunucunuza kesinlikle resetlemeyin yaptırmayın.

EasyApache (Apache Update) kısmına giriyoruz. “Start customizing based on profile” tıklıyoruz. Apache 2.2 seçip next step diyoruz. PHP 5 seçiyoruz. Next step tıklıyoruz ve en alttaki, yani en günel seçeneği seçiyoruz. Şu anda en güncel PHP versiyonu 5.3.1 seçiyoruz. Next step tıklıyoruz, Frontpage, Mod SuPHP, Ioncube Loader for PHP, Mod Security bunların dışında seçili olan varsa kaldırıyoruz. Alttan “Exhaustive Options List” tıklıyoruz. Apache Build-In Modules kısmından sadece şunların seçili olduğundan emin oluyoruz: Asis, AuthnDefault, Env, Expires, Fileprotect, Frontpage, Headers, imagemap, Mod SuPHP, Proxy, UniqueID, Version. Daha sonra Other Modules kısmında sadece şunların seçili olduğundan emin oluyoruz: “IonCube Loader for PHP”, “Mod Security”. Şimdi ise, PHP ayarlarına geliyoruz ve sadece aşağıdakilerin seçili olduğundan emin oluyoruz: “Bcmath, CGI, Calendar, Curl, CurlSSL, FTP, GD, Gettext, Iconv, Imap, Magic Quotes, Mbregex, Mbstring, Mcrypt, Mysql, Mysql of the system, OpenSSL,PDO, PDO Mysql, POSIX, Path Info Check, Pear, SQLite3, Sockets, TTF (Free Type), Zlib. Sadece bunların seçili olduğundan emin olduktan sonra, Prefrences ve diğer kısımlara dokunmadan en alttaki “Save and Build” butonunu tıklıyoruz ve build başlıyor. Sorduğu sorulara Yes ve I Understand seçip işleme başlıyoruz.

Derleme bittiğinde PHP and SuExec Configuration hakkında sorular soracak. Biz PHP4 kurmadığımız, default olarak PHP 5 seçiyoruz. Burada PHP5′i CGI olarak seçiyoruz. Eğer PHP4 kurduysanız onuda seçmeyi ihmal etmeyin. Apache SuExec ON yapıyoruz ve Do a dryrun kutucuğunu işaretlemeden Save New Configuration seçip derleme işlemini bitiriyoruz. Close’e tıklayıp işlemi sonlandırıyoruz.

Apache-PHP ile ilgili son ayar olarak Apache Configuration’a giriyoruz ve “Memory Usage Restrictions” kısmını tıklayıp Proceed diyoruz. Artık arızalı scriptlerin sunucumuzu şişirmesi, kilitlemesi gibi şeyler de sözkonusu olmayacak.

Bu ayarları tamamladıktan sonra, cPHulk Brute Force Protection kısmına girip enable ediyoruz. PHP open_basedir Tweak bölümüne girip Enable php open_basedir protection seçip save ediyoruz. Apache mod_userdir Tweak bölümüne gelip Enable mod_userdir protection seçip save ediyoruz. SMTP Tweak kısmında ise Enable ediyoruz. Shell Fork Bomb Protection kısmında ise Enable Protection seçiyoruz. Compiler Access kısmında ise “Disable Compilers” tıklıyoruz. Artık, son derece güvenli bir sunucuya sahibiz.

WHM ayarlarımızı tamamladık. Şimdi sunucumuza root olarak SSH ile giriş yapıyoruz. Öncelikle

$ nano /etc/ssh/sshd_config

Komutunu vererek sshd_config dosyasını editliyoruz ve “Protocol 2,1″ ayarının başına # koyarak etkisizleştiriyoruz, “Protocol 2″ ayarının başındaki # işaretini ise kaldırıyoruz. Dilerseniz, Port 22 kısmından portu da değiştirebilirsiniz, SSH bağlanmak isteyen yetkisiz kişileri engelleyecektir, fakat önce, değiştireceğiniz portun kullanılmadığından ve herhangi bir firewall kullanıyorsanız firewall’da bu portun açık olduğundan emin olmalısınız. Bu dosyayı kaydedip çıkıyoruz ve “service sshd restart” yazarak SSH server’ı baştan başlatıyoruz, böylece yaptığımız ayarlar geçerli oluyor.

Şimdi, tmpfs bölümünü güvenli hale getirmek için

$ nano /etc/fstab

dosyasını editliyoruz. Bu dosyayı düzenlerken çok dikkatli olmalısınız, yapacağınız bir hata sunucunuza format atılmasını gerektirecektir. Söylediğimin dışında kesinlikle başka bir işlem yapmayınız. buradan tmpfs bölümünü buluyoruz ve aynı satırdaki defaults yazısının yanına ,noexec,nosuid ekliyoruz. Yani o satır şu şekilde görünmeli:

tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0

Dosyayı kaydetmeden önce 3 kere kontrol ediyoruz, özellikle bu eklemeyi yapınca txt editörün herhangi bir kısmı alt satıra almadığından emin oluyoruz, alt satıra almışsa alta alınan kısmı tekrar yukarı çıkarıyoruz ve dosyamızı kaydedip çıkıyoruz. Bu ayarın da etkin olması için

$ mount -o remount,noexec,nosuid /dev/shm komutunu çalıştırıyoruz.

Bunu da hallettikten sonra, sunucuda gerek duyulmayan, gereksiz yere sunucuyu yoracak bütün fonksiyonları kapatıyoruz. Sırasıyla, hata verirse önemsemeden(failed yazabilir, başka hata verebilir, önemli değil) aşağıdaki komutları çalıştırıyoruz:

$ service cups stop
$ chkconfig cups off
$ service xfs stop
$ chkconfig xfs off
$ service atd stop
$ chkconfig atd off
$ service nfslock stop
$ chkconfig nfslock off
$ service canna stop
$ chkconfig canna off
$ service FreeWnn stop
$ chkconfig FreeWnn off
$ service cups-config-daemon stop
$ chkconfig cups-config-daemon off
$ service iiim stop
$ chkconfig iiim off
$ service mDNSResponder stop
$ chkconfig mDNSResponder off
$ service nifd stop
$ chkconfig nifd off
$ service rpcidmapd stop
$ chkconfig rpcidmapd off
$ service bluetooth stop
$ chkconfig bluetooth off
$ service anacron stop
$ chkconfig anacron off
$ service gpm stop
$ chkconfig gpm off
$ service saslauthd stop
$ chkconfig saslauthd off
$ service avahi-daemon stop
$ chkconfig avahi-daemon off
$ service avahi-dnsconfd stop
$ chkconfig avahi-dnsconfd off
$ service hidd stop
$ chkconfig hidd off
$ service pcscd stop
$ chkconfig pcscd off
$ service sbadm stop
$ chkconfig sbadm off
$ service webmin stop
$ chkconfig webmin off
$ service ossec stop
$ chkconfig ossec off

Bunların hepsini sırasıyla çalıştırdıktan sonra, gereksiz bütün servisler kapanmış oluyor.

Bu kadar çok ayar yaptık, şimdi cPanel’in bu ayarlar karşısında kendini kaybetmesini önleyelim. İlk olarak

$ /scripts/upcp

Komutunu çalıştırarak cPanel update yapıyoruz. Bu işlemin bitmesini bekliyoruz, bittiğinden emin olmadan daha sonraki adımlara geçmiyoruz. Bittiğinden emin olamıyorsanız, ne olur ne olmaz diyeek yarım saat beklemenizi öneririm. Eğer yavaş bir bağlantı varsa, 2 saat bekleyin ki bir sorun çıkmasın. Bu işlem bittikten sonra da,

$ /scripts/makecpphp

Komutunu çalıştırarak cpanelin kendine çeki düzen vermesini sağlıyoruz. Bu işlem de bittikten sonra,

$ service cpanel restart

Komutuyla cPanel’imizi baştan başlatıyoruz. Artık Her anlamda taş gibi çalışan bir sistemimiz var. Son olarak da, apache derlemesi apache’nin aklını bulandırabileceğinden,

$ /scripts/rebuildhttpdconf

Komutuyla apache konfigrasyonumuzu tekrar düzenletiyoruz ve

$ service httpd restart

Komutuyla apache’mizin sağlam konfigrasyonla çalışmasını sağlıyoruz.

İşte hepsi bu kadar, artık sapasağlam ve son derece güvenli bir cPanel sunucunuz var.


Article Tags: · · · · ·

Comments are closed.

Paylaş