Apache HTTP Sunucusu Sürüm 2.4

configure betiği, Apache HTTP Sunucusunun kaynak kodlarını
belli bir platform için yapılandırmakta ve derlemekte kullanılır.
Sunucuyu kişisel gereksinimlerinize uygun şekilde derlemek için çeşitli
seçeneklere sahiptir.
Bu betik Apache HTTP Sunucusu kaynak paketinin kök dizininde bulunur ve sadece Unix ve benzeri sistemlerde kullanılabilir. Kaynak paketinin diğer platformalarda yapılandırılması ve derlenmesi hakkında bilgi edinmek için platform belgelerine bakınız.
configure betiğini kaynak paketinin kök dizininden başka
bir yere kopyalayıp çalıştırmamalısınız.
./configure [seçenek]...
[değişken=değer]...
CC, CFLAGS gibi ortam değişkenlerini
değişken=değer atamaları biçiminde
kullanabilirsiniz. Kullanışlı değişkenlerin bazıları aşağıda açıklanmıştır.
Aşağıdaki seçenekler configure betiğinin kendi davranışını
belirlemekte kullanılır.
-C--config-cache--cache-file=config.cache için bir kısaltmadır.--cache-file=dosyadosya dosyasında saklanır.
Bu seçenek açıkça belirtilmedikçe işlevsizdir.-h--help [short|recursive]short değeriyle sadece
bu pakete özgü seçenekler listelenir. recursive değeriyle
ise paketin içindeki tüm paketler için kısa bir yardım metni
basılır.-n--no-createconfigure betiği normal olarak çalışır fakat herhangi
bir çıktı dosyası üretmez. Derleme için Makefile
dosyalarını üretmeksizin sınamaların sonuçlarını görmek için
yararlıdır.-q--quietchecking ... iletilerini basmaz.
--srcdir=dizindizin dizinini kaynak dosyaları dizini olarak
tanımlar. configure betiğinin bulunduğu dizin veya bir
üst dizin öntanımlıdır.--silent--quiet ile aynı.Bu seçenekler kurulum dizinlerini tanımlar. Kurulum dizinleri seçilmiş yerleşime bağımlıdır.
--prefix=PREFIXPREFIX dizininin
altına kurulur. /usr/local/apache2 öntanımlı kurulum
dizinidir.--exec-prefix=EPREFIXEPREFIX dizininin
altına kurulur. Bunun için PREFIX dizini
öntanımlı kurulum dizinidir.Öntanımlı olarak, make install tüm dosyaların
/usr/local/apache2/bin, /usr/local/apache2/lib
gibi dizinlere kurulmasını sağlar. Kurulum dizini önekini örneğin,
--prefix=$HOME şeklinde belirterek kurulumun başka bir yere
yapılmasını sağlayabilirsiniz.
--enable-layout=LAYOUTLAYOUT yerleşimine dayalı olduğu varsayımıyla
yapılandırılır. Bu seçenek sayesinde Apache HTTP Sunucusu kurulumu
içinde her dosya türü için farklı bir yer belirleyebilirsiniz.
config.layout dosyasında böyle yapılandırma örnekleri
vardır. Örnekleri izleyerek kendi yapılandırmanızı
oluşturabilirsiniz. Bu dosyada örneğin FOO isimli
yerleşim <Layout FOO>...</Layout> bölümü
içinde düzenlenmiştir ve her yerleşim için böyle ayrı bir bölüm
vardır. Öntanımlı yerleşim Apache’dir.Kurulum dizinlerini daha iyi denetim altında tutmak için aşağıdaki
seçenekler kullanılır. Lütfen, dizin öntanımlılarının
autoconf tarafından tanımlandığına ve seçilen yerleşim
ayarlarının bunları yerini aldığına dikkat ediniz.
--bindir=dizindizin dizinine kurulur. Bunlar
htpasswd, dbmmanage gibi site
yönetimi için yararlı destek programlarıdır. Öntanımlı olarak bu
dosyalar EPREFIX/bin dizinine kurulur.--datadir=dizindizin
dizinine kurulur. Bunların öntanımlı kurulum dizini
PREFIX/share dizinidir. Bu seçenek
autoconf tarafından atanır ve şimdilik
kullanılmamıştır.--includedir=dizindizin dizinine kurulur.
Bunların öntanımlı kurulum dizini
PREFIX/include dizinidir.--infodir=dizindizin dizinine kurulur.
Bunların öntanımlı kurulum dizini
PREFIX/info dizinidir. Bu seçenek şimdilik
kullanılmamıştır.--libdir=dizindizin dizinine
kurulur. Bunların öntanımlı kurulum dizini
PREFIX/lib dizinidir.--libexecdir=dizindizin dizinine kurulur. Öntanımlı olarak
libexecdir bu dizini
EPREFIX/modules olarak tanımlar.--localstatedir=dizindizin
dizinine kurulur. Öntanımlı olarak localstatedir bu
dizini PREFIX/var olarak tanımlar. Bu
seçenek autoconf tarafından atanır ve şimdilik
kullanılmamıştır.--mandir=dizindizin dizinine kurulur.
Öntanımlı olarak mandir bu dizini
EPREFIX/man olarak tanımlar.--oldincludedir=dizindizin dizinine
kurulur. Öntanımlı olarak oldincludedir bu dizini
/usr/include olarak tanımlar. Bu seçenek
autoconf tarafından atanır ve şimdilik
kullanılmamıştır.--sbindir=dizindizin dizinine kurulur. Bunlar
httpd, apache2ctl,
suexec gibi Apache HTTP Sunucusunu çalıştırmak
için gereken programlardır. Öntanımlı olarak sbindir bu
dizini EPREFIX/sbin olarak tanımlar.--sharedstatedir=dizindizin dizinine kurulur. Öntanımlı olarak
sharedstatedir bu dizini
PREFIX/com olarak tanımlar. Bu seçenek
autoconf tarafından atanır ve şimdilik
kullanılmamıştır.--sysconfdir=dizinapache2.conf, mime.types gibi tek
makinelik salt okunur sunucu yapılandırma dosyaları
dizin dizinine kurulur. Öntanımlı olarak
sysconfdir bu dizini
PREFIX/conf olarak tanımlar.Bu seçenekleri Apache HTTP Sunucusunu başka bir platformda çalıştırmak üzere çapraz derleme yaparken kullanılır. Normal durumlarda sunucu derlendiği platformda çalıştırıldığından bu seçenekler kullanılmaz.
--build=derleme-ortamıconfig.guess betiği ile elde edilen sonuç
öntanımlıdır.--host=çalışma-ortamıderleme-ortamı’dır.--target=hedef-ortamhedef-ortam sistem türü için
yapılandırır. Öntanımlı sistem türü
çalışma-ortamı’dır. Bu seçenek
autoconf tarafından atanır ve Apache HTTP Sunucusu için
gerekli değildir.Bu seçenekler HTTP sunucunuzun sahip olmasını istediğiniz özelliklerin hassas olarak ayarlanmasını sağlar.
Bir özelliği etkin kılmak veya iptal etmek için genellikle şu sözdizimi kullanılır:
--disable-özelliközellik özelliğine sahip olmaz. Bu
seçenek--enable-özellik=no seçeneğine
eşdeğerdir.--enable-özellik[=değer]özellik özelliğine sahip olur.
değer belirtilmediği takdirde
yes (evet) öntanımlıdır.--enable-modül=shared--enable-modül=static--enable-filanca seçeneğinin varlığı
configure betiğinin filanca diye
bir modül var olmasa bile bundan şikayetçi olmasına sebep olmaz. Bu
bakımdan dikkatli olunuz.
Modüllerin çoğu öntanımlı olarak derlenir ve ya açıkça iptal edilmek
ya da few veya none anahtar sözcükleri
kullanılarak kaldırılmak zorunda kalınır (ayrıntılar için
--enable-modules, --enable-mods-shared ve
--enable-mods-static seçeneklerine bakın).
Öntanımlı olarak derlenmeyenler ise ya açıkça etkin kılınmak ya da
all veya reallyall anahtar sözcükleriyle
kullanılabilir yapılmak zorunda kalınır.
Hangi modüllerin öntanımlı olarak derlendiğini öğrenmek için
./configure -h veya ./configure --help
komutunu çalıştırın ve çıktıdaki Optional Features
bölümüne bakın. Örnek olarak, mod_example1 ve
mod_example2 modülleriyle ilgilendiğinizi
varsayalım:
Optional Features: ... --disable-example1 example module 1 --enable-example2 example module 2 ...
Burada, mod_example1 öntanımlı olarak etkindir ve
derlenmemesini istiyorsanız --disable-example1
seçeneğini kullanmalısınız. mod_example2 ise öntanımlı
olarak derlenmemektedir ve derlenmesini istiyorsanız
--enable-example2 seçeneğini kullanmalısınız.
Çok Süreçlilik Modülleri veya MPM'ler sunucunun temel davranışını belirler. Sunucuya yüklenebilecek azami MPM sayısı birdir. Kullanılabilecek modüller modül dizininde listelenmiştir.
MPM'ler devingen yükleme için DSO olarak derlenebileceği gibi sunucuyla duruk olarak da ilintilenebilir ve bunlar aşağıdaki seçeneklerle etkin kılınır:
--with-mpm=MPMSunucu için öntanımlı MPM'i seçer. MPM'ler DSO modülleri olarak
derleniyorsa (bak --enable-mpms-shared), bu seçenek
öntanımlı yapılandırma dosyasında yüklenecek MPM'i seçer. Aksi
takdirde, sunucuyla duruk olarak ilintilenecek, kullanılabilir tek
MPM'i seçer.
Bu seçenek belirtilmezse, işletim sisteminiz için öntanımlı olan MPM seçilir.
--enable-mpms-shared=MPM-LISTESİMPM'leri devingen paylaşımlı modül olarak etkinleştirir.
LoadModule yönergesi
kullanılarak bu modüllerden biri devingen olarak yüklenmelidir.
MPM-LISTESİ MPM'lerin aralarına boşluk bırakılarak ve tamamı tek tırnaklarla sarmalanarak oluşturulmuş bir listesidir. Örnek:
--enable-mpms-shared='prefork worker'
Ek olarak, kullandığınız platformda devingen yüklemeyi destekleyen
ve DSO modülü olarak derlenmiş tüm modülleri seçmek için
all anahtar sözcüğünü de kullanabilirsiniz. Örnek:
--enable-mpms-shared=all
Üçüncü parti modülleri etkin kılmak için şu seçenekler kullanılır:
--with-module=modül-türü:modül-dosyası[,modül-türü:modül-dosyası]Durağan ilintili modüller listesine belirtilen modülleri ekler.
Modül kaynak dosyası modül-dosyası, önce
Apache HTTP Sunucusu kaynak ağacı altında
modules/modül-türü alt dizininde aranır.
Modül orada değilse configure betiği
modül-dosyası ile bir mutlak dosya yolu
belirtildiği varsayımıyla kaynak dosyasını
modül-türü alt dizinine kopyalamaya çalışır.
Alt dizin mevcut değilse oluşturulur ve içine standart bir
Makefile.in yerleştirilir.
Bu seçenek tek kaynak dosyasından oluşan küçük harici modülleri eklemek için yararlıdır. Daha karmaşık modüller için modül üreticisi tarafından sağlanan belgelere bakınız.
Durağan ilintili modüller yerine bir DSO modülü derlemek
isterseniz apxs programını kullanınız.
--enable-maintainer-mode--enable-mods-shared=modül-listesiEtkinleştirilip devingen paylaşımlı modül olarak derlenecek
modüllerin listesi belirtilir. Yani, bu modüller LoadModule yönergesi kullanılarak
devingen olarak yüklenir.
modül-listesi tırnak içine alınmış boşluk
ayraçlı modül isimleri listesidir. Modül isimleri önlerindeki
mod_ öneki olmaksızın belirtilirler. Örnek:
--enable-mods-shared='headers rewrite dav'
modül-listesi yerine
reallyall, all, most,
few ve none anahtar sözcükleri de
belirtilebilir. Örneğin,
--enable-mods-shared=most
seçeneği ile çoğu modül DSO modülü olarak derlenir,
--enable-mods-shared=few
seçeneği ile sadece en temel modüller derlenir.
most öntanımlıdır.
Seçilen modüller için LoadModule yönergeleri ana yapılandırma dosyasında
kendiliğinden üretilir. Öntanımlı olarak, --enable-foo
yapılandıma seçeneği ile açıkça seçilen modüller ve gerekli olanlar
dışında kalan LoadModule yönergeleri açıklama haline
getirilir. Yüklü modülleri apache2.conf dosyasındaki
LoadModule yönergelerini
etkin kılarak veya açıklama haline getirerek değiştirebilirsiniz.
LoadModule yönergelerine ek
olarak, derlenmiş tüm modüller
--enable-load-all-modules yapılandırma seçeneği ile de
etkinleştirilebilir.
Yetersizlikler:
--enable-mods-shared=all aslında bütün modüllerin
derlenmesini sağlamaz. Tüm modülleri derlemek için şunu
yapabilirsiniz:
./configure \
--with-ldap \
--enable-mods-shared="all ssl ldap cache proxy authn_alias file_cache authnz_ldap charset_lite dav_lock cache_disk"
--enable-mods-static=modül-listesi--enable-mods-shared seçeneğine benzer. Yani bu
modüller httpd çalıştırılır çalıştırılmaz etkin
olurlar. Yüklenmeleri için LoadModule yönergesine ihtiyaçları
yoktur.--enable-modules=MODULE-LIST--enable-mods-shared gibi davranır ve ek
olarak belirtilen modülleri devingen olarak ilintiler.Özel
none anahtar sözcüğü tüm modüllerin derlenmesini iptal
eder.--enable-v4-mapped--with-port=porthttpd'nin dinleyeceği portu
belirler. Bu port apache2.conf yapılandırma dosyası
üretilirken kullanılır. 80. port öntanımlıdır.--with-program-namehttpd yerine başka bir çalıştırabilir
ismi tanımlar.Buradaki seçenekler seçimlik paketleri tanımlamak için kullanılır.
Bir seçimlik paketi tanımlamak için genellikle şöyle bir sözdizimi kullanılır:
--with-paket[=değer]paket paketi kullanılır. Öntanımlı
değer yes’tir.--without-paketpaket paketi kullanılmaz. Öntanımlı
değer no’dur. Bu seçenek
autoconf tarafından sağlanmıştır ve Apache HTTP
Sunucusu için pek yararlı değildir.--with-apr=dizin|dosyaconfigure betiğine apr-config betiğinin
yolunu belirterek ifade edebilirsiniz. Kurulu APR için bid dizin,
dosya ismi veya mutlak dosya yolu belirtebilirsiniz.
apr-config ya belirttiğiniz dizinde ya da
bin alt dizininde bulunmalıdır.--with-apr-util=dizin|dosyaconfigure
betiğine apu-config betiğinin yolunu belirterek ifade
edebilirsiniz. Kurulu APR için bir dizin, dosya ismi veya mutlak
dosya yolu belirtebilirsiniz. apr-config ya
belirttiğiniz dizinde ya da bin alt dizininde
bulunmalıdır.--with-ssl=dizinmod_ssl modülü etkinse configure
betiği kurulu bir OpenSSL arayacaktır. Kendi SSL/TLS kurulumunuzun
yolunu bu seçenekle belirtebilirsiniz.--with-z=dizinmod_deflate etkinse) configure betiği
kurulu zlib kütüphanesinin yerini tespit etmeye
çalışacaktır. Kendi sıkıştırma kütüphanenizin yerini bu seçenekle
belirtebilirsiniz.Apache HTTP Sunucusunun çeşitli bölümleri,
mod_authn_dbm modülü ve mod_rewrite
modülünün RewriteMap
yönergesi bilgilere erişimi hızlandırmak için basit anahtar/değer
veritabanları kullanırlar. SDBM, APU içinde mevcut olduğundan bu
veritabanı her zaman kullanılabilir durumdadır. Eğer başka veritabanı
türleri kullanmak isterseniz aşağıdaki seçeneklerle bunları etkin
kılabilirsiniz:
--with-gdbm[=dizin-yolu]dizin-yolu belirtilmemişse
configure betiği GNU DBM kurulumunun kütüphanelerini ve
başlık dosyalarını bulunması olası yerlerde arar. Bir
dizin-yolu belirtilmişse
configure betiği kurulumun kütüphanelerini
dizin-yolu/lib altında, başlık dosyalarını
ise dizin-yolu/include altında arayacaktır.
Bundan başka, başlık ve kütüphane dosyalarının bulundukları yerler
iki nokta imi ile ayrılarak dizin-yolu
olarak belirtilebilir.--with-ndbm[=dizin-yolu]--with-gdbm
seçeneği gibidir.--with-berkeley-db[=dizin-yolu]--with-gdbm seçeneği gibidir.DBM seçenekleri APU tarafından sağlanmış olup onun yapılandırma
betiğine aktarılır. Bu seçenekler --with-apr-util
seçeneği ile tanımlanmış bir kurulu APU varsa kullanışlı olur.
HTTP sunucunuz ile birlikte birden fazla DBM gerçeklenimi kullanabilirsiniz. Kullanılacak DBM türünü her zaman çalışma anı yapılandırmanızla yapılandırabilirsiniz.
--enable-static-support--enable-suexecsuexec programının
kullanımını etkinleştirir. Sunucunuz üzerinde suid biti
etkinleştirilmiş bir program çalıştırmanın sistem güvenliğinde
yaratacağı sorunlar hakkında bir fikriniz yoksa bu seçeneği
etkinleştirmeyin. suexec yapılandırma
seçenekleri aşağıda açıklanmıştır.Tek bir destek programını aşağıdaki seçenekleri kullanarak bir durağan ilintili çalıştırılabilir olarak derleyebilirsiniz:
--enable-static-abab programının durağan ilintili sürümü
derlenir.--enable-static-checkgidcheckgid programının durağan ilintili sürümü
derlenir.--enable-static-htdbmhtdbm programının durağan ilintili sürümü
derlenir.--enable-static-htdigesthtdigest programının durağan ilintili sürümü
derlenir.--enable-static-htpasswdhtpasswd programının durağan ilintili sürümü
derlenir.--enable-static-logresolvelogresolve programının durağan ilintili sürümü
derlenir.--enable-static-rotatelogsrotatelogs programının durağan ilintili sürümü
derlenir.suexec yapılandırma seçenekleriAşağıdaki seçeneklerle suexec programının
davranışı hassas bir şekilde ayarlanabilir. Daha ayrıntılı bilgi için
suEXEC yapılandırması ve kurulumuna
bakınız.
--with-suexec-binsuexec çalıştırılabilirinin yeri
belirtilir. Öntanımlı olarak --sbindir ile belirtilen
dizine kurulur (Kurulum dizinlerinde
ince ayar konusuna bakınız).--with-suexec-callersuexec’i çalıştırabilecek
kullanıcı belirtilir. Normalde httpd programını
çalıştıran kullanıcı olmalıdır.--with-suexec-docrootsuexec'e erişebilecek
çalıştırılabilirlerin altında bulunacağı dizin belirtilir.
--datadir/htdocs öntanımlıdır.--with-suexec-gidminsuexec için hedef kullanıcı olmasına izin
verilen en küçük grup kimliğini tanımlamak için kullanılır. 100
öntanımlıdır.--with-suexec-logfilesuexec günlük dosyasının ismi belirtilir.
Öntanımlı olarak bu dosyanın ismi suexec_log olup
--logfiledir seçeneği ile belirtilen dizin altında
bulunur.--with-suexec-safepathsuexec tarafından çalıştırılacak süreçlerin
çalıştırılabilirlerinin bulunabileceği dizinleri PATH
ortam değişkenine tanımlamak için kullanılır.
/usr/local/bin:/usr/bin:/bin öntanımlıdır.--with-suexec-userdirsuexec
tarafından çalıştırılacak süreçlerin çalıştırılabilirlerinin
bulunabileceği alt dizini tanımlar. suexec
programını (mod_userdir tarafından sağlanan)
kullanıcıya özel dizinlerde kullanmak istediğinizde bu gereklidir.
public_html alt dizini öntanımlıdır.--with-suexec-uidminsuexec için hedef kullanıcı olmasına izin
verilen en küçük kullanıcı kimliğini tanımlamak için kullanılır.
100 öntanımlıdır.--with-suexec-umasksuexec tarafından çalıştırılacak süreçler için
umask tanımlar. Sisteminiz için geçerli ayarlar
öntanımlıdır.configure betiğinin yerleri ve isimleri standartlara uygun
olmayan kütüphaneleri ve programları bulmasını yardımcı olan veya
configure betiği tarafından yapılan bazı seçimleri
değiştirmenizi sağlayacak bazı ortam değişkenleri vardır.
CCCFLAGSCPPCPPFLAGSincludedir dizinindeyse bunu
-Iincludedir seçeneği olarak
belirtebilirsiniz.LDFLAGSlibdir dizinindeyse bunu
-Llibdir seçeneği olarak belirtebilirsiniz.