TÜBİTAK » ULAKBİM » ULAKBİM Ana Sayfa İletişim / Bilgi Edinme  |  Site Haritası  |  English 
ULAKBİM
ULAKBİM Ana Sayfa
Ulusal Akademik Ağ
Cahit Arf Bilgi Merkezi
ULAKBİM Hakkında
Sıkça Sorulan Sorular
İş/Staj Olanakları
İletişim
Site Haritası
Arama

Hızlı Erişim

ULAKBİM Üye - Giriş
 
Kullanıcı: 
Şifre: 
   [ ? ]
Yeni Üye | Şifremi Unuttum!
Apache ve PHP Kurulumu Örneği

Bu dosyada Web sunucunuzda birçok özellik destekleyen bir Apache/PHP ikilisi kurabilmeniz için örnek bir kurulum anlatılmıştır.

Kullanılan modüller
  1. Resim kütüphaneleri ve diğer gerekli kütüphaneleri açarak işe başlayın:

    #gunzip zlib-1.1.3.tar.gz | tar xvf -
    #gunzip libpng-1.0.6.tar.gz | tar xvf -
    #gunzip jpgsrc.v6b.tar.gz | tar xvf -
    #gunzip tiff-v3.5.5.tar.gz | tar xvf -
    #gunzip freetype-1.3.1.tar.gz | tar xvf -
    #gunzip gd-1.8.2.tar.gz | tar xvf -

  2. Önce zlib-1.1.3 dizinine girin ve zlib'i kurun, varsayılan kurulma yeri /usr/local dizinidir:

    #cd zlib-1.1.3
    #./configure
    #make; make install

  3. Eğer shared object desteği isterseniz şu adımları da yapın:
    #make distclean; ./configure --shared
    #make; make install
  4. libpng-1.0.6 dizinine geçin ve derleme için hazırlayın
    #cd ../libpng-1.0.6
    #./configure
  5. Eğer zlib'i varsayılan yerine (/usr/local) koymadıysanız, Makefile'ı açın ve zlib için lib ve include dizinlerini belirtin, daha sonra da derleyin ve kurun:

    #vi Makefile >>

    ZLIBLIB=/usr/local/lib
    ZLIBINC=/usr/local/include

    #make; make install

  6. jpeg-6b dizinine geçin ve derleme için hazırlayın:
    #cd ../jpeg-6b
    #./configure
  7. Derleyin ve kurun:
    #make; make install; make install-lib
  8. Eğer shared-object desteği isterseniz şu adımları da yapın:
    #make distclean
    #./configure --enable-shared
    #make; make install; make install-lib
  9. tiff-v3.5.5 dizinine girin ve derleme için hazırlayın:
    #cd ../tiff-v3.5.5
    #./configure
  10. Derleyin ve kurun:
    #make; make install
  11. freetype-1.3.1 dizinine geçin ve derleme için hazırlayın:
    #cd ../freetype-1.3.1
    #./configure
  12. Derleyin ve kurun:
    #make; make install
  13. Artık gd için gereken tüm kütüphaneler kurulduğuna göre, gd dizinine geçip derleme için hazırlayabiliriz:
    #cd ../gd-1.8.2
    #./configure
  14. gd'yi de derleyin ve kurun:
    #make; make install
  15. Şimdi, eksta kütüphaneleri kurabiliriz. İlk önce, pdf, openldap, UWimap ve mySql paketlerini açın.
    #cd ..
    #gunzip pdflib-3.0.tar.gz | tar xvf -
    #gunzip openldap-1.2.10.tar.gz | tar xvf -
    #gunzip imap-4.7c.tar.gz | tar xvf -
    #gunzip mysql-3.22.32.tar.gz | tar xvf -
  16. pdflib-3.0 dizinine geçin ve derleme için hazırlayın:
    #cd pdflib-3.0
    #./configure
  17. Derleyin ve kurun:
    #make; make install
  18. openldap-1.2.10 dizininde configure'a şu parametreleri verin, bu şekilde sadece LDAP istemcisini kurarsınız (yerel ağınızdan bağlanabileceğiniz bir LDAP sunucu da kurmak isterseniz, Netscape Directory Server tavsiye edilir):

    #cd ../openldap-1.2.10
    #./configure \
      --prefix=/usr/local/ldap \
      --with-threads=lwp \
      --disable-slapd \
      --disable-ldapd \
      --disable-slupd

  19. Eğer thread hatası alırsanız, bu sefer şunu deneyin:
    #./configure \
      --prefix=/usr/local/ldap \
      --without-threads \
      --disable-slapd \
      --disable-ldapd \
      --disable-slupd
  20. Derleyin ve kurun:
    #make; make instal
  21. IMAP istemcisini kurmak için imap-4.7c dizinine geçin ve programı derleyin:
    #cd ../imap-4.7c
    #make gso; make depend (Solaris için)
      ya da
    #make slx (Linux için)
  22. Programı kurmak için şu satırları girin:

    #make install
    #cp c-client/c-client.a /usr/local/lib/
    #cp c-client/rfc822.h /usr/local/include/
    #cp c-client/mail.h /usr/local/include/
    #cp c-client/linkage.h /usr/local/include/

  23. PHP'nin libc-client.a dosyasını beklediği yerde bulması için gerekli sembolik bağı da verin:
    #ln -s /usr/local/lib/c-client.a \
      /usr/local/lib/libc-client.a
  24. mySql'i kurmak için mysql-3.22.32 dizinine geçin ve derleme için hazırlayın (makinenizin yeterli belleği yoksa, --with-low-memory parametresini ekleyin):

    #cd ../mysql-3.22.32
    #./configure --prefix=/usr/local/mysql \
      --with-low-memor
    y

  25. Derleyin, kontrol edin ve kurun:
    #make; make check
    #make install
  26. Apache'yi derlemeye başlamadan önce SSL'le ilgili kütüphane ve modülleri kurun. Bunun için aşağıdaki paketlerin hepsini açın:
    #cd ..
    #gunzip openssl-0.9.5a.tar.gz | tar xvf -
    #gunzip mod_ssl-2.6.4-1.3.12.tar.gz | tar xvf -
    #gunzip apache_1.3.12.tar.gz | tar xvf -
    #gunzip apache-contrib-1.0.8.tar.gz | tar xvf -
  27. Güvenlik modülü desteği kurmak için önce openssl-0.9.5a dizinine geçin, ve kuruluma hazırlayın:
    #cd ../openssl-0.9.5a
    #./config \
      no-idea \
      -fPIC \
      --prefix=/usr/local \
      --openssldir=/usr/local/openssl
  28. Derleyin ve kurun:
    #make; make install
  29. Apache içinde SSL desteği içinse, mod_ssl-2.6.4-1.3.12 dizinine geçin ve kuruluma hazırlayın:
    #cd ../mod_ssl-2.6.4-1.3.12
    #./configure --with-apache=../apache_1.3.12
  30. Eğer geçerli bir SSL sertifikanız varsa, onları da şu şekilde ekleyebilirsiniz:
    #./configure --with-apache=../apache_1.3.12 \
      --with-crt=/sertifika/dizini/ssl.crt/server.crt \
      --with-key=/sertifika/dizini/ssl.key/server.key
  31. mod_ssl'i derlemenize gerek yoktur. Apache extra modüllerini kolaylık olması amacıyla /tmp'ye taşıyın:
    #cd ..
    #mv apache-contrib-1.0.8 /tmp/contrib
  32. Artık apache_1.3.12 dizinine geçerek apache'yi hazırlayabiliriz (not: bu modüllerin hepsini kurmak zorunda değilsiniz, ayrıca daha hızlı çalışmasını istediğiniz modüllerin başındaki enable-shared kısımlarını atabilirsiniz):

    #cd apache_1.3.12
    SSL_BASE=../openssl-0.9.5a ./configure \
      --enable-rule=SHARED_CORE \
      --prefix=/usr/local/apache \
      --server-uid=webuser --server-gid=webgroup \
      --enable-module=ssl \
      --enable-module=auth_anon\
      --enable-module=define \
      --enable-module=expires \
      --enable-module=headers \
      --enable-module=include \
      --enable-module=info \
      --enable-module=rewrite \
      --enable-module=speling \
      --enable-module=status \
      --enable-module=digest \
      --add-module=/tmp/contrib/mod_auth_cookie/mod_auth_cookie.c \
      --add-module=/tmp/contrib/mod_auth_inst/mod_auth_inst.c \
      --add-module=/tmp/contrib/mod_bandwidth/mod_bandwidth.c \
      --add-module=/tmp/contrib/mod_disallow_id/mod_disallow_id.c \
      --add-module=/tmp/contrib/mod_layout/mod_layout.c \
      --add-module=/tmp/contrib/mod_put/mod_put.c \
      --add-module=/tmp/contrib/mod_session/mod_session.c \
      --add-module=/tmp/contrib/mod_macro/mod_macro.c \
      --add-module=/tmp/contrib/mod_roaming/mod_roaming.c \
      --enable-shared=ssl \
      --enable-shared=auth_anon \
      --enable-shared=define \
      --enable-shared=expires \
      --enable-shared=headers \
      --enable-shared=include \
      --enable-shared=speling \
      --enable-shared=digest \
      --enable-shared=auth_cookie \
      --enable-shared=auth_inst \
      --enable-shared=layout \
      --enable-shared=put \
      --enable-shared=macro \
      --enable-shared=roaming

  33. apache'yi derleyin:
    #make
  34. Eğer geçerli bir SSL sertifikanız varsa make certificate komutuna parametre olarak verebilirsiniz. Yoksa geçici bir taneyi şu şekilde kurabilirsiniz (size soracağı sorulardan, özellikle şifre önemlidir):

    #make certificate TYPE=dummy

  35. Artık apache'yi kurabilirsiniz:
    #make install
  36. Şimdi, PHP'yi de kurmak için php-4.0.0 dizinine geçin ve derleme için hazırlayın:
    #cd ../php-4.0.0
    #./configure \
      --with-apxs=/usr/local/apache/bin/apxs \
      --disable-debug \
      --enable-track-vars \
      --enable-ftp \
      --enable-memory-limit \
      --enable-sysvsem --enable-sysvshm \
      --enable-yp --enable-wddx \
      --with-mysql=/usr/local/mysql \
      --with-ldap=/usr/local \
      --with-imap=/usr/local \
      --with-zlib=/usr/local \
      --with-ttf=/usr/local \
      --with-gd=/usr/local \
      --with-pdflib=/usr/local \
      --with-zlib-dir=/usr/local \
      --with-jpeg-dir=/usr/local \
      --with-png-dir=/usr/local
  37. PHP'yi derleyin ve kurun:
    #make; make install
  38. PHP bir ayar dosyası kullanmaktadır, ancak make install komutu bunu gerekli yere kopyalamaz. Örnek bir dosyayı kaynak kod dizininden kendiniz kopyalamalısınız:
    #cp php.ini-dist /usr/local/lib/php.ini
  39. Apache ayar dosyasına bakarak şu satırların olduğunu kontrol edin:

    vi /usr/local/apache/conf/httpd.conf >>

    LoadModule php4_module libexec/libphp4.so
    AddModule mod_php4.c

  40. httpd.conf'dan çıkmadan, .php uzantılı dosyaları çalıştırabilmek için şu satırın başındaki yorum işaretini (#) de kaldırın:
    #AddType application/x-httpd-php .php
  41. Yine apache ayar dosyasına şu satırları eklemeniz, LD_LIBRARY_PATH ortam değişkeninde /usr/local/lib'in olmasını sağlayacaktır. Aksi takdirde apache'yi çalıştırırken "libpdf.so not found" cinsinden bir hata mesajı alabilirsiniz.
    <IfModule mod_env.c>
      SetEnv LD_LIBRARY_PATH /usr/local/lib:/lib:/usr/ucblib:/usr/openwin/lib
    </IfModule>
  42. Zend Optimizer'ı kurmak için zend-vers paketini açın:

    #gunzip zend-vers.tar.gz | tar xvf -
    #cd zend-vers
    #mkdir /usr/local/Zend
    #mkdir /usr/local/Zend/lib
    #cp ZendOptimizer.so /usr/local/Zend/lib

  43. PHP'nin ayar dosyasına şu satırları ekleyin:

    #vi /usr/local/lib/php.ini >>

    zend_optimizer.optimization_level=7
    zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"

  44. Artık apache'yi çalıştırabilirsiniz:

    #/usr/local/apache/bin/apachectl start

  45. Eğer apache'nin SSL kullanarak açılmasını istiyorsanız, şu komutu girin ve sorduğu zaman yukarıda make certificate adımında sorulan şifreyi girin:

    #/usr/local/apache/bin/apachectl startssl

  46. Eğer apache şuna benzer bir hata vererek çalışmayı reddederse, bir sembolik bağ kullanarak sorunu çözebilirsiniz.

    ...Cannot load module lib_php4.so, file not found: libmysqlclient.so

    #ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.6 \
    /usr/local/lib/libmysqlclient.so


    Benzeri lib-xxx.so dosyaları için de /usr/local/lib'in altında sembolik bağlar yaratmanız gerekebilir.
  47. PHP'nizin çalışıp çalışmadığını test etmek için, Web sayfalarının durduğu dizinde ilk.php dosyasına şunları ekleyin:

    #vi /usr/local/apache/htdocs/ilk.php >>

    <?
      phpinfo();
    ?>

  48. Web tarayıcınızı açın ve adres alanına şunu yazın:

    http://localhost/ilk.php

  49. Herşey sorunsuz gitmişse, PHP ve Zend logolarıyla başlayan bir sayfa ekrana gelmelidir.
ToKat Katalog UAK 2008 Ulusal Veri Tabanları Belge Sağlama CSIRT TR-GRID Yayın/Atıf Göstergeleri EKUAL
© 2007 TÜBİTAK-ULAKBİM Görüşleriniz