RockLife Rock Metal Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.



 
AnasayfaAnasayfa  AramaArama  Latest imagesLatest images  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 Php ye giriş Konu: 2

Aşağa gitmek 
YazarMesaj
Tatlı-Cadı
Özel Üye
Özel Üye
Tatlı-Cadı


Mesaj Sayısı : 798
Başarı Puanı : 2236
Rep Puanı : 1
Kayıt tarihi : 28/05/09
Yaş Yaş : 33
Nerden : Almanya
İş/Hobiler İş/Hobiler : Golf

Php ye giriş Konu: 2 Empty
MesajKonu: Php ye giriş Konu: 2   Php ye giriş Konu: 2 Icon_minitimePaz Ekim 24, 2010 8:28 am

PHP ve Web Sunucusu

Bizim açımızdan PHP, bir Web sunucu programıdır; kurulacağı sistemdeki Web sunucusu ile uyumlu olması gerekir. 4'ncü sürümü itibariyle, PHP bütün Unix-türevi sistemler (örneğin Linux) ve Microsoft Windows sistemleri ile uyumludur. Birlikte çalışabileceği Web sunucu programları arasında Apache, IIS, FHTTP, Omni HTTPd, Xitami ve Windows 95/98 için PWS (Personal Web Server) vardır. Gerçek Internet ortamında sunucu programlara PHP yeteneği kazandırma işlemi, Web Pnogramcısı olarak bizi ilgilendirmez; bizim için Internet sitemize evsahipliği yapan Hosting firmasının PHP desteği verip vermediğini bilmek yeter. Fakat tasarımlarımızı sınayabilmek için kendi bilgisayarımıza bir kişisel Web Server kurmak ve bu programı PHP-uyumlu hale getirmek gerekir. Burada sadece iki örnek ele alacağız: Linux için Apache sunucu programı ve MS-Windows için PWS. Bu iki programdan hangisi sizin sisteminize uygunsa onu kendi bilgisayarınıza kuracağınızı varsayarak, şimdi PHP ve MySQL kurulumu ile uğraşabiliriz.

Unix/Linux Sistemleri

Kurma işlemine Unix ortamından başlayalım. Burada Unix sistemi dediğimiz zaman Unix'in tekrar bilişim haritasında yerini almasını sağlayan Linux'u kastediyorum. Bunun için önce PHP: Hypertext Preprocessor adresini ziyaret etmemiz gerekiyor. Eğer PHP uzmanı olacaksanız, burası sizin ikinci eviniz olabilir. Downloads köprüsünü tıklayarak açılacak sayfada Unix/Linux için kaynak kodunu bilgisayarınıza aktarın. PHP'yi kuracağınız bilgisayarda bir Web sunucu programı yoksa, Index of /dist adresinden apache_1.3.12.tar.gz (veya daha ileri) dosyasını da indirmeniz gerekir. Unix-Linux sistemleri için bilgisayarınızda "gcc C derleyici" bulunması gerekir. Linux sisteminizde örneğin Red Hat Linux sürüm 5.2 gibi eski bir gcc derleyici varsa, gcc sürüm 2.8.1'i Internet'ten bulmanız gerekir.



Linux'ta program derlediniz mi?

Daha önce hiç Linux programı derlemediyseniz, önce bazı kavramları açıklığa kavuşturalım:

tar: (tape archiver) birden fazla dosyayı tek dosya haline getirir ve sıkıştırır. Teyplere yedekleme amacıyla geliştirilmiştir. tar dosyaları sıkıştırılmışsa uzatması .gz, değilse .tar olur.

gcc: GNU'nun C derleyicisidir. İnsan tarafından okunabilen kaynak kodlarını makina tarafından okunabilen nesne (object) dosyalarına dönüştürür. C programlama diliyle yazılmış kaynak kodları içeren dosyaların uzantını .c olur. Nesne dosyalarının adının uzantısı genellikle .o olur. Derleyici başlık (header, uzantısı .h olan) dosyalarını bulamazsa derleme hatası verir.

make: henüz derlenmemiş kaynak dosyalarını derleyen yardımcı bir programdır. make, derleme talimatlarını Makefile adlı bir dosyadan alır.

