Apache ve PHP Kurulumu Örneği

crocodile

Üye
17 Ocak 2007
63
1
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 -

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

  1. Eğer shared object desteği isterseniz şu adımları da yapın:
#make distclean; ./configure --shared
#make; make install

  1. libpng-1.0.6 dizinine geçin ve derleme için hazırlayın
#cd ../libpng-1.0.6
#./configure

  1. 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
  1. jpeg-6b dizinine geçin ve derleme için hazırlayın:
#cd ../jpeg-6b
#./configure

  1. Derleyin ve kurun:
#make; make install; make install-lib
  1. Eğer shared-object desteği isterseniz şu adımları da yapın:
#make distclean
#./configure --enable-shared
#make; make install; make install-lib

  1. tiff-v3.5.5 dizinine girin ve derleme için hazırlayın:
#cd ../tiff-v3.5.5
#./configure

  1. Derleyin ve kurun:
#make; make install
  1. freetype-1.3.1 dizinine geçin ve derleme için hazırlayın:
#cd ../freetype-1.3.1
#./configure

  1. Derleyin ve kurun:
#make; make install
  1. 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

  1. gd'yi de derleyin ve kurun:
#make; make install
  1. Ş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 -

  1. pdflib-3.0 dizinine geçin ve derleme için hazırlayın:
#cd pdflib-3.0
#./configure

  1. Derleyin ve kurun:
#make; make install
  1. 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

  1. Eğer thread hatası alırsanız, bu sefer şunu deneyin:
#./configure \
--prefix=/usr/local/ldap \
--without-threads \
--disable-slapd \
--disable-ldapd \
--disable-slupd

  1. Derleyin ve kurun:
#make; make instal
  1. 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)

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

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

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

  1. Derleyin, kontrol edin ve kurun:
#make; make check
#make install

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

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

  1. Derleyin ve kurun:
#make; make install
  1. 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

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

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

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

  1. apache'yi derleyin:
#make
  1. 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
  1. Artık apache'yi kurabilirsiniz:
#make install
  1. Ş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

  1. PHP'yi derleyin ve kurun:
#make; make install
  1. 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
  1. 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

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

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

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

  1. Artık apache'yi çalıştırabilirsiniz:
#/usr/local/apache/bin/apachectl start
  1. 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
  1. 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


  1. Benzeri lib-xxx.so dosyaları için de /usr/local/lib'in altında sembolik bağlar yaratmanız gerekebilir.
  2. 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();
?>

  1. Web tarayıcınızı açın ve adres alanına şunu yazın:
http://localhost/ilk.php
  1. Herşey sorunsuz gitmişse, PHP ve Zend logolarıyla başlayan bir sayfa ekrana gelmelidir.



ht://dig Arama Motoru Kurulumu
Bu dosyada Web sunucunuzda kullanabileceğiniz, küçük ama gayet akıllı bir arama motoru olan ht://dig'in kurulumu anlatılmaktadır. Kurulumda Apache Web sunucusu ve Unix türevi bir işletim sistemi kullanıldığı varsayılmıştır.
ht://dig'i http://www.htdig.org/ adresinden indirebilirsiniz.
ht://dig'in kurulumu
  1. Öncelikle ht://dig paketini açarak işe başlayın:
#gunzip htdig-3.1.5.tar.gz| tar xvf -
  1. Önce yeni yaratılan dizine girin ve derlemeye hazırlayın, şimdilik herhangi bir parametre vermeniz gerekmez:
#cd htdig-3.1.5
#./configure

  1. ht://dig'in kurulacağı dizinleri ayarlamak icin CONFIG dosyasını açın:
#vi CONFIG
  1. Bazı parametrelerin anlamları şunlardır:
prefix (varsayılan: /opt/www/htdig ya da /usr/local/htdig)
ht://dig'in kurulacağı kök dizin
exec_prefix & DEST (varsayılan: $(prefix))
ht://dig programlarının kullanacağı kök dizinler, prefix'de verilen dizinle aynı olması şiddetle tavsiye edilir
BIN_DIR (varsayılan: $(exec_prefix)/bin)
çalıştırılabilir programların kurulacağı dizin;
asıl aramayı yapan program web sunucunun cgi-bin dizinine kurulacaktır, bkz CGIBIN_DIR

