- Katılım
- 1 Aralık 2004
- Mesajlar
- 550
- Reaction score
- 0
PHPNuke 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.
Nuke'de standart olarak hangi dosyalar var ve bunlar ne işe yarar
Nuke'de 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, ve my_header.php dosyaları mevcuttur. Ancak nuke 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.
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.
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. Müşterileriniz bannerlarının istatistiklerine erişmek istediklerinde banners.php?op=login şeklinde müşteri giriş sayfasına ulaşabilirler.
9- admin.php: Bu dosya sitenizin yönetim menüsüne giriş için kullanılır.
10- index.php: index.php dosyası ise sitenizin anasayfasını oluşturur. Bu dosya sitenize link veren siteleri kayıt eder, anasayfadaya 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.
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.
Nuke'de standart olarak hangi dosyalar var ve bunlar ne işe yarar
Nuke'de 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, ve my_header.php dosyaları mevcuttur. Ancak nuke 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.
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.
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. Müşterileriniz bannerlarının istatistiklerine erişmek istediklerinde banners.php?op=login şeklinde müşteri giriş sayfasına ulaşabilirler.
9- admin.php: Bu dosya sitenizin yönetim menüsüne giriş için kullanılır.
10- index.php: index.php dosyası ise sitenizin anasayfasını oluşturur. Bu dosya sitenize link veren siteleri kayıt eder, anasayfadaya 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.