8. Ekler
8.1. Web geliştirme araçları
Burada, web geliştirme için gerekli araçların nereden bulunabileceğini ve nasıl kurulacağını belirtmekteyiz. Bazı araçların sürümleri güncellenmiştir ve burada verilen açıklamalar en yeni sürümler için artık geçerli olmayabilir. Bu durumda okuyucunun duruma uyum sağlaması gerekecektir... Web programlama dersinde, esas olarak aşağıdaki araçları kullanacağız; bunların tümü ücretsiz olarak mevcuttur:
- XML formatını görüntüleyebilen güncel bir tarayıcı. Ders örnekleri Internet Explorer 6 ile test edilmiştir.
- güncel bir JDK (Java Development Kit). Ders örnekleri, JDK 1.4 ile test edilmiştir. Bu JDK, tarayıcılar için Java 1.4 eklentisini de beraberinde getirir; bu sayede tarayıcılar, JDK 1.4'ü kullanan Java uygulamalarını görüntüleyebilir.
- Java servlet'leri yazmak için bir Java geliştirme ortamı. Burada bu, JBuilder 7'dir.
- Web sunucuları: Apache, PWS (Personal Web Server), Tomcat.
- Apache, PERL (Practical Extracting and Reporting Language) veya PHP (Personal Home Page) ile web uygulamaları geliştirmek için kullanılacaktır.
- PWS, ASP (Active Server Pages) veya PHP dillerinde web uygulamaları geliştirmek için kullanılacaktır.
- Tomcat, Java servletleri veya JSP (Java Server Pages) sayfaları kullanılarak web uygulamaları geliştirmek için kullanılacaktır
- bir veritabanı yönetim uygulaması: MySQL
- EasyPHP: Apache web sunucusunu, PHP dilini ve SGBD MySQL'i bir araya getiren bir araç
8.1.1. Web Sunucuları, Tarayıcılar, Komut Dosyası Dilleri
- Başlıca Web Sunucuları
- Apache (Linux, Windows)
- IIS (NT) İç Bilgi Sunucusu, PWS (Windows 9x) Kişisel Web Sunucusu
- Başlıca tarayıcılar
- Internet Explorer (Windows)
- Netscape (Linux, Windows)
- Sunucu Tarafında Çalışan Komut Dosyası Dilleri
- VBScript (IIS, PWS)
- JavaScript (IIS, PWS)
- Perl (Apache, IIS, PWS)
- PHP (Apache, IIS, PWS)
- Java (Apache, Tomcat)
- Diller .NET
- Tarayıcı tarafında çalışan betik dilleri
- VBScript (IE)
- Javascript (IE, Netscape)
- PerlScript (IE)
- Java (IE, Netscape)
8.1.2. Araçları nerede bulabilirim?
http://www.netscape.com/ (indirme bağlantısı) | |
http://www.microsoft.com/windows/ie/default.asp | |
http://www.php.net http://www.php.net/downloads.php (Windows İkili Dosyaları) | |
http://www.activestate.com http://www.activestate.com/Products/ http://www.activestate.com/Products/ActivePerl/ | |
http://msdn.microsoft.com/scripting (Windows Script bağlantısını takip edin) | |
http://java.sun.com/ http://java.sun.com/downloads.html (JSE) http://java.sun.com/j2se/1.4/download.html | |
http://www.apache.org/ http://www.apache.org/dist/httpd/binaries/win32/ | |
NT 4.0 Option pack for Windows 95 Windows 98 için CD paketinde yer alır http://www.microsoft.com/ntserver/nts/downloads/recommended/NT4OptPk/win95.asp | |
http://www.microsoft.com | |
http://jakarta.apache.org/tomcat/ | |
http://www.borland.com/jbuilder/ http://www.borland.com/products/downloads/download_jbuilder.html | |
http://www.easyphp.org/ http://www.easyphp.org/telechargements.php3 |
8.1.3. EasyPHP
Bu uygulama, aynı pakette aşağıdakileri bir araya getirmesi açısından oldukça kullanışlıdır:
- Apache web sunucusu (1.3.x)
- PHP dili (4.x)
- SGBD MySQL (3.23.x)
- MySQL yönetim aracı: PhpMyAdmin
Kurulum uygulaması şu şekilde görünür:

EasyPHP'in kurulumu sorunsuz gerçekleşir ve dosya sisteminde bir dizin yapısı oluşturulur:

uygulamanın yürütülebilir dosyası | |
Apache sunucusunun dizin yapısı | |
SGBD MySQL dizin yapısı | |
phpMyAdmin uygulamasının dizin yapısı | |
php dizin yapısı | |
EasyPHP Apache sunucusu tarafından sunulan web sayfalarının dizin yapısının kökü | |
Apache sunucusu için CGI komut dosyalarını yerleştirebileceğiniz dizin yapısı |
EasyPHP'in en önemli avantajı, uygulamanın önceden yapılandırılmış olarak gelmesidir. Böylece Apache, PHP ve MySQL, birbirleriyle uyumlu çalışacak şekilde önceden yapılandırılmıştır. Programlar menüsündeki bağlantısı üzerinden EasyPhp çalıştırıldığında, ekranın sağ alt köşesinde bir simge belirir.
![]() |
Apache web sunucusu ve MySQL veritabanı çalışır durumdaysa, kırmızı noktalı E harfi yanıp sönmelidir. Bu simgeye farenin sağ tuşuyla tıklandığında, aşağıdaki menü seçeneklerine erişilir:

Administration seçeneği, ayarlamalar ve işlevsellik testleri yapılmasına olanak tanır:

8.1.3.1. Yönetim PHP
"php bilgileri" düğmesi, Apache-PHP ikilisinin düzgün çalışıp çalışmadığını kontrol etmenizi sağlar: PHP adlı bir bilgi sayfası görüntülenmelidir:

"Eklentiler" düğmesi, PHP için yüklü olan eklentilerin listesini gösterir. Bunlar aslında işlev kütüphaneleridir.

Yukarıdaki ekran örneğinde, MySQL veritabanını kullanmak için gerekli işlevlerin mevcut olduğu görülmektedir.
Ayarlar düğmesi, login/motdepasse veritabanı yöneticisinin MySQL bilgilerini gösterir.

MySQL veritabanının kullanımı bu kısa tanıtımın kapsamını aşmaktadır, ancak burada veritabanı yöneticisi için bir şifre belirlenmesi gerektiği açıktır.
8.1.3.2. Apache Yönetimi
Yine EasyPHP yönetim sayfasında, “takma adlarınız” bağlantısı, bir dizine bağlı takma adlar tanımlamanıza olanak tanır. Bu, web sayfalarını easyPhp dizin yapısındaki www dizini dışındaki yerlere yerleştirmenize olanak tanır.

Yukarıdaki sayfaya aşağıdaki bilgileri girersek:

ve valider düğmesini kullanırsak, <easyphp>\apache\conf\httpd.conf dosyasına aşağıdaki satırlar eklenir:
Alias /st/ "e:/data/serge/web/"
<Directory "e:/data/serge/web">
Options FollowSymLinks Indexes
AllowOverride None
Order deny,allow
allow from 127.0.0.1
deny from all
</Directory>
<easyphp>, EasyPHP'in kurulum dizinini belirtir. httpd.conf ise Apache sunucusunun yapılandırma dosyasıdır. Dolayısıyla, bu dosyayı doğrudan düzenleyerek de aynı işlemi gerçekleştirebilirsiniz. httpd.conf dosyasında yapılan bir değişiklik normalde Apache tarafından hemen dikkate alınır. Aksi takdirde, Apache'yi durdurup easyphp simgesini kullanarak yeniden başlatmanız gerekir:

Örneğimizi tamamlamak için, artık e:\data\serge\web dizin yapısına web sayfaları yerleştirebiliriz:
ve st takma adını kullanarak bu sayfayı çağırabiliriz:

Bu örnekte, Apache sunucusu 81 numaralı bağlantı noktasında çalışacak şekilde yapılandırılmıştır. Varsayılan bağlantı noktası 80'dir. Bu ayar, daha önce karşılaştığımız httpd.conf dosyasındaki aşağıdaki satırla kontrol edilir:
8.1.3.3. Apache yapılandırma dosyası htpd.conf
Apache'yi biraz daha ayrıntılı bir şekilde yapılandırmak istediğimizde, <easyphp>\apache\conf klasöründe bulunan httpd.conf yapılandırma dosyasını "elle" değiştirmek zorundayız:

İşte bu yapılandırma dosyasıyla ilgili akılda tutulması gereken birkaç nokta:
rol | |
Apache dizin yapısının bulunduğu klasörü gösterir | |
Web sunucusunun hangi bağlantı noktasında çalışacağını belirtir. Genellikle bu değer 80'dir. Bu satırı değiştirerek, web sunucusunun başka bir bağlantı noktasında çalışmasını sağlayabilirsiniz | |
Apache sunucusunun yöneticisinin e-posta adresi | |
Apache sunucusunun "çalıştığı" makinenin adı | |
Apache sunucusunun kurulum dizini. Yapılandırma dosyasında göreceli dosya adları geçtiğinde, bunlar bu dizine göre görelidir. | |
sunucu tarafından sunulan web sayfalarının dizin yapısının kök dizini. Burada, http://machine/rep1/fic1.html URL'si E:\Program Files\EasyPHP\www\rep1\fic1.html dosyasına karşılık gelir | |
önceki klasörün özelliklerini belirler | |
log klasörü, yani aslında <ServerRoot>\logs\error.log : E:\Program Files\EasyPHP\apache\logs\error.log. Apache sunucusunun çalışmadığını fark ederseniz, bu dosyayı kontrol etmelisiniz. | |
E:\Program Files\EasyPHP\cgi-bin, CGI komut dosyalarını yerleştirebileceğiniz dizin yapısının kök dizinidir. Böylece, URL http://machine/cgi-bin/rep1/script1.pl, CGI E:\Program Files\EasyPHP\cgi-bin\rep1\script1.pl komut dosyasının URL'si olacaktır. | |
yukarıdaki klasörün özelliklerini belirler | |
Apache'nin PHP4 ile çalışmasını sağlayan modül yükleme satırları. | |
PHP tarafından işlenmesi gereken dosyalar olarak kabul edilecek dosya soneklerini belirler |
8.1.3.4. MySQL'in PhpMyAdmin ile yönetimi
EasyPhp yönetim sayfasında, PhpMyAdmin düğmesine tıklayın:

Accueil altındaki açılır liste, mevcut veritabanlarını görüntülemenizi sağlar. | ![]() |
Parantez içindeki sayı, tablo sayısını gösterir. Bir veritabanı seçildiğinde, o veritabanındaki tablolar görüntülenir: | ![]() |
Web sayfası, veritabanı üzerinde bir dizi işlem yapma imkanı sunar:

user'teki Afficher bağlantısına tıklandığında:

Burada tek bir kullanıcı vardır: root, ki bu da MySQL'in yöneticisidir. Modifier bağlantısını takip ederek, şu anda boş olan şifresini değiştirebiliriz; ancak bu, bir yönetici için tavsiye edilmez.
Zengin özelliklere sahip ve birkaç sayfa boyunca ele alınmayı hak eden PhpMyAdmin hakkında daha fazla ayrıntıya girmeyeceğiz.
8.1.4. PHP
PHP'i EasyPhp uygulaması aracılığıyla nasıl elde edeceğimizi gördük. PHP'i doğrudan elde etmek için http://www.php.net sitesine gidin.
PHP yalnızca web ortamında kullanılmaz. Windows'ta bir komut dosyası dili olarak da kullanılabilir. Aşağıdaki komut dosyasını oluşturun ve date.php adıyla kaydedin:
<?
// saati gösteren PHP betiği
$maintenant=date("j/m/y, H:i:s",time());
echo "Nous sommes le $maintenant";
?>
DOS penceresinde, date.php dizinine gidin ve dosyayı çalıştırın:
E:\data\serge\php\essais>"e:\program files\easyphp\php\php.exe" date.php
X-Powered-By: PHP/4.2.0
Content-type: text/html
Nous sommes le 18/07/02, 09:31:01
8.1.5. PERL
Internet Explorer'ın önceden yüklenmiş olması tercih edilir. Eğer yüklüyse, Active Perl onu, PERL sayfalarındaki HTML komut dosyalarını kabul edecek şekilde yapılandıracaktır; bu komut dosyaları, IE tarafından istemci tarafında çalıştırılacaktır. Active Perl'in web sitesi URL http://www.activestate.comA adresindedir. Kurulum sırasında, PERL, <perl> adını vereceğimiz bir dizine kurulacaktır. Bu dizin aşağıdaki dizin yapısını içerir:
DEISL1 ISU 32 403 23/06/00 17:16 DeIsL1.isu
BIN <REP> 23/06/00 17:15 bin
LIB <REP> 23/06/00 17:15 lib
HTML <REP> 23/06/00 17:15 html
EG <REP> 23/06/00 17:15 eg
SITE <REP> 23/06/00 17:15 site
HTMLHELP <REP> 28/06/00 18:37 htmlhelp
perl.exe yürütülebilir dosyası <perl>\bin dizininde bulunur. Perl, Windows ve Unix altında çalışan bir betik dilidir. Ayrıca WEB programlamasında da kullanılır. İlk betiğimizi yazalım:
# saati gösteren PERL betiği
# modüller
use strict;
# program
my ($secondes,$minutes,$heure)=localtime(time);
print "Il est $heure:$minutes:$secondes\n";
Bu komut dosyasını heure.pl adında bir dosyaya kaydedin. DOS penceresini açın, önceki komut dosyasının bulunduğu dizine gidin ve komut dosyasını çalıştırın:
E:\data\serge\Perl\Essais>e:\perl\bin\perl.exe heure.pl
Il est 9:34:21
8.1.6. Vbscript, Javascript, Perlscript
Bu diller, Windows için komut dosyası dilleridir. Özellikle Windows altında doğrudan kullanım için, örneğin sistem yönetimi komut dosyaları yazmak amacıyla
- Windows Scripting Host gibi çeşitli ortamlarda çalışabilirler; özellikle Windows altında doğrudan kullanım için, örneğin
- Internet Explorer. Bu durumda, HTML sayfalarında kullanılır ve bu sayfalara, yalnızca HTML diliyle elde edilemeyen bir etkileşim özelliği kazandırır.
- Internet Information Server (IIS), NT/2000 üzerinde çalışan Microsoft'un web sunucusu ve Win9x üzerinde çalışan eşdeğeri Personal Web Server (PWS). Bu durumda, web sunucusu tarafında programlama yapmak için vbscript kullanılır; bu teknolojiye Microsoft tarafından ASP (Active Server Pages) adı verilmiştir.
Kurulum dosyasını URL adresinden indirin: http://msdn.microsoft.com/scripting ve Windows Script bağlantılarını takip edin. Kurulan bileşenler:
- Windows Scripting Host konteyneri; bu konteyner, Vbscript ve Javascript gibi çeşitli betik dillerinin yanı sıra Active Perl ile birlikte gelen PerlScript gibi diğer dillerin de kullanılmasını sağlar.
- bir VBscript yorumlayıcısı
- bir Javascript yorumlayıcısı
Şimdi birkaç hızlı test yapalım. Aşağıdaki vbscript programını oluşturalım:
' bir sınıf
class personne
Dim nom
Dim age
End class
' kişi nesnesinin oluşturulması
Set p1=new personne
With p1
.nom="dupont"
.age=18
End With
' p1 kişisinin özelliklerini görüntüleme
With p1
wscript.echo "nom=" & .nom
wscript.echo "age=" & .age
End With
Bu program nesneler kullanır. Adını objets.vbs olarak belirleyelim (vbs uzantısı bir vbscript dosyasını belirtir). Programın bulunduğu dizine gidelim ve programı çalıştıralım:
E:\data\serge\windowsScripting\vbscript\poly\objets>cscript objets.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
nom=dupont
age=18
Şimdi, dizileri kullanan aşağıdaki JavaScript programını yazalım:
// bir varyant içindeki dizi
// boş dizi
tableau=new Array();
affiche(tableau);
// dinamik olarak büyüyen dizi
for(i=0;i<3;i++){
tableau.push(i*10);
}
// tablonun görüntülenmesi
affiche(tableau);
// yine
for(i=3;i<6;i++){
tableau.push(i*10);
}
affiche(tableau);
// çok boyutlu tablolar
WScript.echo("-----------------------------");
tableau2=new Array();
for(i=0;i<3;i++){
tableau2.push(new Array());
for(j=0;j<4;j++){
tableau2[i].push(i*10+j);
}//for j
}// for i
affiche2(tableau2);
// son
WScript.quit(0);
// ---------------------------------------------------------
function affiche(tableau){
// tablo görüntüleme
for(i=0;i<tableau.length;i++){
WScript.echo("tableau[" + i + "]=" + tableau[i]);
}//for
}//işlev
// ---------------------------------------------------------
function affiche2(tableau){
// tablo görüntüleme
for(i=0;i<tableau.length;i++){
for(j=0;j<tableau[i].length;j++){
WScript.echo("tableau[" + i + "," + j + "]=" + tableau[i][j]);
}// for j
}//for i
}//işlevi
Bu program tablolar kullanır. Adını tableaux.js olarak belirleyelim (js son eki, bir javascript dosyasını belirtir). Programın bulunduğu dizine gidelim ve programı çalıştıralım:
E:\data\serge\windowsScripting\javascript\poly\tableaux>cscript tableaux.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.
tableau[0]=0
tableau[1]=10
tableau[2]=20
tableau[0]=0
tableau[1]=10
tableau[2]=20
tableau[3]=30
tableau[4]=40
tableau[5]=50
-----------------------------
tableau[0,0]=0
tableau[0,1]=1
tableau[0,2]=2
tableau[0,3]=3
tableau[1,0]=10
tableau[1,1]=11
tableau[1,2]=12
tableau[1,3]=13
tableau[2,0]=20
tableau[2,1]=21
tableau[2,2]=22
tableau[2,3]=23
Son olarak, Perlscript ile bir örnek daha verelim. Perlscript'e erişebilmek için Active Perl'in kurulu olması gerekir.
<job id="PERL1">
<script language="PerlScript">
# klasik Perl
%dico=("maurice"=>"juliette","philippe"=>"marianne");
@cles= keys %dico;
for ($i=0;$i<=$#anahtarlar;$i++){
$cle=$cles[$i];
$valeur=$dico{$cle};
$WScript->echo ("clé=".$cle.", valeur=".$valeur);
}
# Windows Script nesnelerini kullanan Perl betiği
$dico=$WScript->CreateObject("Scripting.Dictionary");
$dico->add("maurice","juliette");
$dico->add("philippe","marianne");
$WScript->echo($dico->item("maurice"));
$WScript->echo($dico->item("philippe"));
</script>
</job>
Bu program, iki sözlüğün oluşturulmasını ve kullanımını gösterir: biri klasik Perl tarzında, diğeri ise Windows Script'in Scripting Dictionary nesnesiyle. Bu kodu dico.wsf dosyasına kaydedelim (wsf, Windows Script dosyalarının uzantısıdır). Programın bulunduğu klasöre gidelim ve programı çalıştıralım:
E:\data\serge\windowsScripting\perlscript\essais>cscript dico.wsf
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.
clé=philippe, valeur=marianne
clé=maurice, valeur=juliette
juliette
marianne
Perlscript, içinde çalıştığı kapsayıcının nesnelerini kullanabilir. Burada bunlar Windows Script kapsayıcısının nesneleriydi. Web programlama bağlamında, VBscript, Javascript ve Perlscript komut dosyaları, ya tarayıcı içinde IE ya da bir sunucu içinde PWS veya IIS olarak çalıştırılabilir. Komut dosyası biraz karmaşıksa, daha önce görüldüğü gibi, onu web ortamı dışında, Windows Script kapsayıcısı içinde test etmek akıllıca olabilir. Bu şekilde, yalnızca tarayıcıya veya sunucuya özgü nesneleri kullanmayan komut dosyası işlevlerini test etmek mümkün olacaktır. Bu kısıtlamaya rağmen, bu seçenek yine de ilgi çekicidir; çünkü web sunucuları veya tarayıcılarda çalışan komut dosyalarını hata ayıklamak genellikle oldukça zahmetlidir.
8.1.7. JAVA
Java, URL adresinde mevcuttur: http://www.sun.com (bu belgenin başına bakınız) ve <java> olarak adlandıracağımız, aşağıdaki öğeleri içeren bir dizin yapısına kurulur:
22/05/2002 05:51 <DIR> .
22/05/2002 05:51 <DIR> ..
22/05/2002 05:51 <DIR> bin
22/05/2002 05:51 <DIR> jre
07/02/2002 12:52 8 277 README.txt
07/02/2002 12:52 13 853 LICENSE
07/02/2002 12:52 4 516 COPYRIGHT
07/02/2002 12:52 15 290 readme.html
22/05/2002 05:51 <DIR> lib
22/05/2002 05:51 <DIR> include
22/05/2002 05:51 <DIR> demo
07/02/2002 12:52 10 377 848 src.zip
11/02/2002 12:55 <DIR> docs
bin dizininde, javac.exe (Java derleyicisi) ve java.exe (Java sanal makinesi) bulunur. Aşağıdaki testleri yapabilirsiniz:
- Aşağıdaki komut dosyasını yazın:
//saati gösteren Java programı
import java.io.*;
import java.util.*;
public class heure{
public static void main(String arg[]){
// tarih ve saati alıyoruz
Date maintenant=new Date();
// görüntüleme
System.out.println("Il est "+maintenant.getHours()+
":"+maintenant.getMinutes()+":"+maintenant.getSeconds());
}//ana işlev
}//sınıf
- Bu programı heure.java adıyla kaydedin. DOS penceresini açın. heure.java dosyasının bulunduğu dizine gidin ve dosyayı derleyin:
D:\data\java\essais>c:\jdk1.3\bin\javac heure.java
Note: heure.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
Yukarıdaki komutta c:\jdk1.3\bin\javac kısmı, javac.exe derleyicisinin tam yoluyla değiştirilmelidir. heure.java ile aynı dizinde, heure.class adlı bir dosya bulunmalıdır; bu dosya, java.exe sanal makinesi tarafından çalıştırılacak programdır.
- Programı çalıştırın:
8.1.8. Apache Sunucusu
EasyPhp uygulamasıyla Apache sunucusunu edinebileceğimizi görmüştük. Doğrudan edinmek için Apache'nin web sitesine gideceğiz: http://www.apache.org. Kurulum, sunucu için gerekli tüm dosyaların bulunduğu bir dizin yapısı oluşturur. Bu dizine <apache> adını verelim. Dizin, aşağıdakine benzer bir yapıya sahiptir:
UNINST ISU 118 805 23/06/00 17:09 Uninst.isu
HTDOCS <REP> 23/06/00 17:09 htdocs
APACHE~1 DLL 299 008 25/02/00 21:11 ApacheCore.dll
ANNOUN~1 3 000 23/02/00 16:51 Announcement
ABOUT_~1 13 197 31/03/99 18:42 ABOUT_APACHE
APACHE EXE 20 480 25/02/00 21:04 Apache.exe
KEYS 36 437 20/08/99 11:57 KEYS
LICENSE 2 907 01/01/99 13:04 LICENSE
MAKEFI~1 TMP 27 370 11/01/00 13:47 Makefile.tmpl
README 2 109 01/04/98 6:59 README
README NT 3 223 19/03/99 9:55 README.NT
WARNIN~1 TXT 339 21/09/98 13:09 WARNING-NT.TXT
BIN <REP> 23/06/00 17:09 bin
MODULES <REP> 23/06/00 17:09 modules
ICONS <REP> 23/06/00 17:09 icons
LOGS <REP> 23/06/00 17:09 logs
CONF <REP> 23/06/00 17:09 conf
CGI-BIN <REP> 23/06/00 17:09 cgi-bin
PROXY <REP> 23/06/00 17:09 proxy
INSTALL LOG 3 779 23/06/00 17:09 install.log
Apache yapılandırma dosyalarının bulunduğu klasör | |
Apache günlük dosyaları klasörü | |
Apache'nin yürütülebilir dosyaları |
8.1.8.1. Configuration
<Apache>\conf klasöründe şu dosyalar bulunur: httpd.conf, srm.conf, access.conf. Apache'nin son sürümlerinde bu üç dosya, httpd.conf dosyasında birleştirilmiştir. Bu yapılandırma dosyasının önemli noktalarını daha önce ele almıştık. Aşağıdaki örneklerde testler için EasyPhp sürümündeki Apache ve dolayısıyla bu sürümün yapılandırma dosyası kullanılmıştır. Bu dosyada, web sayfaları dizin yapısının kök dizinini belirten DocumentRoot, e:\program files\easyphp\www olarak belirtilmiştir.
8.1.8.2. PHP - Apache bağlantısı
Test etmek için, içinde yalnızca şu satırı içeren intro.php dosyasını oluşturun:
<? phpinfo() ?>
ve bunu Apache sunucusunun kök dizinine yerleştirin (yukarıdaki DocumentRoot). URL dosyasını http://localhost/intro.php adresinden isteyin. php bilgilerinin bir listesi görünmelidir:

Aşağıdaki PHP komut dosyası saati gösterir. Bununla daha önce karşılaşmıştık:
<?
// zaman: 01/01/1970'ten bu yana geçen milisaniye sayısı
// "tarih-saat görüntüleme biçimi
// d: 2 basamaklı gün
// m: 2 basamaklı ay
// y: 2 basamaklı yıl
// H: saat 0,23
// i: dakika
// s: saniye
print "Nous sommes le " . date("d/m/y H:i:s",time());
?>
Bu metin dosyasını Apache sunucusunun kök dizinine (DocumentRoot) yerleştirelim ve adını date.php olarak değiştirelim. Bir tarayıcıyla URL adresini http://localhost/date.php şeklinde çağıralım. Aşağıdaki sayfa görüntülenir:

8.1.8.3. PERL-APACHE bağlantısı
Bu, <apache>\conf\httpd.conf dosyasındaki ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/" biçimindeki bir satır sayesinde oluşturulur. Sözdizimi şöyledir: ScriptAlias /cgi-bin/ "<cgi-bin>" şeklindedir; burada <cgi-bin>, CGI komut dosyalarının yerleştirilebileceği klasördür. CGI (Common Gateway Interface), sunucu WEB ile uygulamalar arasındaki iletişim standardıdır. Bir istemci, web sunucusundan dinamik bir sayfa, yani bir program tarafından oluşturulan bir sayfa ister. Bu nedenle WEB sunucusu, sayfayı oluşturması için bir programa talepte bulunmalıdır. CGI, sunucu ile program arasındaki iletişimi, özellikle de bu iki varlık arasında bilgilerin aktarım şeklini tanımlar.
Gerekirse, ScriptAlias /cgi-bin/ "<cgi-bin>" satırını değiştirin ve Apache sunucusunu yeniden başlatın. Ardından şu testi yapın:
- Komut dosyasını yazın:
#!c:\perl\bin\perl.exe
# saati gösteren PERL betiği
# modüller
use strict;
# program
my ($secondes,$minutes,$heure)=localtime(time);
print <<FINHTML
Content-Type: text/html
<html>
<head>
<title>heure</title>
</head>
<body>
<h1>Il est $heure:$minutes:$secondes</h1>
</body>
FINHTML
;
- Bu betiği <cgi-bin>\heure.pl konumuna yerleştirin; burada <cgi-bin>, CGI betiklerini barındırabilecek klasördür (bkz. httpd.conf). İlk satırdaki #!c:\perl\bin\perl.exe, perl.exe yürütülebilir dosyasının yolunu belirtir. Gerekirse bunu değiştirin.
- Henüz yapılmadıysa Apache’yi başlatın
- Bir tarayıcıyla URL dosyasını http://localhost/cgi-bin/heure.pl adresinden çağırın. Aşağıdaki sayfa görüntülenir:

8.1.9. PWS sunucusu
8.1.9.1. Installation
PWS sunucusu (Personal Web Server), Microsoft'un IIS sunucusunun (Internet Information Server) kişisel bir sürümüdür. Microsoft'un sunucusu, NT ve 2000 işletim sistemli makinelerde mevcuttur. Win9x sistemlerinde, PWS normalde Internet Explorer kurulum paketi ile birlikte gelir. Ancak varsayılan olarak yüklenmez. IE'in özel kurulumunu seçip PWS'in yüklenmesini talep etmeniz gerekir. Ayrıca, bu bileşen Windows 95 için NT 4.0 Option Pack'te de mevcuttur.
8.1.9.2. İlk testler
PWS sunucusundaki web sayfalarının kök dizini sürücü:\inetpub\wwwroot şeklindedir; burada sürücü, PWS'i kurduğunuz diski ifade eder. Bundan sonra bu sürücünün D olduğunu varsayıyoruz. Dolayısıyla http://machine/rep1/page1.html URL'si, d:\inetpub\wwwroot\rep1\page1.html dosyasına karşılık gelecektir. PWS sunucusu, .asp (Active Server Pages) uzantılı tüm dosyaları, bir HTML sayfası oluşturmak için çalıştırması gereken bir komut dosyası olarak yorumlar.
PWS varsayılan olarak 80 numaralı bağlantı noktasında çalışır. Apache web sunucusu da öyle... Dolayısıyla, her iki sunucuya da sahipseniz, PWS ile çalışmak için Apache'yi durdurmanız gerekir. Diğer bir çözüm ise Apache'yi başka bir bağlantı noktasında çalışacak şekilde yapılandırmaktır. Bunun için Apache yapılandırma dosyasında Port 80 satırını Port 81 ile değiştirirseniz, Apache artık 81 numaralı bağlantı noktasında çalışacak ve PWS ile aynı anda kullanılabilecektir. PWS başlatılmışken, URL http://localhost adresine erişilirse, aşağıdakine benzer bir sayfa görüntülenir:

8.1.9.3. PHP - PWS bağlantısı
- Aşağıda, kayıt defterini değiştirmek için hazırlanmış bir .reg dosyası bulunmaktadır. Kayıt defterini değiştirmek için bu dosyaya çift tıklayın. Burada gerekli olan dll, php yürütülebilir dosyasıyla birlikte d:\php4 içinde yer almaktadır. Gerekirse değiştirin. DLL dosyasının yolunda \ karakterleri iki kez yazılmalıdır.
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script Map]
".php"="d:\\php4\\php4isapi.dll"
- Kayıt defterindeki değişikliğin geçerli olması için sistemi yeniden başlatın.
- d:\inetpub\wwwroot'te (PWS sunucusunun kök dizini) bir php klasörü oluşturun. Bunu yaptıktan sonra, PWS'i etkinleştirin ve "Gelişmiş" sekmesine gidin. Sanal bir klasör oluşturmak için “Ekle” düğmesini seçin:
Dizin/Gözat: d:\inetpub\wwwroot\php
Takma ad: php
"Çalıştır" kutucuğunu işaretleyin.
- Tüm ayarları onaylayın ve PWS'i yeniden başlatın. d:\inetpub\wwwroot\php dosyasına, yalnızca aşağıdaki satırı içeren intro.php dosyasını ekleyin:
<? phpinfo() ?>
- PWS sunucusundan http://localhost/php/intro.php adresindeki URL dosyasını isteyin. Apache ile daha önce görüntülenen PHP bilgileri listesi görünmelidir.
8.1.10. Tomcat: Java servletleri ve JSP sayfaları (Java Sunucu Sayfaları)
Tomcat, servletler (web sunucusu tarafından çalıştırılan Java programları) aracılığıyla HTML sayfaları veya Java kodu ile JSP kodunu birleştiren JSP (Java Sunucu Sayfaları) sayfaları oluşturmaya olanak tanıyan bir web sunucusudur. Bu, Microsoft’un IIS/PWS sunucusundaki ASP (Active Server Pages) sayfalarının karşılığıdır; burada VBScript veya JavaScript kodu ile HTML kodu birleştirilir.
8.1.10.1. Installation
Tomcat, URL adresinde mevcuttur: http://jakarta.apache.org. Bir .exe kurulum dosyası indirilir. Bu programı çalıştırdığınızda, öncelikle hangi JDK'i kullanacağını belirtir. Nitekim Tomcat, kurulabilmesi ve ardından Java servlet'lerini derleyip çalıştırabilmesi için bir JDK'e ihtiyaç duyar. Bu nedenle, Tomcat’ı kurmadan önce bir Java sürümü yüklemiş olmanız gerekir. En güncel sürümün kullanılması tavsiye edilir. Kurulum, <tomcat> dizin yapısını oluşturacaktır:

Kurulum, bu arşivi bir dizine açmaktan ibarettir. Yolunda boşluk içermeyen adlar bulunan bir dizin seçin (örneğin "Program Files" gibi olmamalıdır); bunun nedeni, Tomcat kurulum sürecinde bir hata bulunmasıdır. Örneğin C:\tomcat veya D:\tomcat gibi bir dizin seçin. Bu dizine <tomcat> diyelim. İçinde jakarta-tomcat adlı bir klasör bulunur ve bunun içinde de şu dizin yapısı yer alır:
LOGS <REP> 15/11/00 9:04 logs
LICENSE 2 876 18/04/00 15:56 LICENSE
CONF <REP> 15/11/00 8:53 conf
DOC <REP> 15/11/00 8:53 doc
LIB <REP> 15/11/00 8:53 lib
SRC <REP> 15/11/00 8:53 src
WEBAPPS <REP> 15/11/00 8:53 webapps
BIN <REP> 15/11/00 8:53 bin
WORK <REP> 15/11/00 9:04 work
8.1.10.2. Tomcat Web Sunucusunu Başlatma/Durdurma
Tomcat, Apache veya PWS gibi bir web sunucusudur. Sunucuyu başlatmak için programlar menüsünde bulunan bağlantıları kullanabilirsiniz:
Tomcat'i başlatmak için | |
durdurmak için |
Tomcat başlatıldığında, aşağıdaki içeriğe sahip bir DOS penceresi açılır:

Bu DOS penceresini simge durumuna getirebilirsiniz. Tomcat aktif olduğu sürece pencere açık kalacaktır. Ardından ilk testlere geçebilirsiniz. Tomcat web sunucusu 8080 numaralı bağlantı noktasında çalışır. Tomcat başlatıldıktan sonra, bir web tarayıcısı açın ve http://localhost:8080 adresine erişin. Aşağıdaki sayfayı görmelisiniz:

Servlet Örnekleri bağlantısını takip edin:

RequestParameters sayfasındaki Execute bağlantısına, ardından da Source bağlantısına tıklayın. Böylece Java servlet'in ne olduğu konusunda ilk fikir edinebilirsiniz. JSP sayfalarındaki bağlantılarla da aynı işlemi yapabilirsiniz.
Tomcat’ı durdurmak için program menüsündeki “Stop Tomcat” bağlantısını kullanacağız.
8.1.11. Jbuilder
Jbuilder, bir Java uygulama geliştirme ortamıdır. Grafik arayüz içermeyen Java servlet'leri oluşturmak için böyle bir ortama sahip olmak zorunlu değildir. Bir metin düzenleyici ve bir JDK yeterlidir. Ancak JBuilder, önceki tekniğe kıyasla bazı avantajlar sunar:
- hata ayıklama kolaylığı: derleyici, programdaki hatalı satırları bildirir ve bu satırlara kolayca ulaşılabilir
- kod önerisi: Bir Java nesnesi kullanıldığında, JBuilder bu nesnenin özellik ve yöntemlerinin listesini satır içinde gösterir. Çoğu Java nesnesinin hatırlanması zor çok sayıda özelliğe ve yönteme sahip olduğu düşünüldüğünde, bu çok kullanışlıdır.
JBuilder'e http://www.borland.com/jbuilder adresinden ulaşılabilir. Yazılımı edinmek için bir form doldurulması gerekir. Etkinleştirme anahtarı e-posta ile gönderilir. Örneğin, JBuilder 7'yi kurmak için şu adımlar izlendi:
- üç adet zip dosyası indirildi: uygulama, belgeler ve örnekler için. Bu zip dosyalarının her biri, JBuilder sitesinde ayrı bir bağlantı altında yer alıyor.
- Önce uygulama, ardından belgeler ve son olarak örnekler yüklendi
- Uygulamayı ilk kez başlattığınızda bir etkinleştirme anahtarı istenir: bu, size e-posta ile gönderilen anahtardır. Sürüm 7'de bu anahtar, aslında bir metin dosyasının tamamıdır ve örneğin JB7 kurulum klasörüne yerleştirilebilir. Anahtar istendiğinde, söz konusu dosyayı belirtmeniz yeterlidir. Bu işlem yapıldıktan sonra anahtar bir daha istenmeyecektir.
JBuilder'i Java servlet'leri oluşturmak için kullanmak istiyorsanız, yapılması gereken birkaç yararlı ayar vardır. Aslında, "kişisel Jbuilder" olarak adlandırılan sürüm, Java ile web geliştirme yapmak için gerekli tüm sınıfları içermeyen, hafifletilmiş bir sürümdür. JBuilder'in Tomcat tarafından sağlanan sınıf kütüphanelerini kullanmasını sağlayabilirsiniz. Bunun için şu adımları izleyin:
- JBuilder'i çalıştırın

- Tools/Configure seçeneğini etkinleştirin JDKs

Yukarıdaki JDK Ayarları bölümünde, normalde Name alanında JDK 1.3.1 sürümü bulunur. Daha yeni bir JDK sürümünüz varsa, Change düğmesini kullanarak bu sürümün kurulum dizinini belirtin. Yukarıda, JDK 1.4 sürümünün kurulu olduğu E:\Program Files\jdk14 dizini belirtilmiştir. Artık JBuilder, derleme ve çalıştırma işlemleri için bu JDK sürümünü kullanacaktır. (Sınıf, Kaynak, Belgeler) bölümünde, JBuilder tarafından taranacak tüm sınıf kütüphanelerinin listesi bulunur; burada JDK 1.4 sürümünün sınıfları yer almaktadır. Bu sürümün sınıfları, Java ile web geliştirme yapmak için yeterli değildir. Diğer sınıf kütüphanelerini eklemek için Add düğmesini kullanır ve kullanmak istediğiniz ek .jar dosyalarını belirtirsiniz. .jar dosyaları sınıf kütüphaneleridir. Tomcat 4.x, web geliştirme için gerekli tüm sınıf kütüphanelerini beraberinde getirir. Bunlar, <tomcat>\common\lib dizininde bulunur; burada <tomcat>, Tomcat'in kurulum dizinidir:

Add düğmesi ile bu kütüphaneleri, JBuilder tarafından taranan kütüphane listesine tek tek ekleyeceğiz:

Artık, J2EE standardına uygun Java programlarını, özellikle de Java servlet'lerini derleyebiliriz. JBuilder yalnızca derleme için kullanılır; yürütme işlemi ise derslerde açıklanan yöntemlere göre daha sonra Tomcat tarafından gerçekleştirilir.