CGIBIN_DIR (varsayılan: /opt/www/cgi-bin ya da /usr/local/apache/cgi-bin)
aramayı yapan htsearch programının kurulacağı dizin, web sunucunuzun cgi programlarının durduğu yer olmalıdır
IMAGE_DIR (varsayılan: /opt/www/htdocs/htdig ya da /usr/local/apache/htdocs/htdig)
ht://dig'in sonuçları görüntülerken kullandığı resimlerin kopyalanacağı dizin
IMAGE_URL_PREFIX (varsayılan: /htdig)
sonuçlar görüntülenirken kullanılacak dizin; bu dizin ismi verilirken web stili göreceli adresleme kullanılacaktır, açıklama için aşağıya bakınız
SEARCH_DIR (varsayılan: /opt/www/htdocs/htdig ya da /usr/local/apache/htdocs/htdig)
örnek arama formunun kopyalanacağı dizin, web sunucunun dosyalarının durduğu dizinin altında olmalıdır
SEARCH_FORM (varsayılan: search.html)
örnek arama formunun ismi, SEARCH_DIR'de verilen dizinin altına kopyalanacaktır

  1. Örneğin, ht://dig programlarını, ayar dosyalarını vb /usr/local/htdig'e, CGI programını /webroot/cgi-bin dizinine, arama formunu /webroot/htdocs/arama dizinine, resimleri de /webroot/htdocs/arama/resim dizinlerine kopyalamak isterseniz, yukarıdaki parametreleri şu şekilde değiştiriniz:
prefix
/usr/local/htdig
exec_prefix & DEST
(hiç değiştirmeyiniz, yukarıdaki ayara göre /usr/local/htdig seçilecektir)
BIN_DIR
(hiç değiştirmeyiniz, yukarıdaki ayara göre /usr/local/htdig/bin seçilecektir)
CGIBIN_DIR
/webroot/cgi-bin
IMAGE_DIR
/webroot/htdocs/arama/resim
IMAGE_URL_PREFIX
/arama/resim
SEARCH_DIR
/webroot/htdocs/arama
SEARCH_FORM
index.html
  1. Gerekli değişiklikleri yaptıktan sonra, CONFIG dosyasını kaydedip çıkınız ve derleyiniz:
#make; make install
  1. ht://dig'in sitenizi dizinlemeye hemen başlamasını isterseniz, ayar dosyasını açınız ve şu değişiklikleri yapınız:
#vi /usr/local/htdig/conf/htdig.conf >>
start_url: https://tik.lat/vK9kZ (ana sayfanız)
...
exclude_urls: /cgi-bin/ .cgi .pl .sh (perl ve kabuk progr*****larının da listeden çıkartılması için)
...
template_name: long (sonuçlarda, sayfalardan alıntılar yapılması için; istemiyorsanız short yapınız)
...
valid_extensions: .html .htm .shtml .php .uhtml .phtml (varsa kendi kullandığınız uzantıları da ekleyebilirsiniz)
...
no_title_text: "(Başlıksız)" (<TITLE> kullanılmayan sayfalara hangi başlığın atanacağı)

  1. Gerekli değişiklikleri yaptıktan sonra, siteyi dizinleme işlemini başlatabilirsiniz:
#/usr/local/htdig/bin/rundig
  1. Bu işlem bittikten sonra Web tarayıcınızda https://tik.lat/TqGIt sayfasını açarak ht://dig'i sınayabilirsiniz.
ht://dig'in Özelleştirilmesi
ht://dig'i /usr/local/htdig'e kurmuşsanız, /usr/local/htdig/common dizinine şu dosyalar kopyalanmıştır:
header.html
tüm arama sonuçlarının en üstüne eklenen HTML etiketlerini içeren sayfacık
footer.html
tüm arama sonuçlarının en altına eklenen HTML etiketlerini içeren sayfacık
long.html & short.html
arama sonuçlarının istendiği uzunluğa göre seçilen eşleşmeler için kullanılan HTML etiketlerini içerirler; eğer bulunan eşlemelerin sadece başlık ve adresini göstermek isterseniz short.html'i, belgeden alıntılar, belgenin tarihi vb ek detaylar görmek istiyorsanız da long.html'i seçin
nomatch.html
istenen kelimeler veritabanında bulunamamışsa, gösterilen sayfa (üstüne/altına header.html ve footer.html eklenmez)
syntax.html
Mantıksal (Boolean) arama yaptırılmışsa ve sözdiziminde bir hata varsa gösterilen sayfa
wrapper.html
Görünürde hiçbir işlevi olmayan bir sayfa
Bu dosyalar aslında şablonlar olup içlerinde ht://dig'in kendisinin gerekli sonuçlarla yerdeğiştirdiği $(URL), $(TITLE), $(EXCERPT) cinsinden etiketler vardır. Örneğin $(URL) yerine bulunan sayfanın adresini koyan bir etikettir. Bu dosyaları açıp üzerlerinde değişiklik yaparak arama sonuçlarını sitenizin genel görünümüne uydurabilirsiniz.
Son olarak, varsayılan eşleme uzunluğunu long/short arasında seçmek için de /usr/local/htdig/conf/htdig.conf dosyasında bulunan template_name yönergesini kullanabilirsiniz.


 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.