ld: GNU'nun bağlayıcı (linker) programıdır. Nesne dosyalarını ve kitaplık denen dosyaları birbirine bağlayarak ortaya çalıştırılabilir bir program dosyası çıkartır. Genellikle Makefile'ın içinde linker'ın çalıştırılması talimatı bulunur ve sizin bu programı kullanmanız gerekmez.

ldconfig : paylaşılan kitaplık dosyalarını (shared librari) arar. Bu dosyalardan birden fazla program tarafından paylaşılır, ve dosya adlarında .so bulunur.

./configure : C derleyecisi ve header dosyalarının nerede olduğunu araştırır, ve vardığı sonuca göre Makefiles dosyasında değişiklik yapar.

PHP, bir Unix/Linux sisteminde müstakil yorumlayıcı veya Apache Web sunucusunun bir modülü olarak çalışmak üzere derlenebilir. PHP, müstakil yorumlayıcı olarak kurulduğunda, Web sunucusu, her ihtiyaç halinde PHP yorumlayıcısının bir örneğini çalıştırır. Bu, bir süre sonra Web sunucusunun bulunduğu işletim sisteminin yükünün artmasına ve işleyişinde yavaşlamaya yol açabilir. Oysa PHP, sunucunun bir modülü olarak kurulduğunda, bu sakınca ortaya çıkmaz. (Bu özelliği ile PHP, klasik CGI/Perl'ün çalışma tarzından ayrılır, ASP'nin ve ColdFusion'ın çalışma tarzına yaklaşır.) Bununla birlikte kötü niyetle veya beceriksizce yazılmış PHP programları modül olarak kurulmuş PHP'yi çökertirlerse, Web sunucusunu da çökertmiş olurlar; oysa müstakil PHP yorumlayıcı çökerse, Web sunucusuna bir şey olmaz.

Burada yapacağımız kurulum işlemi sırasında Linux kurulu olan bilgisayarımıza Apache Web sunucu programını, bu sunucunun kullanacağı güvenli Socket katmanını sağlayacak Mod_SSL programını, bu programın gerektirdiği OpenSSL aracını, MySQL veritabanı sunucusunu ve PHP Scripting dilini kurmuş olacağız.

PHP'yi Linux ortamında Apache Web sunucusuna modül olarak kurmak için sırasıyla şu işlemleri yapmamız gerekir (Sisteminizde gzip veya gunzip ile gcc and GNU make kurulu olduğunu varsayıyorum):

1. Sisteminizi root olarak başlatın ve sıkıştırılmış olarak alacağınız PHP ve Apache dosyalarını geniş yer olan geçici bir dizinde açın, ve o dizine gidin. Sözgelimi, Apache'nin tar-zip olarak sıkıştırılmış kaynak dosyalarının tmp adlı dizinde olduğunu varsayalım:

# cd /tmp

# gunzip –c apache_1.3.12.tar.gz | tar xf –

Burada, indirdiğiniz Apache sürümü farklı ise onun adını yazacaksınız. Şimdi Apache'yi açtığınız klasöre gidin ve buradaki configure dosyasını çalıştırın:

# cd apache_1.3.12

# ./configure --prefix=/usr/local/apache

Buradaki örnekte Apache'yi /usr/local/apache dizinine koyduğumuza dikkat edin. Bu dizini, bir çok kurulumun varsayım olarak arayacağı dizin olduğu için tercih ediyoruz. Ama isterseniz siz Apache'yi başka dizine de kurabilirsiniz.

2. Sıra MySQL veritabanı sunucusunda. Linux'ta root oturumunda iken sıkıştırılmış dosyaları indirdiğiniz geçici dizine geçin ve dosyaları açın; sonra oluşturulan dizine giderek, configure komutu ile veritabanı sürücüsünü yapılandırın:

# cd /tmp

# gunzip -dc mysql-3.22.32.tar.gz | tar xvf -

# cd mysql-3.22.32

# configure --prefix=/usr/local/mysql

Şimdi make komutu ile binary dosyalarını oluşturarak, ve sisteme yükleyelim:

# make

# make install

MySQL'in kullanım izinlerini belirlememiz gerekir. Aşağıdaki komutları yazarken "parola" kelimesi yerine vermek istediğiniz parola kelimesini yazmanız gerekir:

# scripts/mysql_install_db

# cd /usr/local/mysql/bin

# ./safe_mysqld &

# ./mysqladmin -u root password 'parola'

Kurulum işleminin başarılı olup olmadığını sınamak için, kurulum sırasında oluşturlan örnek veritabanı dosyalarını bulunup bulunmadığını soruşturabilir ve kendimiz yeni bir veritabanı oluşturabiliriz. Bunun için şu komutu yazalım:

# BINDIR/mysqlshow -p

# mysql -u root -p

Sistem "Enter password:" karşılığını verdiğinde, yukarıda kullanım izinlerini belirlerken yazdığınız parolayı yazın; MySQL sunucusu çalışacak ve size kullanıcı izinlerinin bulunduğu "mysql" ve sınama amacıyla oluşturulan "test" adlı iki veritabanının bulunduğunu bildirecektir. Şimdi kendi veritabanımızı oluşturalım. MySQL sunucu komut istemcisi satırına şunu yazın (Bilgisayarın vereceği karşılıklardan ayırt etmek için kendi yazdıklarımızı koyu renkle gösteriyoruz):

mysql> create database deneme;

Sunucu "Query OK, 1 row affected (0.00 sec)" şeklinde karşılık verecektir. Şimdi bu veritabanını seçerek içinde deneme adlı ve içinde "no" ve "isim" adlı iki alan bulunan bir tablo oluşturalım (MySQL komutları büyük harf-küçük harf ayrımı yapmaz; komutlardan sonra noktalı virgül konur). Burada koyu renkle gösterilen satırlar ve işaretler bize aittir:

mysql> use deneme;

Database changed

mysql> CREATE TABLE books (

-> no int(3) not null auto_increment,

-> isim char(50) not null,

-> unique(no),

-> primary key(no)

-> );

Query OK, 0 rows affected (0.00 sec)

Bakalım tablomuz başarılı şekilde oluşmuş mu?

mysql> show tables;

mysql> describe deneme;

Field Type Null Key Default Extra

no int(3) PRI 0 auto_increment

isim char(50)

2 rows in set (0.00 sec)

Çok güzel! Hem MySQL'i kurmuş, hem de ilk tablomuzu oluşturmuş bulunuyoruz. MySQL komutlarını daha ayrıntılı öğrenebilmek için MySQL'in MySQL :: The world's most popular open source database adresindeki sitesini ziyaret edebilirsiniz. Şimdilik MySQL'den çıkalım ve kuruluma devam edelim.

3. Sıra geldi PHP'ye! PHP kaynak dosyasının bulunduğu geçici dizine geçin, ve dosyaları açın; sonra açılan dosyaların bulunduğu dizine gidin:

# gunzip -c PHP-4.0.1pl2.tar.gz | tar xf -

# cd PHP-4.0.1pl2

Şimdi configure dosyasını çalıştıracağız; bu komutun bir çok opsiyonu vardır; bunların tümünü görmek istiyorsanız, "configure --help" komutunu verebilirsiniz. Biz sadece PHP'ye MySQL ve Apache opsiyonlarını eklemekle yetineceğiz:

# ./configure --with-mysql=/usr/local/mysql \

--with-xml \

--with-apache=../apache_1.3.12 \

--enable-track-vars

Oluşan binary dosyalarını program dosyasına çevirerek, yükleyelim:

# make

# make install

Oluşan ini dosyasını lib dizinine koplayalım:

# cp PHP.ini-dist /usr/local/lib/PHP.ini

PHP.ini dosyasındaki bir çok özelliği değiştirerek, PHP'nin çalışma tarzını ayarlayabilirsiniz; örneğin şu satırı ekleyerek, PHP'nin azamî çalışma süresini arttırabilirsiniz:

max_execution_time = 60;

Güvenli socket ve Internet Erişimi Katmanı

Kuracağınız Web sunucusu gerçek Internet'e açılacaksa, sisteminize Mod_SSL yeteneğini kazandırmanız gerekir. Bu sistemin rsaref-2.0 adında bir eki vardır; ancak Amerika dışında kurulan Web Sunucularda rsaref-2.0 ekinin kurulması gerekmez. Apache sunucusunu sadece PHP dosyalarınızı sınamak amacıyla kendi bilgisayarınıza kuruyorsanız, Mod_SSL kurmak şart değildir.

Bu işlemi yapmak zorunda iseniz, önce OpenSSL: The Open Source toolkit for SSL/TLS adresinden openssl-0.9.1c.tar.gz adlı dosyayı, mod_ssl: The Apache Interface to OpenSSL adresinden de mod_ssl-2.6.5-1.3.12.tar.gz dosyasını indirin. Sonra sırasıyla şu işlemleri yapabilirsiniz:

# gunzip -dc openssl-0.9.5c.tar.gz | tar xvf -

# cd openssl-0.9.x

#./config --prefix=/usr/local/ssl \

-L`pwd`/../rsaref-2.0/local/rsaref -fPIC

# make

# make test

# make install

# cd ..

Şimdi Mod_SSL modülünü Apache ile kullanılacak şekilde kuralım:

# gunzip -dc mod_ssl-2.6.4-1.3.12.tar.gz |tar xvf -

# cd

# ./configure --with-apache=../apache_1.3.12

# cd ..

# cd apache_1.3.12

# SSL_BASE=../openssl-0.9.x \

RSA_BASE=../rsaref-2.0/local \

./configure \

--enable-module=ssl \

--activate-module=src/modules/PHP4/libPHP4.a \

--enable-module=PHP4 \

--prefix=/usr/local/apache \

--enable-shared=ssl

[...ISS'ler buraya arzu ettikleri diğer opsiyonları ekleyebilirler..]

# make

Bu noktada sistem binary dosyaların oluşturulduğunu ve kurulumun gerekli güvenlik sertifikalarını istediğini bildirecektir. Sertifika oluşturma konusunda fazla bilgi için, mod_ssl: F.A.Q. adresine bakabilirsiniz.) Diyelim ki sadece ISS'in yeri, firma adı ve bir iki diğer bilgiden oluşan özel bir sertifika oluşturmakla yetineceksiniz. Bunun için şu komutu girin ve sistemin soracağı sorulara cevap verin:

# make certificate TYPE=custom

Şimdi Apache'yi yeniden kurabiliriz:

# make install

Herşey yolunda gittiyse, sistem "You now have successfully built and installed the Apache 1.3 HTTP server," şeklinde başlayan uzun bir mesaj verecektir. Bu durumda Apache sunucusu şu komutla başlatılabilir:

/usr/local/apache/bin/apachectl start

Apache'yi güvenli iletişim katmanı desteği ile başlatmak istiyorsanız şu komutu yazın:

/usr/local/apache/bin/apachectl startssl

Bu işlemleri başarıyla bitirmiş olsak bile sistemin çalıştığını kontrol etmemiz gerekir. Önce Apache'nin çalıştığından emin olalım. Bunun için önce Apache'nin yapılandırılmasına PHP'nun eklendiğinden emin olmamız gerekir. Kurulumu buradaki gibi yaptı iseniz /usr/local/apache/conf dizininde bulunan httpd.conf dosyasını açın; ve "addtype for PHP4" satırların önündeki yorum (#) işaretlerini kaldırın; yani bu satır yorum olmaktan çıkıp yapılandırma komutu olsun:

#AddType application/x-httpd-PHP .PHP

#AddType application/x-httpd-PHP-source .PHPs

şeklindeki satırları şu şekle getirin:

AddType application/x-httpd-PHP .PHP

AddType application/x-httpd-PHP-source .PHPs

Şimdi Apache sunucusunu çalıştırabilir ve PHP desteğinin bulunup bulunmadığını sınayabilirsiniz:

# cd /usr/local/apache/bin

# ./apachectl configtest

Syntax OK

# ./apachectl start

./apachectl start: httpd started

"httpd started" ifadesi bize Apache'nin çalıştığını gösteriyor. Şimdi Browser'ınızı açın ve HTTP sunucusu olarak Apache'nin adresini yazın. Bu, bilgisayarınızın Domain adıdır; Apache'nin kurulu olduğu bilgisayarın IP numarasını da yazabilirsiniz.

Şimdi, bir düzyazı dosyasına şunları yazın:

<? PHPinfo(); ?>

Dosyayı PHP.PHP adıyla Apache'nin Web sunucu için kök dizin saydığı klasöre kaydedin. Browser'ınızın URL adresi alanına sunucu adıyla birlikte dosyanın adını yazın.

Aldığınız sonuç, PHP'nin sistem ve sunucu hakkında ayrıntılı raporu ise, kendi kendinizi kutlayabilirsiniz: hem Apache sunucu, hem de PHP çalışıyor!

Windows-PWS ve IIS

PHP'yi Windows 95/98/NT/2000 işletim sistemlerinden biri ile çalışan bilgisayara kurmak için önce Visual PHP Web Development, AJAX applications and Web Reporting adresinden PHP-4.0.1pl2-Win32.zip veya daha ileri sürümdeki zip dosyasını almamız gerekir. Bu dosyayı açın ve içindekileri sözgelimi c:\PHP dizinine kopyalayın. (Dizini oluştururken "PHP," "PHP" veya "PHP" yazdığınıza dikkat edin!)

Daha önce Wihdows sistemine PHP 3.x kurmuş olanlar PHP 4.0'ün kurulumumu biraz farklı bulacaklardır. Bu, daha önce PHP kişisel ve Internet amaçlı Web sunucuda (PWS veya IIS) müstakil bir CGI programı olarak çalışırken şimdi buna ek olarak (tıpkı ASP gibi) DLL yoluyla, bir ISAPI modülü olarak çalışmasının sağlanmış olmasından kaynaklanıyor.

PHP'yi Windows 95 veya NT4.0 sisteminde kurulu bir PWS veya IIS için kuracaksınız, önce bazı önlemler almanız gerekiyor. NT 4.0 sistemlerinde IIS 4.0'ün bulunduğu Option Pack'in kurulması şart. Windows 95 sistemlerinde ise önce DCOM bileşenlerinin günceleştirilmesi gerekiyor. Bu dosyayı, [Linkleri görebilmek için üye olun veya giriş yapın.] adresinden alabilirsiniz.

PHP'yi müstakil çalışan CGI programı olarak kullanmayı düşünseniz bile daha önceki sürümlerinden farklı olarak bazı DLL dosyalarının Windows dizininde sistem alt-dizinine kopyalanması gerekir. Açtığınız Zip dosyasından çıkan ve C:\PHP dizinine kopyaladığınız dosyalar arasında bulunan MSVCRT.DLL ve PHP4TS.DLL adlı dosyaları Windows 9x sistemlerinde WINDOWS dizininde SYSTEM, NT/2000'de ise WINNT dzininde SYSTEM32 dizinine kopya edin. (Windows, MSVCRT.DLL dosyasının kullanılmakta olduğu bildirerek, kopyalamayı reddederse, kopyalamaya gerek yok demektir.)

IIS 4.0 ve 5.0

Windows NT/2000'e kurulu olan IIS 4.0 veya 5.0'e PHP desteği kazandırmak için, önce yukarıdaki gibi DLL dosyalarını gerekli yere kopyalayın. Açtığınız Zip dosyasından çıkmış olan PHP.ini-dist isimli düz yazı dosyasını Notepad ile açın ve "extension_dir=" satırını bularak, karşısındaki "./" yazısını silip yerine PHP dosyalarını kopyaladığınız dizinin adını (örneğin C:\PHP) yazın. PHP dizinin adını doğru yazdığınızı kontrol etmekte daima yarar vardır! Sonra ";browscap =" satırını bulun ve önündeki noktalı virgülü kaldırarak karşısındaki "extra/browscap.ini" kelimelerini c:\Winnt\browscap.ini olarak değiştirin. Bu dosyayı, PHP.ini adıyla Winnt dizinine kaydedin. (Windows dizininin Winnt adını taşıdığını varsayıyorum. Sizin Windows dizininiz başka ise, gerekli düzeltmeyi yapmanız gerekir.)
Sayfa başına dön Aşağa gitmek
https://rocklife.forum.st
 
Php ye giriş Konu: 2
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Php Ye giriş Konu: 1
» Php Ye Giriş Konu: 11
» Php ye Giriş Konu: 10
» Php ye Giriş Konu: 9
» Php ye Giriş Konu: 8

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
RockLife Rock Metal Forum :: Herşey Burda :: Webmaster&Webtasarım :: Programlama :: C ++ , C # , PHP-
Buraya geçin: