mod_php Ön Gereksinimleri

mod_php nedir?

 

PHP sunucu taraflı, HTML içine gömülü bir betik dilidir.

İlk başlarda sadece bir misafir defteri işlemcisiydi, gelişti, gelişti. 3.0 sürümünden itibaren gerçekten güçlü bir Web geliştirme dili oldu.

 
--www.php.net 

4.0 sürümünden beri kurumsal web uygulamaları için yeteri kadar güvenli ve yeteneklidir. Çok güçlüdür, hemen hemen bütün önemli veritabanlarını destekler ve diğerlerini de ODBC (Open Database Connectivity) yoluyla destekler. Aynı donanımla, Windows sistemi üzerindeki ASP'den birkaç kat daha hızlıdır.

Yazdığınız koda bağlı olarak işlem hızını %50-%400 artıran APC (Alternatif PHP önbelleği) gibi eklentileri de mevcuttur.

Ön Gereksinimler

İhtiyaçlarınıza bağlı olarak öncelikle kurulması gereken bazı yazılımlar var. mod_auth_mysql tarafından ihtiyaç duyulduğundan, bu belgeye göre öncelikle kurulması gereken yazılım MySQL'dir.

IMAP istemci

IMAP istemci nedir?

IMAP Internet Mail Application Protocol sözcüklerinin baş harflerinden oluşmuş bir kısaltma olup, POP'u (Posta Ofis Protokolü) ikame eder. Sunucu üzerinde yedeklenmesi gereken bütün epostalarınızı farklı dosyalarda saklamanıza izin verir. Önemli epostalarınızı kaybetmeyin, yedekleyin, Allah korusun, yerel diskiniz çökebilir.

Kaynak paketini indirin

Adres: http://www.washington.edu/imap/

Derleme ve Kurulum

$ cd /usr/local

$ tar -xvfz imap.tar.Z

$ cd imap


$ make slx SSLTYPE=nopwd 1

1

SSL desteğine ihtiyacınız olup olmadığına göre SSLTYPE=unix parametreli tanımlayabilirsiniz. Belirtilmemesi SSL desteğinin olmaması ile sonuçlanır.

İndirilecek dosya

imap.tar.Z, genellikle son sürüme sembolik bağdır, bugün imap-2005a.tar.Z dosyasına sembolik bağdır.

PostgreSQL

PostgreSQL nedir?

PostgreSQL çok güçlü ve hızlı bir veritabanıdır.

MySQL gibi, web uygulamaları için mükemmeldir. Benim görüşüme göre MySQL'i yönetmek kadar kolay ve rahat değil ama, web uygulamanız çokça veritabanına yazma ve hesap hareketlerine ihtiyaç duyuyorsa sizin için PostgreSQL daha uygun olacaktır.

Kaynak paketini indirin

Adres: http://www.postgresql.org (Size en yakın olan yansıyı seçiniz)

Derleme ve Kurulum

$ cd /usr/local

$ tar -xvzf postgresql-7.3.2.tar.gz

$ cd postgresql-7.3.2

$ ./configure \
--with-perl \
--enable-odbc \
--with-unixodbc  \
--with-pam \
--with-openssl

$ make
# make install

# echo /usr/local/pgsql/lib >> /etc/ld.so.conf

# ldconfig

Sablotron

Sablotron nedir?
 

Sablotron hızlı, bütünleşik ve taşınabilir XSLT 1.0, DOM Level2 ve XPath 1.0 için geliştirilen bir XML aracıdır. Sablotron açık bir projedir; kullanıcıları ve geliştiricileri onu geliştirmek ve denemek için kullanmaya veya denemeye teşvik edin. Bu projenin amacı, genel kullanıma açık ve çok platformlu XML uygulamalarında bir temel olarak kullanılabilecek, güvenilir, hızlı ve W3C şartlarına uyan bir kütüphane işlemcisi oluşturmaktır.

 
--http://www.gingerall.com/charlie/ga/xml/p_sab.xml 
Derleme ve Kurulum

$ tar -xvzf Sablot-0.97.tar.gz
$ cd Sablot-0.97

$ ./configure
$ make
# make install

# ldconfig

pdflib

pdflib nedir?
 

PDFlib: PDF üretmek için bir kütüphane. Sadece istendiğinde sunucuda PDF üreten kütüphane, ürününüzdeki metin ve grafikleri PDF biçimine çevirir.

 
--www.pdflib.com 

Yazarın bakış açısından:

Bu bir ticari üründür

PDFLIB bir ticari üründür, lisansını dikkatle okuyun ve "ticari bir lisansa ihtiyacınız olup olmadığına" karar verin.

Derleme ve Kurulum

$ cd /usr/local/
$ tar -xvzf pdflib-4.0.3.tar.gz

$ cd pdflib-4.0.3

