Apache ve PHP Kurulumu Örneği
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/
- Resim kütüphaneleri ve diğer gerekli kütüphaneleri açarak işe başlayın:
#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:
#./configure
#make; make install
- Eğer shared object desteği isterseniz şu adımları da yapın:
#make; make install
- libpng-1.0.6 dizinine geçin ve derleme için hazırlayın
#./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:
ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include
#make; make install
- jpeg-6b dizinine geçin ve derleme için hazırlayın:
#./configure
- Derleyin ve kurun:
- Eğer shared-object desteği isterseniz şu adımları da yapın:
#./configure --enable-shared
#make; make install; make install-lib
- tiff-v3.5.5 dizinine girin ve derleme için hazırlayın:
#./configure
- Derleyin ve kurun:
- freetype-1.3.1 dizinine geçin ve derleme için hazırlayın:
#./configure
- Derleyin ve kurun:
- Artık gd için gereken tüm kütüphaneler kurulduğuna göre, gd dizinine geçip derleme için hazırlayabiliriz:
#./configure
- gd'yi de derleyin ve kurun:
- Şimdi, eksta kütüphaneleri kurabiliriz. İlk önce, pdf, openldap, UWimap ve mySql paketlerini açın.
#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:
#./configure
- Derleyin ve kurun:
- 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):
#./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:
--prefix=/usr/local/ldap \
--without-threads \
--disable-slapd \
--disable-ldapd \
--disable-slupd
- Derleyin ve kurun:
- IMAP istemcisini kurmak için imap-4.7c dizinine geçin ve programı derleyin:
#make gso; make depend (Solaris için)
ya da
#make slx (Linux için)
- Programı kurmak için şu satırları girin:
#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:
/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):
#./configure --prefix=/usr/local/mysql \
--with-low-memory
- Derleyin, kontrol edin ve kurun:
#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:
#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:
#./config \
no-idea \
-fPIC \
--prefix=/usr/local \
--openssldir=/usr/local/openssl
- Derleyin ve kurun:
- Apache içinde SSL desteği içinse, mod_ssl-2.6.4-1.3.12 dizinine geçin ve kuruluma hazırlayın:
#./configure --with-apache=../apache_1.3.12
- Eğer geçerli bir SSL sertifikanız varsa, onları da şu şekilde ekleyebilirsiniz:
--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:
#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):
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:
- 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):
- Artık apache'yi kurabilirsiniz:
- Şimdi, PHP'yi de kurmak için php-4.0.0 dizinine geçin ve derleme için hazırlayın:
#./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:
- 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:
- Apache ayar dosyasına bakarak şu satırların olduğunu kontrol edin:
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:
- 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
</IfModule>
- Zend Optimizer'ı kurmak için zend-vers paketini açın:
#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:
zend_optimizer.optimization_level=7
zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"
- Artık apache'yi çalıştırabilirsiniz:
- 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:
- Eğer apache şuna benzer bir hata vererek çalışmayı reddederse, bir sembolik bağ kullanarak sorunu çözebilirsiniz.
#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:
<?
phpinfo();
?>
- Web tarayıcınızı açın ve adres alanına şunu yazın:
- Herşey sorunsuz gitmişse, PHP ve Zend logolarıyla başlayan bir sayfa ekrana gelmelidir.
ht://dig Arama Motoru Kurulumu
ht://dig'i http://www.htdig.org/ adresinden indirebilirsiniz.
ht://dig'in kurulumu
- Öncelikle ht://dig paketini açarak işe başlayın:
- Önce yeni yaratılan dizine girin ve derlemeye hazırlayın, şimdilik herhangi bir parametre vermeniz gerekmez:
#./configure
- ht://dig'in kurulacağı dizinleri ayarlamak icin CONFIG dosyasını açın:
- Bazı parametrelerin anlamları şunlardır:
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
Ö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:
/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
- Gerekli değişiklikleri yaptıktan sonra, CONFIG dosyasını kaydedip çıkınız ve derleyiniz:
- ht://dig'in sitenizi dizinlemeye hemen başlamasını isterseniz, ayar dosyasını açınız ve şu değişiklikleri yapınız:
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ğı)
- Gerekli değişiklikleri yaptıktan sonra, siteyi dizinleme işlemini başlatabilirsiniz:
- 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'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.