10. Ekler - Web Geliştirme Araçları
Burada, Java, PHP, ASP ve asp.net dillerinde web geliştirme yapmayı sağlayan ücretsiz araçları nereden bulabileceğinizi ve nasıl kuracağınızı 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 buna uyum sağlaması gerekecektir... :
- 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). JDK, tarayıcılar için Java 1.4 eklentisini içerir; bu eklenti, tarayıcıların JDK 1.4 sürümünü kullanan Java uygulamalarını görüntülemesini sağlar.
- Java servlet'leri yazmak için bir Java geliştirme ortamı. Burada bu, JBuilder 7'dir.
- Web sunucuları: Apache, PWS (Personal Web Server, Cassini), Tomcat.
- Apache, PERL (Practical Extracting and Reporting Language) veya PHP (Personal Home Page) ile web uygulamaları geliştirmek için kullanılabilir.
- PWS, Windows platformlarında ASP (Active Server Pages) veya PHP dillerinde web uygulamaları geliştirmek için kullanılabilir. Cassini ise ASP.NET dilinde geliştirme imkanı sunar.
- Tomcat, Java servletleri veya JSP (Java Server Pages) sayfaları kullanılarak web uygulamaları geliştirmek için kullanılır
- bir veritabanı yönetim sistemi: MySQL
- EasyPHP: Apache web sunucusunu, PHP dilini ve SGBD MySQL'i bir araya getiren bir araç
10.1. Web Sunucuları, Tarayıcılar, Komut Dosyası Dilleri
- Başlıca Web Sunucuları
- Apache (Linux, Windows)
- Internet Information Server IIS (NT), Personal Web Server PWS (Windows 9x), Cassini (.NET platformları)
- Başlıca tarayıcılar
- Internet Explorer (Windows)
- Netscape (Linux, Windows)
- Mozilla (Linux, Windows)
- Opera (Linux, Windows)
- Sunucu tarafı betik 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 Komut Dosyası Dilleri
- VBScript (IE)
- Javascript (IE, Netscape)
- PerlScript (IE)
- Java (IE, Netscape)
10.2. Araçları nerede bulabilirim?
http://www.netscape.com/ (indirme bağlantısı) | |
http://www.microsoft.com/windows/ie/default.asp | |
http://www.mozilla.org | |
http://www.php.net | |
http://www.activestate.com | |
http://msdn.microsoft.com/scripting (Windows Script bağlantısını takip edin) | |
http://java.sun.com/ | |
http://www.apache.org/ | |
NT 4.0 Option pack for Windows 95 paketinde yer almaktadır Windows 98 için CD içinde 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.easyphp.org/ | |
http://www.asp.net |
10.3. EasyPHP
Bu uygulama, aşağıdakileri tek bir pakette bir araya getirmesi açısından oldukça kullanışlıdır:
- Apache web sunucusu
- bir PHP yorumlayıcısı
- SGBD MySQL (3.23.x)
- MySQL yönetim aracı: PhpMyAdmin
Yükleme 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 sunucusunun 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 kısayol aracılığıyla 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 yapmanıza ve çalışıp çalışmadığını test etmenize olanak tanır:

10.3.1. PHP yorumlayıcısının yapılandırılması
"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ünmelidir:

"Uzantılar" düğmesi, PHP için yüklü olan uzantıların 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, MySQL veritabanı yöneticisinin login/motdepasse 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.
10.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 bu sayfayı “st” takma adını kullanarak çağırmak:

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:
10.3.3. Apache yapılandırma dosyası [htpd.conf] 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ında dikkat edilmesi 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 | |
günlük dosyası 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 uzantılarını belirler |
10.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:

Afficher bağlantısına tıklandığında user sayfası açılır:

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ştirebilirsiniz; 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.
10.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 gideceğiz. 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:
dos>"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
10.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 betiği heure.pl adlı bir dosyaya kaydedin. Bir DOS penceresi açın, önceki betiğin bulunduğu dizine gidin ve betiği çalıştırın:
10.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 sistem yönetimi komut dosyaları yazmak amacıyla
- Internet Explorer. Bu durumda, HTML sayfalarında kullanılır ve bu sayfalara, yalnızca HTML diliyle elde edilemeyen belirli 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:
dos>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şlevi
// ---------------------------------------------------------
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:
dos>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 bir PerlScript örneği 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:
dos>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.
10.7. JAVA
Java, URL adresinde mevcuttur: http://www.sun.com 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:
dos>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], 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 şimdi çalıştırılacak programdır.
- Programı çalıştırın:
Yukarıdaki komutta [c:\jdk1.3\bin\java], java sanal makinesinin tam yolu olan [java.exe] ile değiştirilmelidir.
10.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. İçinde aşağıdakine benzer bir dizin yapısı bulunur:
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ı |
10.8.1. Yapılandırma
<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.
10.8.2. PHP - Apache bağlantısı
Test etmek için, içinde yalnızca aşağıdaki satırın bulunduğu intro.php dosyasını oluşturun:
ve bu dosyayı Apache sunucusunun web sayfaları kök dizinine (yukarıdaki DocumentRoot) yerleştirin. http://localhost/intro.php adresinden URL dosyasını 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: dakikalar
// 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 belirleyelim. Bir tarayıcıyla http://localhost/date.php adresindeki URL dosyasını açalım. Aşağıdaki sayfa karşımıza çıkar:

