Editor Login | Register
Ekle

> Bilgisayar > Programlar
Apache ve PHP Kurulumu Örneği - Programlar - Bilgisayar -
Haberci Grup
(Relased 13.05.2008 15:55:37)


Paket türü

Gerekli programlar

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.

Aşağıda farklı ihtiyaç türlerine göre farklı kurulum paketleri anlatılmıştır. Sitenizde duyacağınız gereksinime göre aşağıdaki kurulumlardan birini örnek alabilirsiniz. Genel bilgi için Maksimum Paket"e bakmanız tavsiye edilir.

-->
Minimum / Esnek paket
(DSO desteğiyle modüller sonradan eklenebilir)
Apache PHP
Maksimum hız paketi
(Static derleme)
Apache PHP Zend Optimizer
CGI paketi
(mod_php yerine PHP binary"si)
Apache PHP
Veritabanı destekli paket Apache PHP MySql
Resim destekli paket Apache PHP libpng jpgsrc freetype zlib gd
IMAP ve LDAP destekli paket Apache PHP openldap Wimap
SSL destekli paket Apache PHP openssl mod_ssl
Maksimum paket: Apache PHP mySql libpng jpgsrc freetype zlib gd openldap UWimap openssl mod_ssl apache-contrib
-->

Kullanılan modüller

Apache 1.3.12 » Kullanımı kolay ve hızlı bir Web sunucusu
http://www.apache.org/ PHP 4.0.0 » Sunucu tarafında programlama için kullanılan popüler bir dil
http://www.php.net/ mySql 3.22.32 » PHP içinden kullanılabilecek bedava ve hızlı bir veritabanı
http://www.mysql.com/ GNU programları » Kurulum esnasında yardımcı olabilecek programlar
http://www.gnu.org/ Perl » Çok kullanışlı bir programlama dili (bazı programların ayarları için gereksinim duyulabilir)
http://www.perl.com/ OpenSSL 0.95.a » Bedava dağıtılan bir SSL programı
http://www.openssl.org/ mod_ssl » Apache içinde SSL desteği için
http://www.modssl.org/ openldap » Bir LDAP istemcisi
http://www.openldap.org/ UWimap » Bir IMAP (uzaktan e-posta desteği) kütüphanesi
http://www.washington.edu/imap/ Zend Optimizer » PHP programlarını hızlandıran bir motor
http://www.zend.com/ gd 1.82 » PHP içinden grafik işlemleri yaptırabileceğiniz bir kütüphane
http://www.boutell.com/gd/
freetype » gd kütüphanesi içinde TTF yazıtiplerini kullanabilmek için
http://www.freetype.org/ libpng » gd kütüphanesi içinde PNG resim tiplerini kullanabilmek için
http://www.libpng.org/pub/png/ jpg-src 6b » gd kütüphanesi içinde JPEG resim tiplerini kullanabilmek için
ftp://ftp.uu.net/graphics/jpeg/ libtiff » gd kütüphanesi içinde TIFF resim tiplerini kullanabilmek için
http://www.libtiff.org/ zlib 1.1.3 » PNG"de kullanılan sıkıştırma için gerekli kütüphane (gnu tar da bu programı kullanabilir)
http://www.freesoftware.com/pub/infozip/zlib/ Apache modülleri 1.0.8 » Apache"nin işlevselliğini ve güvenliğini arttıran çeşitli eklentiler
http://contrib.apache.org/ Minimum paket: Apache ve PHP paketlerini açın ve apache dizinine girin:

#gunzip apache-1.3.12.tar.gz | tar xvf -
#gunzip php-4.0.0.tar.gz | tar xvf -
#cd apache_1.3.12

Apache"yi DSO (modüllerin sonradan eklenebilmesi) özelliği için hazırlayın:
#./configure --prefix=/usr/local/apache/ \
  --enable-rule=SHARED_CORE \
  --enable-module=so
Apache"yi derleyin ve kurun:
make; make install
PHP"nin olduğu dizine geçin, ve Apache için hazırlayın:

#cd ../php-4.0.0
#./configure \
  --with-apxs=/usr/local/apache/bin/apxs \
  --enable-track-vars

PHP"yi derleyin ve kurun
#make; make install
Apache ayar dosyasına bakın, ve (yoksa) şu satırları ekleyin

#vi /usr/local/apache/conf/http.conf >>

LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c

httpd.conf dosyasından çıkmadan, .php uzantılı dosyaları çalıştırabilmek için şu satırın başındaki yorum işaretini (#) kaldırın:
AddType application/x-httpd-php .php
Apache"nin diğer ayarlarını değiştirmek istemezseniz artık Apache"yi çalıştırabilirsiniz.
#/usr/local/apache/bin/apachectl start

 
Maksimum paket: -->

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 -

Ö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

Eğer shared object desteği isterseniz şu adımları da yapın:

#make distclean; ./configure --shared
#make; make install

libpng-1.0.6 dizinine geçin ve derleme için hazırlayın

#cd ../libpng-1.0.6
#./configure

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

jpeg-6b dizinine geçin ve derleme için hazırlayın:

#cd ../jpeg-6b
#./configure

Derleyin ve kurun:

#make; make install; make install-lib

Eğer shared-object desteği isterseniz şu adımları da yapın:

#make distclean
#./configure --enable-shared
#make; make install; make install-lib

tiff-v3.5.5 dizinine girin ve derleme için hazırlayın:

#cd ../tiff-v3.5.5
#./configure

Derleyin ve kurun:

#make; make install

freetype-1.3.1 dizinine geçin ve derleme için hazırlayın:

#cd ../freetype-1.3.1
#./configure

Derleyin ve kurun:

#make; make install

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

gd"yi de derleyin ve kurun:

#make; make install

Ş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 -

pdflib-3.0 dizinine geçin ve derleme için hazırlayın:

#cd pdflib-3.0
#./configure

Derleyin ve kurun:

#make; make install

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

Eğer thread hatası alırsanız, bu sefer şunu deneyin:

#./configure \
  --prefix=/usr/local/ldap \
  --without-threads \
  --disable-slapd \
  --disable-ldapd \
  --disable-slupd

Derleyin ve kurun:

#make; make instal

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)

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/

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

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-memory

Derleyin, kontrol edin ve kurun:

#make; make check
#make install

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 -

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

Derleyin ve kurun:

#make; make install

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

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

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

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

apache"yi derleyin:

#make

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

Artık apache"yi kurabilirsiniz:

#make install

Ş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

PHP"yi derleyin ve kurun:

#make; make install

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

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

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

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.


  SetEnv LD_LIBRARY_PATH /usr/local/lib:/lib:/usr/ucblib:/usr/openwin/lib

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

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"

Artık apache"yi çalıştırabilirsiniz:

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

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

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.

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();
?>

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

http://localhost/ilk.php

Herşey sorunsuz gitmişse, PHP ve Zend logolarıyla başlayan bir sayfa ekrana gelmelidir.


Derecelendir
Kaynak Haberci Grup Tarafından yazılmış/derlenmiştir.
İçerik İhbarı
Bağlantılar: bilgininefendisi.net

Open Source Document Project AUP&TOS