$ ./configure --enable-shared-pdflib --enable-cxx

$ make
# make install

# ldconfig

gettext

gettext nedir?

PHP tarafından ihtiyaç duyulan, yazılımın i18n (Internationalization, "I", 18 karakter ve "n"; Uluslararasılaştırma) uyumu için bir kütüphanedir.

Kaynak paketini indirin

Adres: ftp://ftp.gnu.org/gnu/gettext (Size en yakın yansıyı seçiniz)

Derleme ve Kurulum

$ cd /usr/local

$ tar -xvzf gettext-0.11.2.tar.gz

$ cd gettext-0.11.2

$ ./configure

$ make
$ make check
# make install

# ldconfig

zlib

zlib nedir?

zlib hemen hemen bütün bilgisayar donanımlarında ve işletim sistemlerinde kullanılmak için kayıpsız veri sıkıştırma kütüphanesidir.

Kaynak paketini indirin

Adres: ftp://ftp.info-zip.org/pub/infozip/zlib/zlib-1.1.4.tar.gz (Size en yakın yansıyı seçiniz.)

Derleme ve Kurulum

$ cd /usr/local

$ tar -xvzf zlib-1.1.4.tar.gz

$ cd zlib-1.1.4/

$ ./configure

$ make
$ make test
# make install

# ldconfig

PHP4'ün Derlenmesi ve Kurulması

$ cd /usr/local

$ tar -xvzf php-4.3.0.tar.gz

$ cd php-4.3.0

$ export LDFLAGS=-lstdc++

$ ./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-pgsql=/usr/local/pgsql \
--enable-track-vars \
--with-openssl=/usr/local/ssl \
--with-imap=/usr/local/imap \
--with-gd --with-ldap \
--enable-ftp \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-pdflib=/usr/local \
--with-gettext \
--with-mm=/usr/local/mm-1.1.3 \
--with-jpeg-dir=/usr/lib \
--with-zlib-dir=/usr/local \
--enable-wddx \
--with-mcrypt \
--with-mhash \
--with-mcal=/usr \
--enable-exif \
--enable-xslt \
--with-xslt-sablot=/usr/local \
--with-dom \
--with-dom-xslt

Makefile'ı düzenleyerek EXTRA_LIBS değişkenine -lstdc++ atayın. Buna sadece, Sablotron 0.9.7 kullanıldığında ihtiyaç duyulur.

$ make
# make install

Kurulumdan sonra httpd.conf axps tarafından düzenlenir. Bakarsanız, aşağıdaki gibi gözükmesi gerekir:

<IfDefine SSL>
LoadModule ssl_module         libexec/libssl.so
LoadModule php4_module        libexec/libphp4.so
</IfDefine>

Eğer Apache'yi mod_ssl ile derlediyseniz, php modülü sadece Apache ssl ile başlatıldığında (apachectl startssl) yüklenecektir. Eğer Apache'yi ssl desteği olmadan başlatacaksanız (ama bu belgede anlatıldığı gibi derlediyseniz), dosyayı aşağıdaki gibi değiştirmeniz gerekir:

<IfDefine SSL>
LoadModule ssl_module         libexec/libssl.so
</IfDefine>
LoadModule php4_module        libexec/libphp4.so

php.ini-dist dosyasını /usr/local/lib/php.ini'ye kopyalayın.

# cp /usr/local/php-4.3.0/php.ini-dist /usr/local/lib/php.ini

/usr/local/apache/conf/httpd.conf dosyasının içinde, aşağıdaki satırların başındaki "#" işaretini kaldırın.

Apache 1.3.27 öntanımlı olarak httpd.conf'ta başında "#" işareti bulunan satırları yoksayar. Satırların başlarındaki "#" işaretlerini kaldırmak yerine onları yeni birer satır olarak eklerseniz daha iyi olur.

AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php .php3

# If you want to display PHP source

AddType application/x-httpd-php-source .phps 1

1

Bu satır sadece, kaynak kodu tarayıcıda göstermek istediğinizde ihtiyaç duyulur. Dosya uzantısı .phps olmalıdır.

register_globals

PHP Versiyon 4.2.1'den beri register_globals değişkeninin değeri Off'tur. Bu da $HTTP_GET_VARS yöntemini kullanmadan çalışan PHP kodunda sorun çıkarır. register_globals'ı etkin kılmak için /usr/local/lib/php.ini dosyasında aşağıdaki satırı düzenleyiniz.

register_globals = On

Eğer yeni yöntemleri kullanan yeni bir yazılım geliştiriyorsanız, lütfen bunu yapmadan önce iyi düşünün. Eski yöntemler er veya geç desteklenmez olacaktır.

Apache'yi aşağıdaki gibi yeniden başlatın:

# /usr/local/apache/bin/apachectl restart