Skip to content

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?

Netscape
http://www.netscape.com/ (indirme bağlantısı)
Internet Explorer
http://www.microsoft.com/windows/ie/default.asp
PHP
http://www.php.net
http://www.php.net/downloads.php (Windows İkili Dosyaları)
PERL
http://www.activestate.com http://www.activestate.com/Products/
http://www.activestate.com/Products/ActivePerl/
Vbscript, Javascript
http://msdn.microsoft.com/scripting (Windows Script bağlantısını takip edin)
JAVA
http://java.sun.com/
http://java.sun.com/downloads.html (JSE)
http://java.sun.com/j2se/1.4/download.html
Apache
http://www.apache.org/
http://www.apache.org/dist/httpd/binaries/win32/
PWS
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
IIS 
(windows NT/2000)
http://www.microsoft.com
Tomcat
http://jakarta.apache.org/tomcat/
JBuilder
http://www.borland.com/jbuilder/
http://www.borland.com/products/downloads/download_jbuilder.html
EasyPHP
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:

Image

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

Image

easyphp.exe
uygulamanın yürütülebilir dosyası
apache
Apache sunucusunun dizin yapısı
mysql
SGBD MySQL dizin yapısı
phpmyadmin
phpMyAdmin uygulamasının dizin yapısı
php
php dizin yapısı
www
EasyPHP Apache sunucusu tarafından sunulan web sayfalarının dizin yapısının kökü
cgi-bin
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:

Image

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

Image

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:

Image

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

Image

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.

Image

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.

Image

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

Image

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:

Image

Örneğimizi tamamlamak için, artık e:\data\serge\web dizin yapısına web sayfaları yerleştirebiliriz:

C:\winnt\system32>dir e:\data\serge\web\html\balises.htm

14/07/2002  17:02                3 767 balises.htm

ve st takma adını kullanarak bu sayfayı çağırabiliriz:

Image

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:

Port 81

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:

Image

İşte bu yapılandırma dosyasıyla ilgili akılda tutulması gereken birkaç nokta:

ligne(s)
rol
ServerRoot "D:/Program Files/Apache Group/Apache"
Apache dizin yapısının bulunduğu klasörü gösterir
Port 80
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
ServerAdmin root@istia.univ-angers.fr
Apache sunucusunun yöneticisinin e-posta adresi
ServerName stahe.istia.uang
Apache sunucusunun "çalıştığı" makinenin adı
ServerRoot "E:/Program Files/EasyPHP/apache"
Apache sunucusunun kurulum dizini. Yapılandırma dosyasında göreceli dosya adları geçtiğinde, bunlar bu dizine göre görelidir.
DocumentRoot "E:/Program Files/EasyPHP/www"
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
<Directory "E:/Program Files/EasyPHP/www">
önceki klasörün özelliklerini belirler
ErrorLog logs/error.log
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.
    ScriptAlias /cgi-bin/ "E:/Program Files/EasyPHP/cgi-bin/"
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.
<Directory "E:/Program Files/EasyPHP/cgi-bin/">
yukarıdaki klasörün özelliklerini belirler
LoadModule php4_module "E:/Program Files/EasyPHP/php/php4apache.dll"
AddModule mod_php4.c
Apache'nin PHP4 ile çalışmasını sağlayan modül yükleme satırları.
    AddType application/x-httpd-php .phtml .pwml .php3 .php4 .php .php2 .inc
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:

Image

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:

Image

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

Image

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:

  1. 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
  1. 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.

  1. Programı çalıştırın:
D:\data\java\essais>c:\jdk1.3\bin\java heure
Il est 10:44:2

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
conf
Apache yapılandırma dosyalarının bulunduğu klasör
logs
Apache günlük dosyaları klasörü
bin
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:

Image

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:

Image

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:

  1. 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
;
  1. 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.
  2. Henüz yapılmadıysa Apache’yi başlatın
  3. 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:

Image

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:

Image

8.1.9.3. PHP - PWS bağlantısı

  1. 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"
  1. Kayıt defterindeki değişikliğin geçerli olması için sistemi yeniden başlatın.
  1. 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.

  1. 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() ?>

  1. 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:

Image

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:

Start Tomcat
Tomcat'i başlatmak için
Stop Tomcat
durdurmak için

Tomcat başlatıldığında, aşağıdaki içeriğe sahip bir DOS penceresi açılır:

Image

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:

Image

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

Image

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

Image

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

Image

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:

Image

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

Image

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.