Unix sistemler ve Apache 2.x
Bu bölüm Unix sistemlerde PHP'nin Apache 2.x'e kurulumu hakkında
bilgiler ve ipuçları içerir.
Uyarı
Apache 2'nin bir hizmet ortamında evreli MPM'lerle kullanımını
önerilmemektedir. Bunun yerine Apache 2.0 ve 2.2'de öntanımlı MPM olan
Prefork MPM'sini kullanmanızı önerilir. Bunun sebebini SSS altında Apache ve evreli MPM'ler
başlığı altında bulunabilir.
Apache 2.x HTTP Sunucusu hakkında temel bir bilgi edinmek için mutlaka
» Apache HTTP Sunucusu Sürüm 2.x
Belgelerine bakmanızı öneririz.
En son sürümü » Apache 2.x indirme
sitesinden ve buna uygun PHP sürümünü yukarıda bahsedilen yerlerden
indirebilirsiniz.
Bu kısa kılavuz Apache 2.x ve PHP hakkında sadece temel bilgi sağlar.
Daha ayrıntılı bilgi edinmek için » Apache HTTP Sunucusu Belgelerine
bakınız. Kurulum talimatlarının sürüm numaralarından ötürü geçerliliğini
yitirmemesi için sürüm numaraları 'NN' şeklinde belirtilmiştir, NN yerine
kurulan Apache sürümünün sürüm numarası yazılmalıdır.
Apache 2.x'in şu an iki sürümü mevcuttur: 2.4 ve 2.2. Bunlardan birini
seçmek için çeşitli sebepler olabilirse de 2.4 şu an için en son ve
önerilen sürümdür. Ancak, burada sözü edilen talimatlar hem 2.4 hem de 2.2
için çalışır. Apache httpd 2.2 resmen sonlandırılmış olup yeni
geliştirmeler yapılmamakta ve yama çıkarılmamaktadır.
-
Apache HTTP sunucusunu edindikten sonra şu komutları verin:
-
Benzer işlemleri PHP için de yapın:
-
Apache'yi derleyip kurun. Apache'nin nasıl
derleneceğini Apache kurulumu belgesinden öğrenebilirsinz.
-
Böylece standart prefork MPM'si ve yüklenebilir modül desteği ile Apache
2.x.NN /usr/local/apache2 altına kurulmuş oldu. Kurulumu denemek için
Apache HTTP sunucusunu normal yollardan başlatabilirsiniz. Örnek:
PHP yapılandırması ile çalıştırmak üzere sunucuyu durdurun:
-
Şimdi PHP'yi yapılandırıp kurun. Bunu hangi eklentileri etkin
kılacaksanız onların seçeneklerini kullanarak yapabilirsiniz.
Olası seçeneklerin listesini almak için komut satırına
./configure --help
yazın.
Örneğimizde Apache ve MySQL desteğini etkin kılacağız.
Apache'yi yukarıda açklandığı gibi kaynak paketinden derlediyseniz
aşağıdaki örnek sizin apxs yolunuzla eşleşecektir. Fakat Apache'yi başka
bir şekilde kurduysanız apxs yolunu buna uygun olarak ayarlamalısınız.
Bazı dağıtımlar apxs yerine apxs2 ismini kullanır, buna dikkat edin.
Eğer kurulumdan sonra yapılandırmanızı değiştirmek isterseniz sadece
configure, make ve make install adımlarını yinelemeniz yeterli
olacaktır. Yeni modülün etkin olabilmesi için Apache'yi yeniden
başlatmanız gerekir. Apache'yi yeniden derlemeniz gerekmez.
Aksi özellikle belirtilmedikçe 'make install' ile phpize gibi çeşitli
PHP araçları, PEAR, PHP CLI ve bir takım başka şeylerin de kurulumu
yapılır.
Aksi belirtilmedikçe, 'make install' ile phpize gibi çeşitli PHP
araçları, PEAR, PHP CLI ve benzerleri de kurulacaktır.
-
php.ini dosyanızı yapılandırın.
PHP seçeneklerini ayarlamak için .ini dosyanızı düzenleyebilirsiniz.
.ini dosyanızın başka bir yerde durmasını istiyorsanız, 5. şıkta
--with-config-file-path=/başka/bir/yer seçeneği ile dosyanız için başka
bir yer belirtebilirsiniz.
php.ini-dist yerine php.ini-production (dağıtımın standart .ini dosyası
yerine önerilen yapılandırmalar dosyasını) kullanmayı tercih ederseniz,
değişiklik listesini okumayı ihmal etmeyin, çünkü bunlar PHP'nin
davranışını etkileyecektir.
-
PHP modülünün yüklenmesi için httpd.conf dosyasını düzenlemelisiniz.
LoadModule yönergesinin değeri PHP modülünün sistemdeki yerini
göstermelidir. Yukarıdaki 'make install' bunu sizin yerinize yapmıştır
ama emin olmak için siz yine de bir bakın.
-
Apache'ye belli dosya uzantılarını PHP uzantıları olarak ele almasını
söyleyin. Örneğin, .php uzantılı dosyaları Apache'nin PHP dosyaları
olarak ele almasını isteyebiliriz. Apache AddType yönergesini kullanmamak
suretiyle, PHP tarafından çalıştırılmak üzere istismar.php.jpg gibi
dosyaların oluşturulması ve yüklenmesi gibi tehlikeli durumlardan
kaçınmak isteyebilirsiniz. Biz örnek olsun diye .php uzantısını
ekledik. Başka uzantıları da buraya ekleyebilirsiniz. Bunları aralarında
boşluk bırakarak aynı satıra yazabilirsiniz.
Veya .php, .php2, .php3, .php4, .php5, .php6 ve .phtml gibi dosyalar
dışında hiçbir dosyanın PHP tarafından çalıştırılmamasını şöyle
sağlayabilirsiniz:
PHP kaynak kodlarını renklendirilmiş olarak göstermek için .phps
uzantısını da yapılandırmanıza ekleyebilirsiniz. Bu, şöyle yapılır:
.php dosyalarının uzantılarını .phps olarak değiştirmeden kaynak
kodlarını renklendirilmiş olarak göstermek isterseniz bunu şöyle
yapabilirsiniz:
PHP kaynak süzgeci, gizli kalması gereken bilgiler içeren genel kullanıma
açık sunucularda kullanılmamalıdır. Aksi takdirde gizli kalması gereken
bilgiler kaynak koda eklenebilir.
-
Artık Apache'yi başlatabilirsiniz. Bunun için Apache'yi her zaman ki gibi
başlatmanız yetecektir:
VEYA
Yukarıdaki adımları izleyerek PHP'nin bir SAPI
modülü
olarak çalıştığı bir Apache 2 HTTP sunucusuna sahip olursunuz. Apache ve
PHP için şüphesiz birçok farklı yapılandırma seçeneği vardır.
Yapılandırma seçeneklerinin listesi için her kaynak ağacında
./configure --help çalıştırabilirsiniz.
Apache derlenirken prefork MPM modülü yerine ,
worker MPM modülü seçilerek çok evreli derlenebilir.
Bunu yapmak için 3. şıkta derleme seçeneklerinize şu seçeneğini
ekleyebilirsiniz:
Bunu yapmadan önce, bunun olası sonuçları hakkında
bilgi sahibi olmaya, azından ne gibi etkilerinin olacağını anlamaya
çalışın. Bu konuda daha ayrıntılı bilgi edinmek için Apache HTTP
sunucusunun belgelerinden » Çok
Süreçlilik Modülleri (MPM'ler) belgesini okuyunuz.
Bilginize:
İçerik dili uzlaşımı kullanmak isterseniz
Apache MultiViews
SSS'ine bakınız.
Bilginize:
Ayrıca, PHP'yi Zend Thread Safety (ZTS) motoru ile de
derleyebilirsiniz. Böyle bir yapılandırmada bütün eklentiler
kullanılamayacaktır. Bu bakımdan Apache'yi standart
prefork MPM'si ile derlemenizi öneriyoruz.