10.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 komut dosyası
# 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:

10.9. PWS sunucusu
10.9.1. t'i yükleyin
PWS sunucusu (Personal Web Server), Microsoft'un IIS (Internet Information Server) sunucusunun kişisel bir sürümüdür. Bu sunucu, NT ve 2000 işletim sistemli bilgisayarlarda 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 kurulmasını talep etmeniz gerekir. Ayrıca, bu bileşen Windows 95 için NT 4.0 Option Pack'te de mevcuttur.
10.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. Böylece, Apache'nin [httpd.conf] 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şildiğinde, aşağıdakine benzer bir sayfa görüntülenir:

10.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şiklik yapın. 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:
- Tüm değişiklikleri kaydedin 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:
- PWS sunucusundan URL http://localhost/php/intro.php dosyasını isteyin. Apache ile daha önce görüntülenen PHP bilgileri listesi görünmelidir.
10.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 HTML sayfaları (Java Sunucu Sayfaları) oluşturmaya olanak tanıyan bir web sunucusudur. Bu, Microsoft’un ASP (Active Server Pages) sayfalarının karşılığıdır; burada VBScript veya JavaScript kodu ile HTML kodu birleştirilir.
10.10.1. Kurulum
Tomcat, URL adresinden indirilebilir: http://jakarta.apache.org. Kurulum için bir .exe dosyası indirilir. Bu programı çalıştırdığınızda, öncelikle hangi JDK'i kullanacağını belirtir. Nitekim Tomcat'in kurulabilmesi ve ardından Java servlet'lerini derleyip çalıştırabilmesi için bir JDK'e ihtiyacı vardır. 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
10.10.2. Tomcat Web Sunucusunu Başlatma/Durdurma
Tomcat, Apache veya PWS gibi bir web sunucusudur. Bu programı başlatmak için programlar menüsünde şu bağlantılar bulunur:
Tomcat'i başlatmak için | |
Tomcat'i 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 Examples" 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’i durdurmak için, programlar menüsündeki “Stop Tomcat” bağlantısını kullanacağız.
10.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 özellik 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 JDKs seçeneğini etkinleştirin

Yukarıdaki JDK Ayarları bölümünde, Name alanında normalde 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.
10.12. Cassini Web Sunucusu
Microsoft’un .NET platformuyla çalışmak için Cassini web sunucusu kullanılabilir. Bu sunucu, .NET platformlarında ücretsiz bir web geliştirme ortamı olan ve şu URL’den erişilebilen [WebMatrix] adlı başka bir ürün aracılığıyla kullanılabilir:

Ürünün kurulum adımlarını dikkatle takip edeceğiz:
- .NET platformunu indirip kurun (Mart 2004'te 1.1 sürümü)
- WebMatrix'i indirip kurun
- MSDE'i (Microsoft Data Engine) indirip kurun; bu, SQL Server'ın sınırlı bir sürümüdür.
Kurulum tamamlandığında, [WebMatrix] ürünü yüklü programlar listesinde görünür:

[ASP.NET] Web Matrix bağlantısı, IDE geliştirme sürümünü başlatır: ASP.NET:

[Class Browser] bağlantısı, .NET sınıflarını keşfetme aracını başlatır:

Kurulumu test etmek için [WebMatrix]'i çalıştıralım:
4231

İlk başlatma sırasında, [WebMatrix] yeni projet.C'in özelliklerini sorar; bu, varsayılan yapılandırmasıdır. Başlangıçta bu iletişim kutusunun görünmemesi için yapılandırılabilir. Bunu [File/New File] seçeneği ile sağlayabiliriz. [WebMatrix], çeşitli web uygulamaları için şablonlar oluşturmaya olanak tanır. Yukarıda (1) ile bir web sayfası olan [ASP.ET Page] uygulamasını oluşturmak istediğimizi belirttik. (2) ile bu web sayfasının yerleştirileceği klasörü belirtiyoruz. (3) numaralı adımda sayfanın adını belirliyoruz. Sayfanın adı .aspx uzantısına sahip olmalıdır. Son olarak (4) numaralı adımda, VB.NET diliyle çalışmak istediğimizi belirtiyoruz; [WebMatrix] ayrıca C# ve J# dillerini de desteklemektedir.
Bu işlem tamamlandıktan sonra, [WebMatrix], [demo1.aspx] dosyasının düzenleme sayfasını görüntüler. Buraya aşağıdaki kodu yerleştiririz:

- [Design] sekmesi, oluşturmak istediğimiz web sayfasını "tasarlamamıza" olanak tanır. Bu işlem, Windows uygulamaları oluşturmaya yarayan IDE ile aynı şekilde gerçekleşir.
- [Design]'teki web sayfasının grafik tasarımı, [HTML] sekmesinde HTML kodunu oluşturacaktır
- Web sayfası, örneğin bir düğme gibi, tepki verilmesi gereken olaylar üreten denetimler içerebilir. Bu olaylar, [Code] sekmesine yerleştirilecek olan VB.NET kodu tarafından yönetilecektir
- Sonuç olarak, demo1.aspx dosyası, HTML ve VB.NET kodlarını birleştiren bir metin dosyasıdır; bu dosya, [Design]'te yapılan grafik tasarımın, [HTML] dosyasına elle eklenebilen HTML kodundan ve [Code] dosyasına yerleştirilen VB.NET kodundan oluşur. Dosyanın tamamı [All] sekmesinde mevcuttur.
- Deneyimli bir ASP.ET geliştiricisi, herhangi bir IDE yardımı olmadan bir metin düzenleyicisiyle demo1.aspx dosyasını doğrudan oluşturabilir.
[All] seçeneğini seçelim. [WebMatrix]'in zaten kod ürettiğini görüyoruz:
<%@ Page Language="VB" %>
<script runat="server">
' Sayfa kodunu buraya ekleyin
'
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- İçeriği buraya ekleyin -->
</form>
</body>
</html>
Burada bu kodu açıklamaya çalışmayacağız. Kodu şu şekilde dönüştürüyoruz:
<html>
<head>
<title>Démo asp.net </title>
</head>
<body>
Il est <% =Date.Now.ToString("hh:mm:ss") %>
</body>
</html>
Yukarıdaki kod, HTML ve VB.NET kodlarının bir karışımıdır. Bu kod, <% ... %> etiketleri arasına yerleştirilmiştir. Bu kodu çalıştırmak için [View/Start] seçeneğini kullanıyoruz. [WebMatrix], Cassini web sunucusu henüz başlatılmamışsa onu başlatır

Bu iletişim kutusunda önerilen varsayılan değerleri kabul edip [Start] seçeneğini seçebiliriz. Böylece web sunucusu etkin hale gelir. [WebMatrix], bulunduğu makinenin varsayılan tarayıcısını başlatır ve URL http://localhost:8080/demo1.aspx adresini açar:

Cassini sunucusunu [WebMatrix] dışında kullanmak mümkündür. Sunucunun yürütülebilir dosyası <WebMatrix>\<sürüm>\WebServer.exe konumunda bulunur; burada <WebMatrix>, [WebMatrix]'in kurulum dizinidir ve <version> ise sürüm numarasıdır:

Bir DOS penceresi açalım ve Cassini sunucusunun klasörüne gidelim:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>dir
...
29/05/2003 11:00 53 248 WebServer.exe
...
[WebServer.exe] dosyasını herhangi bir parametre olmadan çalıştıralım:
Bir yardım penceresi açılıyor:

Cassini web sunucusu olarak da bilinen [WebServer] uygulaması üç parametre kabul eder:
- /port: web hizmetinin bağlantı noktası numarası. Herhangi bir değer olabilir. Varsayılan değer 80'dir
- /path: diskteki bir klasörün fiziksel yolu
- /vpath: önceki fiziksel klasöre atanan sanal klasör. Yukarıdaki yardım panelinde belirtilenden farklı olarak, sözdiziminin /path=yol değil, /vpath:yol olduğuna dikkat edilmelidir.
[demo1.aspx] dosyasını şu klasöre yerleştirelim:

[d:\data\devel\webmatrix] fiziksel klasörüne [/webmatrix] sanal klasörünü ilişkilendirelim. Web sunucusu şu şekilde başlatılabilir:
E:\Program Files\Microsoft ASP.NET Web Matrix\v0.6.812>webserver /port:100 /path:"d:\data\devel\webmatrix" /vpath:"/webmatrix"
Böylece Cassini sunucusu etkin hale gelir ve simgesi görev çubuğunda görünür. Simgeye çift tıklandığında:

Sunucuyu başlatma ayarlarını görebilirsiniz. Ayrıca, [Stop]'i durdurma veya [Restart] web sunucusunu yeniden başlatma seçeneği de mevcuttur. [Root URL] bağlantısına tıklandığında, sunucunun web dizin yapısının kök dizini bir tarayıcıda görüntülenir:

[demos] bağlantısını takip edelim:

ardından [demo1.aspx] bağlantısı:

Görüldüğü gibi, fiziksel klasör P=[d:\data\devel\webmatrix] sanal klasör V=[/webmatrix] ile eşleştirilmişse ve sunucu 100 numaralı bağlantı noktasında çalışıyorsa, fiziksel olarak [P\demos] içinde bulunan [demo1.aspx] web sayfasına, URL ve [http://localhost:100/V/demos/demo1.aspx] üzerinden yerel olarak erişilebilecektir.
Bu özel örnekte, ASP.NET web geliştirme işinin, web sayfalarını yazmak için basit bir metin düzenleyici ve bunları test etmek için Cassini web sunucusu kullanılarak gerçekleştirilebileceğini gösterdik. Bu, uygulamanın karmaşıklığı ne olursa olsun geçerlidir. IDE [WebMatrix], geliştirme sürecine bazı kolaylıklar sağlar, ancak bunlar sınırlıdır. Visual Studio.NET gibi bir araç çok daha yüksek performanslıdır, ancak bu bir ticari üründür.


