Elektronik ve Teknoloji Merkezi Elektrotekno.com
Elektronik ve Teknoloji Merkezi




Click here to go to the original topic

Elektrotekno.com Ana Sayfa Bilgisayar Programlama
Yazar Mesaj
Tayfun
Tarih: 11.12.2006, 06:02 Mesaj konusu: PHP Nuke Kurulumu (Resimli)

PHP-Nuke Kurulumu

PHP-Nuke'un aşağı yukarı bütün sürümlerinde, kurulum süreci birbiriyle aynı adımları izleyerek tamamlanmaktadır. Bunları aşağıdaki gibi sıralayabiliriz.

PHP-Nuke sürümünü belirlemek

PHP-Nuke'da çıkan güvenlik açıklarından dolayı genellikle son sürümü indirip kurmanız tavsiye edilebilir. Lâkin bazen son sürümlerde dahi büyük güvenlik açıkları çıkabiliyor. Hangi sürümü kullanacağınızı iyice düşünmeli, yeni sürümlerde bulunan özelliklerin, eski sürümlere uyarlanabileceğini de göz önünde tutarak sunucunuz ve kendi güvenliğiniz için en uygun sürümü seçmelisiniz.

Belirlenen sürümü indirmek

Açıkları yamama hususunda alanında şimdilik tek olan http://www.nukefixes.com ve http://www.NukeResources.Com adreslerinden PHP-Nuke'un yamalı sürümlerini indirebilirsiniz. Yalnız indirirken dikkat etmeniz gereken bazı hususlar var. Eğer yamalı bir PHP-Nuke sürümü indiriyorsanız, çoğunlukla bu sitelerde yalnızca düzenlenen dosyalar bir paket halinde sunulmuştur. Sürümü tam olarak indirebilmek için, http://www.NukeTurk.Com ve http://www.NukeScrips.net adreslerini kontrol edebilirsiniz.

Arşiv dosyasını açıp içindekileri çıkartmak
İndireceğiniz dosyanın uzantısı genellikle .rar, .tar.gz veya .zip'tir. Bütün bu sıkıştırılmış dosyaları, WinRAR yardımıyla açıp, içeriğini sabit diskinizin dilediğiniz bir bölümüne çıkartabilirsiniz.
WinRAR'ı indirmek için http://www.RarLab.Com sitesini ziyaret ediniz.

"html" klasöründekileri FTP alanına yüklemek
WinRAR yardımıyla sıkıştırılmış dosyanın içeriğini sabit diskte belirlediğiniz bir klasöre çıkarttıktan sonra, html, sql ve upgrades adında 3 klasör ve bunların yanında bazı açıklama dosyaları göreceksiniz. Eğer sitenizi henüz kuracaksanız, şimdilik size gerekli olanlar html ve sql klasörleridir. html klasöründeki içeriği tamamen, eksiksiz olarak internetteki sunucunuzun ana dizinine göndermelisiniz.

