Forum: Projeler turna RSS
Linux'ta apache 2 ile cgi programları
acehreli (Moderatör) #1
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Linux'ta apache 2 ile cgi programları
Ben Ubuntu 10.10 kullanıyorum ama başka dağıtımlarda da aynı olacağını düşünürüm.

1) (buna gerek kalmadı :D)

2) Apache 2'yi kurun:

sudo apt-get install apache2

3) İnternet tarayıcınızın satırına 'localhost' yazın ve Enter'a basın

"It works!" diyen bir sayfa çıkacaktır. Yani Apache 2 başarıyla kuruldu...

4) Bir cgi programı yazın.

Tanım gereği olarak programınızın belirli bir html istemine uygun olan bir yanıt üretmesi gerekir. Bu yanıt şu düzene uymalıdır ve programın standart çıkışına yazılmalıdır:

Content-type: text/html; charset=utf-8

<html>
  <body>

... sayfanın içeriği ...

  </body>
</html>


Öyle bir sayfa üreten bir deneme D programı şurada var:

  http://ddili.org/ornek_kod/deneme.d

4a) Onu, ismi cgi_deneme.d olarak kaydedin

4b) O dosya içinde geçen

  http://ddili.org/cgi-bin/deneme

bağlantısını şöyle değiştirin:

  http://localhost/cgi-bin/cgi_deneme

Yoksa sonradan tıkladığınız düğmeler sizi ddili'ne götürür.

4c) Derleyin:

dmd cgi_deneme.d

4d) Komut satırındayken çalıştırın:

./cgi_deneme

Program, çıkışa yukarıdaki düzene uyan bir html yanıtı yazacaktır. Herşey yolunda gittiyse bu yanıtın sonunda şöyle satırlar görmelisiniz:


...
<b>HTTP_ACCEPT</b>: <br>
<b>HTTP_USER_AGENT</b>: <br>

<hr><br>
<a href="http://ddili.org/ornek_kod/deneme.d">(Bu çıktıyı oluşturan program)</a><br>

  </body>
</html>


5) Deneme cgi programını Apache'nin klasörüne kopyalayın

(NOT 1: Bütün bu adımları root kullanıcısı olarak yazın.)

(NOT 2: Eğer burada benim gibi /var/www yazmak yerine /usr/lib kullanırsanız 6 numaralı adım gerekmez, ama cgi programlarının /usr/lib gibi ilgisiz bir yerde durmaları bana garip geliyor.)

5a) cgi programları için bir yer oluşturun (bunu bir kere yapacaksınız)

mkdir /var/www/cgi-bin

5b) Yukarıda 4 numaralı adımnda oluşturmuş olduğunuz deneme cgi programını oraya kopyalayın

cp cgi_deneme  /var/www/cgi-bin

6) Apache'nin cgi-bin olarak orayı görmesini sağlayın:

6a) /etc/apache2/sites-available/default dosyasını açın

6b) O dosya içindeki /usr/lib/cgi-bin olan iki yeri /var/www/cgi-bin olarak değiştirin ve dosyayı kaydedin.

Yani sonuçta şöyle bir blok oluşsun:


    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>


7) Apache'yi yeniden başlatın:

sudo /etc/init.d/apache2 restart

8) Tarayıcı satırında cgi programını isteyin:

http://localhost/cgi-bin/cgi_deneme

Programın ürettiği ve düğmeleri bulunan düzgün html yanıtını görmeniz gerekir...

Ali
canalpay (Moderatör) #2
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Teşekkürler. Çalıştı.
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Projeler turna RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 09:19:48 (UTC -08:00)