Web Sitenize Script Kurma Rehberi

Transkript

Web Sitenize Script Kurma Rehberi
Aycan Gönenç
[email protected] / www.aycangonenc.com
Web Sitenize Script Kurma Rehberi
ir Web sitesine anlam kazand›ran en önemli özelliklerden
biri interaktif olmas›d›r. Sitenize u¤rayanlar, site içeri¤ine
ne kadar çok katk›da bulunabilirse,
siz sitenizden ziyaretçilerle ilgili ne
kadar çok bilgi alabilirseniz ve site
içeri¤ini ne kadar kolay güncelleyip
yönetebilirseniz, Web siteniz o kadar
baflar›l› olur. Bütün bunlar› yapabilmeniz için Internet’te binlerce Perl ve
PHP dilinde yaz›lm›fl script mevcut.
(Bu sitelerden bafll›calar›na http://
www.aycangonenc.com
sitesinin
linkler bölümünden ulaflabilirsiniz.)
Perl ve PHP script’lerinin belli
bafll› ortak özelliklerini ve baz› terimlerin ne anlama geldi¤ini bilmiyorsan›z, bu script’leri Web sitenize kurup
çal›flt›rman›z mümkün olmaz. ‹flte
bu nedenle bu yaz›mda bir script’in
nas›l yaz›laca¤›n› de¤il, haz›r bir
script’in Web sitenize kurulmas› için
bilmeniz gerekenleri anlataca¤›m.
Önce ihtiyac›m›z olan yaz›l›mlara
bir göz atal›m:
BBEdit Lite: Scriptleri aç›p kendi
bilgilerimizle özellefltirmek için kullanaca¤›z. Her ne kadar Mac’in sistemi ile haz›r gelen Kolay Yaz› (Simple
Text) ayn› ifli görse de, özellikle büyük boyutlu script’lerin aç›l›p okunmas›nda Kolay Yaz› yetersiz kal›yor.
Ayr›ca Kolay Yaz›’ya göre çok daha
geliflmifl özelliklere (sat›r numaralar›n› göstermesi ve PC format›ndaki
yaz›lar› düzgün göstermesi gibi) sahip olan bu yaz›l›m› kullanmakta
fayda var.
Zipit: Internet’ten indirece¤iniz
script’ler ço¤unlukla zip format›nda
B
50
Kas›m 2002/MacLine
‹nteraktif Web sitesi haz›rlamak için gerekli script’leri
sunucunuza kurman›n tüm detaylar› elinizin alt›nda.
(ve bazen tar.gz format›nda) s›k›flt›r›lm›flt›r. Bunlar›n baz›lar›n› sistemimizde bulunan Stuffit Expander ile
açabilsek de, aksi durumlarda
PC’lerdeki Zip uygulamas›n›n Mac
versiyonu olan Zipit yaz›l›m›n› kullanabiliriz.
Charoma Converter: Geçti¤imiz
say›daki yaz›m› okuyanlar hat›rlayacaklar, bu yaz›l›m› script’lerde kullanaca¤›m›z Türkçe karakterlerin Internet ortam›nda düzgün görünmesi
için kullan›yoruz (Geçti¤imiz say›y›
kaç›rd›ysan›z ve bu yaz›l›m›n nas›l
kullan›ld›¤› konusunda bilginiz yoksa,
http://www.aycangonenc.
com/macline.shtml adresinden önce-
ki aylarda yay›mlanan yaz›lar›m›
PDF olarak indirebilirsiniz.)
FTP Program›: Web tasar›m›na
merakl›ysan›z zaten kulland›¤›n›z bir
ftp program› vard›r. Ama e¤er yoksa
benim severek kulland›¤›m Transmit’i tavsiye ederim.
Bu yaz›l›mlar›n hepsini http://
www.aycangonenc.com adresindeki
MacLine linkinden indirebilirsiniz.
Web Server’›m›z Uygun mu?
Herhangi bir script’i kullanmadan
önce hosting hizmeti ald›¤›n›z kurumdan Web server’n›zda Perl ve/
veya PHP deste¤i olup olmad›¤›n›
mutlaka ö¤renmeniz gerekiyor.
Önce Download Edelim!
Perl Yorumcusu Nerede?
Ücretsiz script’leri bulabilece¤iniz bir
siteye girin (mesela içlerinden en
zengin olan www.hotscripts.com iyi
bir seçenek). Buradan kullanmak istedi¤iniz bir script belirleyin ve bilgisayar›n›za indirin.
Önemli not: Explorer’›n Mac versiyonu ile script’leri indirdi¤inizde,
dosyay› indirmek için yine arac› bir
script kullan›ld›¤›ndan, bilgisayar›n›za indirdi¤iniz dosya ad› (ziyaretcidefteri.zip) yerine (download.php) gibi oluflabilir. Böyle bir durumla karfl›lafl›rsan›z, dosya ad›n› uzant›s›
(.zip) olarak de¤ifltirip üstüne çift t›klayarak açabilirsiniz (tabii orijinal
dosya zip format›ndaysa! E¤er tar.gz
uzant›l› ise o zaman bu uzant›y› yazman›z gerekiyor.)
Perl ve cgi script’lerinin hemen ilk
sat›r›nda Web server’›n›z içinde bu
script’i yorumlayacak olan perl program›n›n adresini gösteren bir sat›r
yer al›r. Bu adresi kendi server’›n›za
göre de¤ifltirmezseniz script’iniz çal›flmaz. Bu adres genelde afla¤›dakilerden birisi gibidir:
#!/usr/bin/perl
#!/usr/local/bin/perl
Perl yorumcusunun do¤ru adresini hosting hizmeti ald›¤›n›z firmadan ö¤renip, kullanmak istedi¤iniz
perl ya da cgi program›n›n içindeki
tüm .pl ve .cgi dosyalar›n›n ilk sat›r›ndaki adresi uygun flekilde de¤ifltiriniz.
Sonra Ö¤renelim...
‹ndirdi¤iniz dosyay› açt›¤›n›zda içinde ço¤unlukla (README.TXT) ya da
(README.HTML) gibi size script’i
kurmak için neler yapman›z gerekti¤ini anlatan bir dosya bulunur. Öncelikle bu dosyay› iyice okuman›z ve
yapman›z gerekenleri ö¤renmeniz gerekiyor. (‹ngilizce bilmiyorsan›z bilen
bir arkadafl›n›z size yard›mc› olabilir.)
Bu Terimler de Nedir?
README dosyas›n› açt›n›z ve okudunuz, eh ‹ngilizceniz de fena de¤il.
Ama nedense baz› terimler size hala
(Frans›zca) geliyor de¤il mi? tamam
iflte bu yaz›n›n amac› da bu terimleri aç›klamak zaten.
ASCII Modu: Script’leri ço¤unlukla (Perl ve cgi script’lerde mutlaka)
Web server’›n›za ASCII (Text) modunda yüklemeniz gerekir (Binary modunda olmamal›). Bunu yapmak için
dosyay› yüklemeden önce kulland›¤›n›z ftp program›n›n upload seçene¤ini
Text ya da ASCII olarak de¤ifltirin
(Transmit’te File menüsünden ASCII
mode seçene¤ini iflaretleyin.)
CHMOD (file permissions): Web
server’›n›za yükledi¤iniz her dosyan›n belli (izinleri) vard›r. README
dosyas›nda script program› içerisindeki baz› dosyalara özel chmod ayarlar›n›n yap›lmas› istenebilir. Bu bize
(ziyaretcidefteri.php
dosyas›n›n
chmod ayar›n› 666 yap›n, 755 yap›n)
gibi bir rakamla belirtilir.
Bu izinleri en iyi bir matriks fleklinde aç›klayabiliriz. Afla¤›daki ör-
52
Kas›m 2002/MacLine
nekler Transmit program›n›n izinleri
ayarlad›¤›m›z menüsünden (File >
Get Info menüsü). Her ftp program›nda izinleri ayarlayaca¤›n›z buna
benzer bir menü bulunur.
Yandaki flekillerde (1. örnek ve 2.
örnek) üç sütun görüyoruz; Owner,
Group ve World.
Owner dosyan›n sahibi olan kiflidir
(yani siz).
Group sizin taraf›n›zdan atanm›fl
olan kullan›c›lar grubudur.
World ise siteyi ziyaret eden herkes.
Kolonun üst taraf›nda ise üç de¤er
görüyoruz: Read, Write ve Execute.
Read dosyan›n okunabilece¤ini,
Write dosyaya yaz›labilece¤ini,
Execute ise dosyan›n çal›flt›r›labilece¤ini belirtiyor.
Bu de¤erlerin hangilerini hangi
kullan›c› grubu alt›nda iflaretlerseniz, o gruba gerekli izinleri vermifl
oluyorsunuz. Bu izinlerin toplam› da
bize chmod de¤erini veriyor.
fiöyle ki Read=4, Write=2, Execute=1 de¤erleri ile belirtilir.
1. Örnekte:
Owner (r,w,e) yani 4+2+1 = 7
Group (r,e) yani 4+1 = 5
World=(r,e) yani 4+1 = 5
Olarak iflaretlenmifl. Dolay›s› ile
chmod de¤erimiz 755 oluyor.
‹kinci örnekte atad›¤›m›z de¤erleri de ayn› mant›kta toplad›¤›m›zda
chmod de¤eri 666 oluyor.
Sendmail Program› Nerede?
E-posta yollayan baz› perl programlar›nda Unix tabanl› Web server’›n›z
içindeki email yorumcusunun pathini yazman›z istenir. Bu path hosting
hizmeti ald›¤›n›z firmadan firmaya
farkl›l›k gösterir (afla¤›da s›k kullan›lan iki örnek veriyorum).
/usr/lib/sendmail
/usr/sbin/sendmail
Scriptinizi kullanarak e-posta
yollamak ve almak için mail yorumcusunun do¤ru path’ini hosting firman›zdan ö¤renip, script’in ilgili sat›r›na bu path’i yazman›z gerekir.
URL ile Server Path Aras›ndaki Fark
Ço¤unlukla counter ya da ziyaretçi
defteri gibi bir dosyaya kay›t yapan
script’lerde, script içinde bir dosyan›n server path’ini yazman›z istenir.
URL’nin ne oldu¤u malum, www.adresiniz.com gibi normal Web adresi...
Server path ise server içinde dosyan›n nerede oldu¤unu gösteren bir
root adresidir. Baflka bir deyiflle sanal adresi de¤il, dosyan›n server
içindeki gerçek yerini gösterir.
/usr/www/adresiniz gibi. Do¤ru server pathinizi ö¤renmek için hosting
hizmeti ald›¤›n›z firmaya baflvurman›z gerekir. Diyelim ki script içinde
ziyaretçilerin mesaj yazd›¤› bir dosya
var (mesaj.txt) ve sizden script içine
bu dosyan›n server path’ini yazman›z isteniyor. Bu durumda, server
path’inizi ö¤rendikten sonra yazman›z gereken flu tarz bir adres olacakt›r: /usr/www/adresiniz/mesaj.txt
SSI (Server Side Include) Nedir?
1. Örnek: chmod 755
2. Örnek: chmod 666
Script’i kullanmak için SSI metodu-
na ihtiyac›n›z olabilir (Bu README
dosyas›nda belirtilir zaten). SSI çok
basit anlat›m› ile bir Web sayfas›
içinde baflka bir sayfan›n ya da
script’in görüntülenmesi için kullan›lan bir yöntemdir (Örne¤in bir counter script’inde sitenizin ana sayfas›nda ziyaretçi say›s›n›n görüntülenmesi için bu yöntem kullan›labilir).
Ço¤unlukla SSI metodunun kullan›labilmesi için, bu metodu kullanaca¤›n›z sayfan›n uzant›s›n›n .htm
ya da .html de¤il (.shtml) olmas› gerekir. Yine de bu bilgiyi do¤rulamak
için hosting hizmeti ald›¤›n›z firmaya
dan›fl›n›z. Apayr› bir kolayl›klar dünyas› olan SSI metoduna önümüzdeki
aylarda genifl flekilde yer verece¤im.
ayar›n› yapman›z istenebilir. README dosyas›n› inceleyip ayarlar›n
do¤rulu¤undan emin olun.
“404 File Not Found”
Bu server’›n adresini girdi¤iniz
dosyay›, script’i bulamad›¤›n› gösterir. Script ayarlar›n› yaparken do¤ru
URL ve/veya path’i yazd›¤›n›zdan
emin olun. Adresi yazarken büyük
Eyvah Hata Oldu!
Scriptinizi kurup çal›flt›rd›¤›n›zda,
e¤er ifller yolunda gitmediyse karfl›n›za baz› hata mesajlar› ç›kar. ‹flte
bu mesajlar›n anlamlar›:
“403 Forbidden”
Bu mesaj› görürseniz script’inizin
chmod ayar›n› do¤ru yap›p yapmad›¤›n›z› kontrol edin. Bazen sadece
script’in de¤il ayn› zamanda script’in
içinde oldu¤u dosyan›n da chmod
ya da küçük harf kullanman›z iflletim sistemine göre fark yaratabilir.
Ayr›ca, script’i (ya da birbiri ile ba¤l›
çal›flan script, dosya gruplar›n› do¤ru dizine yükledi¤inizden emin olun.
“500 Server Error”
Bu script’inizin yapmak istedi¤i
ifllemi server’›n yorumlayamad›¤›
anlam›na gelir. Baflka bir deyiflle,
script kodunun bir yerlerinde bir hata mevcut ya da script’iniz Web server’›n›za uygun de¤il (baz› script’ler
sadece unix ya da sadece windows
NT gibi belli serverlar üzerinde çal›flabilir, script’in hangi serverlarla
uyumlu oldu¤u genelde script’i indirdi¤iniz sayfada belirtilir).
Bu hatan›n görünmesine
neden olan en yayg›n yanl›fllar, script’i kendinize göre
yorumlarken yanl›fll›kla kodu bölünmemesi gereken bir
yerden bölmeniz ya da baflka bir yaz›m hatas› yapm›fl
olman›z ya da script’i ASCII
modunda de¤il de binary
modunda yüklemenizdir.
Yeterince kafan›z› kar›flt›rd›m m› bilmiyorum : )
Ama inan›yorum ki bu yaz›y› saklarsan›z, bir gün, bir script’i
Web sitenize kurmaya çal›fl›rken kafan›za tak›lan bir sorunun cevab›n›
bulman›za yard›mc› olabilir. ML
Aycan Gönenç, uluslararası bir firmada iletişim koordinatörü olarak çalışmakta olup, ayrıca freelance Web
ve multimedia tasarım hizmetleri vermektedir.
Web: www.aycangonenc.com
53

Benzer belgeler

Aktif (client-based) Web Teknolojileri ve Programlama

Aktif (client-based) Web Teknolojileri ve Programlama Form Nesnesi : Javascript açısından HTML'in en önemli nesneleri formlardır. Çünkü ziyaretçi ile etkileşmede en büyük unsurlardan birisi formlardır. HTML kendi form nesnesini kendisi oluşturabilir. ...

Detaylı