"sql" klasöründeki nuke.sql'i sorgulatmak
Bu dosyada, sitenin çalışması için gerekli veriler bulunmaktadır. Bu verileri MySQL sunucusunda oluşturacağınız bir veritabanına kaydetmek için yardımcı programlar bulunmaktadır. Bunlardan birisi phpMyAdmin ( http://www.phpmyadmin.net/ )olup, dünyaca tanınan bir MySQL'e erişim arabirimidir.

phpMyAdmin'e Giriş Yapmak

Kullanıcı adı ve şifremizi girip, "Login" düğmesine tıklıyoruz.

Yeni Veritabanı Oluşturmak

Yeni bir veritabanı oluşturmak için "Yeni veritabanı oluştur" yazısının altındaki kutuya veritabanı adını yazıp, "Karşılaştırma (Collation)" kısmına dokunmadan "Git" düğmesine tıklıyoruz. Bu düğmeye tıkladıktan sonra aşağıdaki gibi bir sayfa açılacaktır. (Ben burada "deneme" isimli bir veritabanı oluşturdum)


nuke.sql Sorgulatmak
Hemen aynı sayfadan, üstteki "SQL Sorgusu" bağlantısına tıklıyoruz. Karşımıza aşağıdaki gibi bir sayfa gelecektir.

Bu sayfada "Gözat" düğmesine tıklayıp sql klasöründeki nuke.sql dosyasını seçiyoruz. Aşağıdaki gibi:

Bu dosyayı seçtikten sonra hiçbirşeyi değiştirmeden "Git" düğmesine tıklayarak, nuke.sql'deki sorguları oluşturduğumuz veritabanına işliyoruz. Sonuçta aşağıdaki gibi bir sayfa açılacaktır.

Sizinde gördüğünüz gibi "SQL Sorgunuz Başarıyla Çalıştırılmıştır" yazıyor. Böylelikle nuke.sql dosyasındaki sorguları, oluşturduğumuz veritabanına işlemiş olduk.
"config.php" dosyasını düzenlemek
Sitemizin MySQL sunucusunda oluşturduğumuz veritabanına bağlanarak, buradan veri alabilmesi için, config.php dosyasını düzenlememiz gerekmektedir. Bu dosyanın yanlış düzenlenmesi halinde, sitemizde açılmayacaktır.

PHP-Nuke 7.9 Patched 3.1 sürümündeki config.php aşağıdaki gibidir:
Kod: <?php

######################################################################
# PHP-NUKE: Advanced Content Management System
# ============================================
#
# Copyright (c) 2005 by Francisco Burzi
# http://phpnuke.org
#
# This program is free software. You can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License.
######################################################################

if (stristr(htmlentities($_SERVER['PHP_SELF']), "config.php")) {
   Header("Location: index.php");
   die();
}

######################################################################
# Database & System Config
#
# dbhost:       SQL Database Hostname
# dbuname:      SQL Username
# dbpass:       SQL Password
# dbname:       SQL Database Name
# $prefix:      Your Database table's prefix
# $user_prefix: Your Users' Database table's prefix (To share it)
# $dbtype:      Your Database Server type. Supported servers are:
#               MySQL, mysql4, sqlite, postgres, mssql, oracle,
#               msaccess, db2 and mssql-odbc
#               Be sure to write it exactly as above, case SeNsItIvE!
# $sitekey:   Security Key. CHANGE it to whatever you want, as long
#               as you want. Just don't use quotes.
# $gfx_chk:   Set the graphic security code on every login screen,
#      You need to have GD extension installed:
#      0: No check
#      1: Administrators login only
#      2: Users login only
#      3: New users registration only
#      4: Both, users login and new users registration only
#      5: Administrators and users login only
#      6: Administrators and new users registration only
#      7: Everywhere on all login options (Admins and Users)
#      NOTE: If you aren't sure set this value to 0
# $subscription_url: If you manage subscriptions on your site, you
#                    must write here the url of the subscription
#                    information/renewal page. This will send by
#                    email if set.
# $admin_file: Administration panel filename. "admin" by default for
#            "admin.php". To improve security please rename the file
#              "admin.php" and change the $admin_file value to the
#              new filename (without the extension .php)
# $tipath:          Path to where the topic images are stored.
# $nuke_editor: Turn On/Off the WYSIWYG text editor
#               0: Off, textareas in forms will not show any editor
#               1: On, all textarea in the forms will show the editor
# $display_errors:  Debug control to see PHP generated errors.
#                   false: Don't show errors
#                   true: See all errors ( No notices )
######################################################################

$dbhost = "localhost";
$dbuname = "root";
$dbpass = "";
$dbname = "nuke";
$prefix = "nuke";
$user_prefix = "nuke";
$dbtype = "MySQL";
$sitekey = "SStgF54$3@+%288-982%/(-derThsR-23";
$gfx_chk = 0;
$subscription_url = "";
$admin_file = "admin";
$tipath = "images/topics/";
$nuke_editor = 1;
$display_errors = false;

/**********************************************************************/
/* You finished to configure the Database. Now you can change all     */
/* you want in the Administration Section.   To enter just launch     */
/* your web browser pointing it to http://xxxxxx.xxx/admin.php        */
/* (Change xxxxxx.xxx to your domain name, for example: phpnuke.org)  *
/*                                                                    */
/* Remember to go to Preferences section where you can configure your */
/* new site. In that menu you can change all you need to change.      */
/*                                                                    */
/* Congratulations! now you have an automated news portal!            */
/* Thanks for choose PHP-Nuke: The Future of the Web                  */
/**********************************************************************/

// DO NOT TOUCH ANYTHING BELOW THIS LINE UNTIL YOU KNOW WHAT YOU'RE DOING

$prefix = empty($user_prefix) ? $prefix : $user_prefix;
$reasons = array(
            "As Is",
            "Offtopic",
            "Flamebait",
            "Troll",
            "Redundant",
            "Insighful",
            "Interesting",
            "Informative",
            "Funny",
            "Overrated",
            "Underrated"
            );
$badreasons = 4;
$AllowableHTML = array(
         "b"=>1,
         "i"=>1,
         "strike"=>1,
         "div"=>2,
         "u"=>1,
         "a"=>2,
         "em"=>1,
         "br"=>1,
         "strong"=>1,
         "blockquote"=>1,
         "tt"=>1,
         "li"=>1,
         "ol"=>1,
         "ul"=>1
         );
$CensorList = array(
      "fuck",
      "cunt",
      "fucker",
      "fucking",
      "pussy",
      "cock",
      "c0ck",
      "cum",
      "twat",
      "clit",
      "bitch",
      "fuk",
      "fuking",
      "motherfucker"
      );

//***************************************************************
// IF YOU WANT TO LEGALY REMOVE ANY COPYRIGHT NOTICES PLAY FAIR AND
// CHECK: http://phpnuke.org/modules.php?name=Commercial_License
// COPYRIGHT NOTICES ARE GPL SECTION 2(c) COMPLIANT AND CAN'T BE
// REMOVED WITHOUT PHP-NUKE'S AUTHOR WRITTEN AUTHORIZATION
// THE USE OF COMMERCIAL LICENSE MODE FOR PHP-NUKE HAS BEEN
// APPROVED BY THE FSF (FREE SOFTWARE FOUNDATION)
// YOU CAN REQUEST INFORMATION ABOUT THIS TO GNU.ORG REPRESENTATIVE.
// THE EMAIL THREAD REFERENCE IS #213080
// YOU'RE NOT AUTHORIZED TO CHANGE THE FOLLOWING VARIABLE'S VALUE
// UNTIL YOU ACQUIRE A COMMERCIAL LICENSE
// (http://phpnuke.org/modules.php?name=Commercial_License)
//***************************************************************
$commercial_license = 0;

?>
Bizim bu dosyada, sitemizin veritabanından verileri alarak işlemesi için düzenlememiz gereken satırlar ise aşağıdaki satırlardır:
Kod: $dbhost = "localhost";
$dbuname = "root";
$dbpass = "";
$dbname = "nuke";
$prefix = "nuke";
$user_prefix = "nuke";
$dbtype = "MySQL";
$sitekey = "SStgF54$3@+%288-982%/(-derThsR-23";
$gfx_chk = 0;
$subscription_url = "";
$admin_file = "admin";
$tipath = "images/topics/";
$nuke_editor = 1;
$display_errors = false;

Şimdi gelin hep birlikte bunların anlamını öğrenelim.

$dbhost = "localhost";
$dbhost değeri MySQL sunucusunun yerini belirlemek için yazılmış bir kelimedir. Çoğu sunucularda bu değerin karşısına yalnızca "localhost" yazmak yeterli olduğu gibi, kimi sunucularda bu bölüm değişken olduğundan, sunucu sağlayıcı firma ile görüşüp, MySQL sunucusunun bulunduğu yeri, yine bu firmadan öğrenebilirsiniz.

$dbuname = "root";
$dbuname değeri MySQL sunucusuna bağlanmak için gereken kullanıcı adını belirlemek için yazılmış bir kelimedir. MySQL'e bağlanırken kullanmanız gereken kullanıcı adını kendiniz cpanel veya Plesk gibi sunucu yönetim panellerinden oluşturabilirsiniz. Burada "root" yazan kısıma siz kendi kullanıcı adınızı yazmalısınız.

$dbpass = "";
$dbpass değeri MySQL sunucusuna bağlanmak için gereken şifreyi belirlemek için yazılmış bir kelimedir. MySQL'e bağlanırken kullanmanız gereken şifreyi, yine kendiniz cpanel veya Plesk gibi sunucu yönetim panellerinden oluşturabilirsiniz. Burada "" yazan kısıma siz kendi şifrenizi yazmaılsınız.
Örnek: $dbpass= "sifrem";

$dbname = "nuke";
$dbname değeri MySQL sunucusunda oluşturduğumuz veritabanının adını belirlemek için yazılmış bir kelimedir. MySQL'da bulunan veritabanının ismini buraya yazıyoruz, veritabanının nasıl oluşturulduğu hakkında bir önceki başlıkta bilgi vermiştik. Burada "nuke" yazan kısma kendi veritabanınızın adını yazmalısınız.
Örnek: $dbname= "deneme";

$prefix = "nuke";
$prefix Eğer bir veritabanı tablosunda birden fazla aynı isimde tablo yer alıyorsa bunlar birbirinden ön-ek terimi ile adlandırdığımız kısa kelime, harf veya rakamlarla ayrılırlar. Bu değeri dilediğiniz gibi değiştirmenizde bir sakınca yoktur. Son gelişmelere göre ön-eki değiştirmenizde fayda vardır.

$user_prefix = "nuke";
$user_prefix Yukarıda belirtilen $prefix değeri ile hemen hemen aynıdır.

$dbtype = "MySQL";
$dbtype PHP-Nuke yalnızca MySQL ile yetinmemiş, diğer veritabanı sunucularında da çalışabilecek şekilde oluşturulmuştur. Eğer veritabanı sunucunuz MySQL değilse, bu kısıma veritabanı sunucunuzu config.php'de verildiği şekilde büyük küçük harf koşullarına uyarak yazmalısınız. Sunucu isimleri: MySQL, mysql4, sqlite, postgres, mssql, oracle, msaccess, db2 and mssql-odbc.

$sitekey = "SStgF54$3@+%288-982%/(-derThsR-23";
$sitekey Buraya vereceğiniz değer yardımıyla, bütün md5 tipi şifreler oluşturulmaktadır. O yüzden bu değerin değiştirilmiş olmasına dikkat ediniz. Bütün karakterleri kullanabilirsiniz fakat " işareti hariç.

$gfx_chk = 0;
$gfx_chk Bu seçenek sayesinde kayıt flood saldırısını önleyebilirsiniz. Eğer "0" değerini seçerseniz, güvenlik kodu hiçbir zaman kullanıcılara gösterilmez. Özellik kapalıdır.
Örnek:
$gfx_chk = 0;

Eğer "1" değerini seçerseniz, güvenlik kodu yalnızca yönetici girişlerinde etkinleşir.
Örnek:
$gfx_chk = 1;

Eğer "2" değerini seçerseniz, güvenlik kodu yalnızca kullanıcı girişlerinde etkinleşir.
Örnek:
$gfx_chk = 2;

Eğer "3" değerini seçerseniz, güvenlik kodu yeni kullanıcı kayıt işlemleri esnasında etkinleşir.
Örnek:
$gfx_chk = 3;

Eğer "4" değerini seçerseniz, güvenlik kodu hem yeni kullanici kayıt işlemleri sırasında hem de kullanıcının hesabına giriş yapacağı sırada etkinleşir.
Örnek:
$gfx_chk = 4;

Eğer "5" değerini seçerseniz, güvenlik kodu hem kullanıcının hem de yöneticinin hesabına giriş yapacağı sırada etkinleşir.
Örnek:
$gfx_chk = 5;

Eğer "6" değerini seçerseniz, güvenlik kodu hem yöneticiler için hem de yeni kullanıcı kayıt işlemleri sırasında etkinleşir.
Örnek:
$gfx_chk = 6;

Eğer "7" değerini seçerseniz, güvenlik kodu her zaman etkindir.
Örnek:
$gfx_chk = 7;

$subscription_url = "";
$subscription_url Eğer sitenizde herhangi bir kullanıcı iştirak sisteminiz var ise; mesela e-posta listesi, bağış veya yardım sistemleri v.s. bu bölüme sitenizdeki olası kullanıcı iştirak sistemine ulaşım adresini yazabilirsiniz..
Örnek:
$subscription_url = "http://www.site.com/maillist.php";

$admin_file = "admin";
$admin_file Sitenizin güvenliği açısından, admin.php dosyasının adını değiştirebilirsiniz. Dosyanın yeni adını, uzantısı olmaksızın bu bölümde belirtebilirsiniz.
Örnek:
$admin_file = "yonetim"; (Bu durumda yönetim paneline http://www.site.com/yonetim.php adresinden erişebilirsiniz.)

$tipath = "images/topics/";
$tipath Haberler modülünde (News) belirlenen konu sembollerinin sunucunuzda hangi klasörde bulunduğunu belirtmeniz için bu değer belirlenmiştir.

$nuke_editor = 1;
$nuke_editor Sitenizdeki formlarda çıkan ve yazdıklarınızı daha kolay bir şekilde html kodlarına döken editörün çıkması için değeri 1, çıkmaması için ise değeri 0 şeklinde ayarlamalısınız.

$display_errors = false;
$display_errors Sitenizde herhangi bir sebepten dolayı meydana gelecek hatalar, sitenizin sunucuda nerede olduğunu açıkça söylemektedir. Bunu engellemek için değer "false" olarak belirlenmiştir. Eğer sitenizde beyaz sayfalarla karşılaşırsanız, bir hata oluşmuş demektir. Bu durumda "false" değerini "true" olarak değiştirip, hatanın ne olduğuna bakabilir, daha sonra tekrar "false" değeri vererek, hata gösterimini kapatabilirsiniz.


Kullanıcılarınızın göndereceği içerikte html kullanmasını ve hangi html tırnaklarını kullanabileceklerini belirleyebilirsiniz. Bunun için config.php dosyasında aşağıdaki satırı düzenlemelisiniz.
Kod: $AllowableHTML = array(
         "b"=>1,
         "i"=>1,
         "strike"=>1,
         "div"=>2,
         "u"=>1,
         "a"=>2,
         "em"=>1,
         "br"=>1,
         "strong"=>1,
         "blockquote"=>1,
         "tt"=>1,
         "li"=>1,
         "ol"=>1,
         "ul"=>1
      );

Yine config.php dosyası yardımıyla, sitenize gönderilen içeriği sansürleyebilirsiniz. Bunun için aşağıdaki satırı düzenlemelisiniz.
Kod: $CensorList = array(
      "fuck",
      "cunt",
      "fucker",
      "fucking",
      "pussy",
      "cock",
      "c0ck",
      "cum",
      "twat",
      "clit",
      "bitch",
      "fuk",
      "fuking",
      "motherfucker"
);

Yönetici hesabı oluşturmak
Yukarıda anlattığımız bütün aşamaları geçtikten sonra, artık sitenize giriş yapabilirsiniz. İlk yapmanız gereken bir yönetici hesabı oluşturmak olmalıdır. İlk oluşturulacak yönetici hesabı silinmeyen bir özellik taşımaktadır ve en üst düzey yöneticidir.

Yönetici hesabını oluşturmak için http://www.siteniz.com/admin.php adresine gidin. Karşınıza aşağıdaki gibi bir ekran çıkacaktır:

Bu aşamada, Nickname yazan yere kullanıcı adınızı, Password yazan yere şifrenizi, E-Mail yazan yere e-posta adresinizi, HomePage yazan yere sitenizin adresini (http:// öneki dahil) yazıp, Do you want to create a normal user wıth same data? (Aynı bilgilerle normal kullanıcı hesabı oluşturulsun mu?) sorusunu Yes (Evet) ile cevapladıktan sonra "Submit" (Gönder) düğmesine tıklıyoruz. Karşımıza aşağıdaki gibi bir sayfa gelecektir:

Bu alanlara az önce girdiğiniz kullanıcı adı ve şifrenizi yazmalısınız. Security Code ise olası saldırılara karşı bir önlemdir. Bu kod sistem tarafından oluşturulur. Kodu da girdikten sonra "Login" (Giriş) düğmesine tıklayarak Yönetici Paneli'ne giriş yapabilirsiniz.
*Alıntı*
-----------------------------------------------------

Elektrotekno.com Ana Sayfa Bilgisayar Programlama
1. sayfa (Toplam 1 sayfa)

PHP Nuke Kurulumu (Resimli)

Gizlilik Politikası

PLC programming