PHP-Nuke Nedir?
PHPNuke php ile yazılmış bir içerik yönetim sistemidir diyebiliriz.
PHPNuke'nin çalışması için hosting firmanızın php ve mysql desteği sunması
gerekir. Ama bu demek değildir ki PHPNuke sadece mysql ile çalışır. PHPNuke
mysql dışında, mSQL, PostreSQL, PostreSQL_local, ODBC, ODBC_Adabas, Interbase ve
Sybase veritabanları ile çalışır. Ama gerek hız gerek de php ile uyumu açısından
MySQL veritabanı tercih edilir.
PHPNuke nin standart klasörleri vardır. Bunlar; admin, language, blocks,
modules, includes, images ve themes klasörleridir. Bu klasörlerin ne için
kullanıldığına kısaca değinelim.
1- admin: Bu klasörün içerisinde links, case, language ve
modules klasörleri mevcuttur. Admin klasörü yönetim paneli için gerekli bir
paneldir. Yönetim ile ilgili dosyalar burada mevcuttur. links klasörü yönetim
menüsünde link oluşmasına yarar. Örneğin links.newsletter.php dosyası yönetim
menüsünde Newsletter adında bir link oluşmasını sağlar. language içerisindeki
dosyalar ise yönetim menüsü dil dosyalarını içerir.
2- language: Bu klasörün içerisindeki dosyalar sitenin dil
dosyalarıdır. Dikkat ederseniz dil dosyaları lang- ile başlar. Bu nukenin
standart bir uygulamasıdır. Örneğin Türkçe dilinin dosyası lang-turkish.php,
İngilizce dilinin dosyası lang-english.php dir. Dil dosyaları olmazsa nuke hata
verir.
3- blocks: Bu klasörün içerisinde site tasarımının solunda,
sağında ve ortasında görülen blokların dosyaları mevcuttur. Bütün bloklar siz
aktif etmediğiniz sürece görülmez.
4- modules: Bu klasörde sitenin bölümlerini oluşturan
klasörler mevcuttur. Her klasör bir bölüm için kullanılır. Örneğin Downloads
klasörü Download bölümünün oluşmasını sağlar.
5- includes: Bu klasörde phpnukenin yukarıda saydığım
veritabanları ile çalışması için sql_layer.php dosyası, istatistik için
counter.php, sitenizin meta etiketlerini yazabileceğiniz meta.php ve çeşitli
amaçlar için yazılmış dosyalar mevcuttur.
6- images: Bu klasörde ise sitenin nerdeyse bütün grafikleri
saklanır. Örneğin konu grafikleri, yönetim menüsü grafikleri, dil grafikleri,
bölümler grafikleri, haberler için gerekli grafikler...vb.
7- themes: Bu klasörde sitenin görünümü için gerekli temalar
bulunur. Her görünüm ayrı bir klasör içerisinde olur. Temalarla sitenizin
görünümünü değiştirebilirsiniz. Böylece siteye yeni bir görünüm
kazandırabilirsiniz.
8- db: Bu klasör PHPNuke 6.5 ile hayatımıza girdi. Adından
da anlaşılacağı gibi veritabanı ile ilgili bazı dosyalar mevcut. Ellenmemesi ve
değiştirilmemesi gereken bir klasördür.
PHPNukenin klasörlerini tanıdıktan sonra şimdi de "Blok nedir? Modül nedir?
Addon nedir? Tema nedir?" gibi konularda bilgiler sunalım. Nukede standart
olarak hangi dosyalar var ve bunlar ne işe yarar? Şimdi bu sorunun cevabını
verelim. Nukede standart olarak, ana klasörde config.php, header.php,
footer.php, modules.php, mainfile.php, backend.php, auth.php, banners.php,
admin.php, index.php, ultramode.txt ve robots.txt dosyaları mevcuttur.
includes klasöründe counter.php, meta.php, sql_layer.php dosyaları mevcuttur. Ancak
PHPNuke 6.5 ile bu klasöre yeni
dosyalar eklenmiştir. Onlarla bir işlem yapmayacağınız için onları bilmenize
gerek yok. Şimdi bu dosyaların işlevlerini tanıyalım.
1- config.php: Bu dosyada veritabanına bağlantı için gerekli
bilgiler yer almaktadır. Bu değerleri siz veritabanı bilgilerinize göre
değiştirmelisiniz. $dbhost için veritabanı sunucunuzun adresini girmelisiniz. Bu
genelde localhost. Ama buraya eğer veritabanı sunucunuz başka bir yerde ise
oranın veritabanı sunucu adresini girmelisiniz. Örnek vermek gerekirse;
veritabanınızın adresi db.siteismi.com ise buraya onu yazmalısınız. Ancak bir
port adresi varsa o zaman yazacağınız şekil db.siteismi.com:8080 gibidir. Yani
port numarasından önce : ve sonra da post numarasını yazmalısınız. Eğer size Ip
adresi verilmişse o zaman buraya IP adresini yazmalısınız. Örneğin; 65.126.35.12
gibi. Diğer bir alan ise $dbuname. Buraya da veritabanına bağlantı için server
tarafından size verilmiş olan yada sizin oluşturduğunuz bir kullanıcı adı
eklenmeli. Örneğin siteis_kullanici gibi. $dbpass ise veritabanına bağlantı için
kullandığınız kullanıcı adına ait şifrenizin girileceği yerdir. $dbname alanı
ise veritabanı adını yazacağınız yerdir. diğer alanları olduğu gibi
bırakabilirsiniz. Yalnız nuke 6.5 ile bu dosyaya yeni bir alan eklendi.
$sitekey. Bu alanın karşındaki değeri değiştirmeniz gerekli. Ne yazacağınız ise
önemli değil. Oradaki gibi canınız ne isterse onu yazabilirsiniz.
2- header.php: Bu dosyada html başlangıç satırları yer alır.
Örneğin <html><head><title> bilgileri ve style dosyasının
nereden yükleneceği burada tanımlıdır. Bir değişiklik gerekmez.
3- footer.php: Bu dosyada da html bitiş satırları yer alır.
Örneğin </body></html> burada tanımlıdır. Herhangi değişiklik
gerekmez.
4- modules.php: Bu dosya ise modülleri çağırmak için
kullanılır. Modüllere erişim kısıtlaması yaptığınızda da bu dosya görev yapar
aynı şekilde. Modüllere nasıl link verilir? Modüllere modules.php?name=Moduladi
şeklinde link vermeniz gerekir. Aksi halde çalışmayacaktır. Eğer modülün içinde
bir dosya varsa bu dosya ise modules.php?name=Moduladi&file=dosya şeklinde
link verilir. Dosya uzantısı normalde php olmasına karşın dosyaya link verirken
php uzantısı yazılmaz. Nuke bunu otomatikmen anlayacaktır. Uzantısı php olmayan
dosyalar ise çağrılamaz. Onlara normal şekilde link verilir. Yani modülün içinde
bilgi.html şeklinde bir dosya varsa onu çağırmak için
modules.php?name=Moduladi&file=bilgi şeklinde link verilemez.
Modules/Moduladi/bilgi.html şeklinde standart html bilgisi ile link verilir.
5- mainfile.php: Bu dosya olmazsa olmaz bir dosyadır.
Nukenin herşeyi buradadır. Yani güvenlik için kod ayıklama, modüllerin ve
sitenin dil dosyalarını çağırma, sağ, sol ve orta bloklar, sitenin config
bilgileri, modüllerdeki aktif ve pasiflik, admin bekleyen içerik bloğu, online
olanların bilgileri, birinin admin mi, user mı, yoksa misafir mi olduğu, dil
seçimi, tarih formatı, üye özel bloğu, konuların çağrılması, login bloğu,
programlı haberlerin gösterilmesi, herkese açık mesajların yayınlanması gibi bir
çok özellik bu dosya sayesinde olur. Daha yaptığı şey çok aslında. Bunlar en
önemli olanlarıdır.
6- backend.php: Bu dosya ne işe yarıyor diye birçoğunuz
merak etmiştir. Bu dosya başka bir sitenin sizin sitede yayınlanan haberlerinizi
kendi sitelerinde blokta göstermesini sağlar. Bu konuya ilerde ayrıntılı olarak
değineceğiz.
7- auth.php: Size bu dosyanın işlevini şöyle anlatayım. Bir
internet cafedesiniz. Admin olarak siteye girdiniz diyelim. Ama siz admin
olduktan sonra birkaç işlem yapıp çıkış yaptınız. Ama browserınızı
kapatmadınız. Acilen işiniz çıktı ve öylece bıraktınız. Sizden sonra oturan kişi
browser kapatılmadığı için sizin admin.phpnizi fark etti ve girmek istedi. Bu
durumda bu kişinin karşına bir göz resmi ve get out! yazısı çıkacaktır. İşte bu
olayı kontrol eden dosya bu dosyadır. Admin sayfanızı korumak için konulmuştur.
Bu dosya içeriği yeni sürümlerde admin.php dosyasının içine eklenmiştir.
8- banners.php: Sitenizde banner yayınlamak ve
müşterilerinizin bannerları ile ilgili istatistiklere erişebileceği bir
dosyadır. Bu bannerları siteniz yönetim panelinden ayarlıyorsunuz. Bu dosya yeni
sürümlerde kaldırılmış, içeriği daha da geliştirilerek mainfile.php dosyasına
eklenmiştir. Müşterileriniz artık Advertising modülü sayesinde istatistiklerine
bakabilirler.
9- admin.php: Bu dosya sitenizin yönetim menüsüne giriş
için kullanılır. Bu dosyanın adı yeni sürümlerde değiştirilebilir şekildedir.
10- index.php: index.php dosyası ise sitenizin anasayfasını
oluşturur. Bu dosya sitenize link veren siteleri kayıt eder, anasayfada yüklü
modülü çağırır.
11- ultramode.txt: Eğer yönetim menüsü/seçenekler
sayfasından ultramode etkinleştirilsin seçeneği evet ise işe yarar. Bu dosyaya
etkinleştirdiğiniz anda yeni eklenen haberler bir formatta kayıt edilir. Bu
dosya sitenizin haberlerini kendi sitesinde yayınlamak isteyenler için bir
kaynak oluşturur ve bir script ile isteyenler bu dosyadaki verileri okutup
sitenizdeki haberleri kendi sitesinde yayınlayabilir. Bu dosyanın chmod değeri
666 olmak zorundadır.
12- robots.txt: Bu dosya arama motorlarının robotlarının
hangi dosya ve dizinleri indeksleyeceğini belirler. Bu dosya standart olarak
admin.php dosyasının, admin, language, images, modules, themes, blocks ve
includes klasörlerinin indekslenmeyeceği bilgisini içerir. Bu dosyaya sizde
oluşturduğunuz dizin ve dosyaların indekslenmemesini istiyorsanız ekleme
yapabilirsiniz. İndeks engelmeme formatı şu şekildedir. Dosyanın endekslenmesini
önlemek için Disallow: dosya.php, dizinin indekslenmesini önlemek için ise
Disallow: /dizinadi/ şeklinde bir formatta ekleme yapabilirsiniz.
13- includes/counter.php: Bu dosyanın amacı hit bilgisini ve
istatistik bilgilerini veritabanına kaydetmektir. Bu istatistiki bilgiler;
işletim sistemi ve browser tipi ile sınırlıdır.
14- includes/meta.php: Arama motorlarının robotları bu
dosyada yazılan bilgiler ışığında sitenizi indekslerler. Yani burada sitenizin
meta etiketleri tanımlanır.
15- includes/sql_layer.php: Bu dosyanın amacı nukenin MySQL
dışındaki veritabanı sunucuları ile çalışması içindir. Nuke MySQL dışında mSQL,
PostgreSQL, PostgreSQL_local, ODBC, ODBC_Adabas, Interbase ve Sybase veritabanı
sunucları ile sağlıklı bir şekilde çalışır. İşte bu olayı sql_layer.php dosyası
sağlar.
16- includes/my_header.php: Bu dosya normalde boştur.
Diyelim ki, popup pencere açacaksınız. Ama bunun için <head> ve
</head> arasına kod eklemeniz gerekli. İşte bu durumda <head> ile
</head> arasına eklenecek kodu bu dosyaya ekleyebilirsiniz.
PHPNukenin standart dosyalarını tanıdık. Şimdi de "Blok nedir? Modül nedir?
Addon nedir? Tema nedir?" gibi konularda bilgiler sunalım.
Blok nedir? Blok dediğimiz olayı basitçe, sitenizin
sol ve sağ tarafında - ve hatta orta alanda - gördüğümüz görünümler olarak
tanımlayabiliriz. Yani sitenizin sol tarafında gördüğünüz modules başlıklı alan
aslında bir bloktur. Blokların içeriğini bloğun dosyası, başka bir siteden veri
yada veritabanına girilmiş bilgiler oluşturur. Blok yönetiminzde bu konuya
detaylı olarak değineceğiz. NOT: Blok dosyaları anadizindeki blocks klasörü
içerisine koyulmalıdır.
Modül nedir? Modül, basitçe sitemizin sayfalarını
oluşturan dosyalar olarak tanımlanabilir. Örneğin, Downloads modülü sitemizin
download sayfamızı, Feedback modülü ise sitemizin iletişim formu sayfamızı
oluşturur. Başta da söylediğim gibi modülleri modules/Moduladi/ şeklinde
çağıramayız. Modülleri çağırmak için modules.php dosyasını kullanmamız gerekir.
Örneğin Downloads modülünü çağırmak için, modules.php?name=Downloads şeklinde
bir çağırım uygulayabiliriz. Diyelim ki, Email adında modülümüz var. Bu modüle
modules.php?name=Email şeklinde link vermemiz gerekir. Bu modülün içinde
yeni.php adında yeni kayıt için bir dosyamız varsa bu dosyaya da,
modules.php?name=Email&file=yeni şeklinde link vermemiz gerekli. Burada
dikkat etmeniz gereken nokta modülün klasörünün adını doğru yazmamız gerekli.
Eğer modülün klasör adı email ise mutlaka çağırırken email şeklinde
çağırmalıyız. Asla Email yada EMAIL şeklinde çağıramayız. Bu son söylediğim
internet ortamında geçerlidir. NOT: Modüller anadizindeki modules klasörü
içerisine koyulmalıdır.
Addon nedir? Addon'a Türkçe olarak eklenti diyebiliriz.
Bir eklenti bir modüle ilave özellik kazandırabilir, yönetim sayfasına yeni bir
özellik ekleyebilir yada başlı başına phpnuke'ye adepte edilmiş bir sistem
olabilir.
Tema nedir? Temalar ise sitemizin nasıl görüneceğini belirleyen
paketlerdir. Temalar sayesinde sitemizin görünümünü istediğimiz an
değiştirebiliriz. Temaları kendiniz yazabileceğiniz gibi hazır olarak sunulmuş
olanları da düzenleyerek kullanabilirsiniz. NOT: Temalar anadizindeki themes
klasörü içerisine koyulmalıdır.
Ali Osman KAHRAMAN
http://www.netopsiyon.com
http://www.netopsiyon.net Yayınlanma: 2005-10-29 (19236 okuma) Copyright © Netopsiyon Online Tüm hakları saklıdır. [ Geri Dön ] |