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=dosya
dosya
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-create
configure
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
--quiet
checking ...
iletilerini basmaz.
--srcdir=dizin
dizin
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=PREFIX
PREFIX
dizininin
altına kurulur. /usr/local/apache2
öntanımlı kurulum
dizinidir.--exec-prefix=EPREFIX
EPREFIX
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=LAYOUT
LAYOUT
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=dizin
dizin
dizinine kurulur. Bunlar
EPREFIX/bin
dizinine kurulur.--datadir=dizin
dizin
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=dizin
dizin
dizinine kurulur.
Bunların öntanımlı kurulum dizini
PREFIX/include
dizinidir.--infodir=dizin
dizin
dizinine kurulur.
Bunların öntanımlı kurulum dizini
PREFIX/info
dizinidir. Bu seçenek şimdilik
kullanılmamıştır.--libdir=dizin
dizin
dizinine
kurulur. Bunların öntanımlı kurulum dizini
PREFIX/lib
dizinidir.--libexecdir=dizin
dizin
dizinine kurulur. Öntanımlı olarak
libexecdir
bu dizini
EPREFIX/libexec
olarak tanımlar.--localstatedir=dizin
dizin
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=dizin
dizin
dizinine kurulur.
Öntanımlı olarak mandir
bu dizini
EPREFIX/man
olarak tanımlar.--oldincludedir=dizin
dizin
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=dizin
dizin
dizinine kurulur. Bunlar
sbindir
bu
dizini EPREFIX/sbin
olarak tanımlar.--sharedstatedir=dizin
dizin
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=dizin
httpd.conf
, mime.types
gibi tek
makinelik salt okunur sunucu yapılandırma dosyaları
dizin
dizinine kurulur. Öntanımlı olarak
sysconfdir
bu dizini PREFIX/etc
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-ortam
hedef-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.
Bazı modüller öntanımlı olarak derlendiğinden iptal edilmek istenirse bunun açıkça belirtilmesi gerekir. Aşağıdaki seçenekler bu tür modüllerin diğerlerinden bağımsız olarak derlenmemesini sağlar.
--disable-actions
--disable-alias
--disable-asis
--disable-auth
--disable-autoindex
--disable-access
--disable-cgi
--disable-cgid
--disable-charset-lite
--disable-dir
--disable-env
--disable-http
http
modülü
en temel modüldür ve sunucunun bir HTTP sunucusu olarak çalışmasını
sağlar. Sadece, HTTP protokolü yerine başka bir protokol kullanmak
isterseniz bu seçeneği kullunın. Ne yaptığınızdan gerçekten
emin olamıyorsanız bu desteği asla iptal etmeyin.
--disable-imagemap
--disable-include
--disable-log-config
--disable-mime
--disable-negotiation
--disable-setenvif
--disable-status
--disable-userdir
Bazı modüller öntanımlı olarak derlendiği halde açıkça istenmedikçe
veya most
ya da all
anahtar sözcükleri
kullanılmadıkça etkin kılınmazlar (bu konu, aşağıda --enable-mods-shared
seçeneğinde daha ayrıntılı ele alınmıştır). Bu modülleri
etkinleştirmek için aşağıdaki seçenekleri kullanabilirsiniz.
--enable-authn-anon
--enable-authn-dbm
--enable-authz-dbm
--enable-auth-digest
--enable-authnz-ldap
--enable-cache
--enable-cern-meta
--enable-charset-lite
--enable-dav
http
protokolü
modülü ile birlikte kullanılabilir.--enable-dav-fs
--enable-dav
seçeneğini de
kullanmalısınız.--enable-dav-lock
--enable-dav
ile birlikte kullanmalısınız.--enable-deflate
--enable-disk-cache
--enable-expires
Expires
başlığıyla denetim etkin kılınır.--enable-ext-filter
--enable-file-cache
--enable-headers
--enable-info
--enable-ldap
--enable-logio
--enable-mime-magic
--enable-isapi
--enable-proxy
AJP13
,
CONNECT
, FTP
, HTTP
ve
dengeleyici vekil yetenekleri ayrı olarak
--enable-proxy-ajp
AJP13
(Apache JServ Protokolü 1.3) için vekil desteği
etkin kılınır. Bu modül --enable-proxy
seçeneği ile birlikte kullanmalısınız.--enable-proxy-balancer
AJP13
, FTP
ve HTTP
protokollerine yük dengeleme desteği etkin kılınır. Bu modül
--enable-proxy
seçeneği ile birlikte
kullanmalısınız.--enable-proxy-connect
CONNECT
isteklerine vekil desteği etkin kılınır. Bu
modül --enable-proxy
seçeneği ile
birlikte kullanmalısınız.--enable-proxy-ftp
FTP
isteklerine vekil desteği etkin kılınır. Bu modül
--enable-proxy
seçeneği ile birlikte
kullanmalısınız.--enable-proxy-http
HTTP
isteklerine vekil desteği etkin kılınır. Bu modül
--enable-proxy
seçeneği ile birlikte
kullanmalısınız.--enable-rewrite
--enable-so
--enable-mods-shared
seçeneği bu
seçeneği de etkin kılar.--enable-speling
--enable-ssl
--enable-unique-id
--enable-usertrack
--enable-vhost-alias
Aşağıdakiler geliştiricilerin yaptıklarını sınamalar için yararlı modülleri etkinleştiren seçeneklerdir. Bu seçenekler öntanımlı olarak etkin değildir. Bu modüllere ihtiyacınız olup olmadığı konusunda bir fikriniz yoksa bu bölümü atlayabilirsiniz.
--enable-bucketeer
mod_bucketeer
modülü tarafından sağlanan veri
kümelerine müdahale süzgeci etkin kılınır.--enable-case-filter
mod_case_filter
modülünün sağladığı çıktıda büyük
harfe dönüşüm süzgeci örneği etkin kılınır.--enable-case-filter-in
mod_case_filter_in
modülünün sağladığı girdide büyük
harfe dönüşüm süzgeci örneği etkin kılınır.--enable-echo
--enable-example
--enable-optional-fn-export
mod_optional_fn_export
modülünün sağladığı seçimlik
işlev ihraç örneği etkin kılınır.--enable-optional-fn-import
mod_optional_fn_import
modülünün sağladığı seçimlik
işlev ithal örneği etkin kılınır.--enable-optional-hook-export
mod_optional_hook_export
modülünün sağladığı seçimlik
kanca işlev ihraç örneği etkin kılınır.--enable-optional-hook-import
mod_optional_hook_import
modülünün sağladığı seçimlik
kanca işlev ithal örneği etkin kılınır.Gereken çok süreçlilik modüllerini ve üçü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
--with-mpm=MPM
--enable-maintainer-mode
--enable-mods-shared=modül-listesi
Etkinleştirilip devingen paylaşımlı modül olarak derlenecek
modüllerin listesi belirtilir. Yani, bu modüller
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:
modül-listesi
yerine all
ve
most
anahtar sözcükleri de belirtilebilir.
Örneğin,
seçeneği ile çoğu modül DSO modülü olarak derlenecektir.
Yetersizlikler:
--enable-mods-shared=all
aslında bütün modüllerin
derlenmesini sağlamaz. Tüm modülleri derlemek için şunu
yapabilirsiniz:
--enable-modules=modül-listesi
--enable-mods-shared
seçeneğine benzer. Yani bu
modüller --enable-v4-mapped
--with-port=port
httpd.conf
yapılandırma dosyası
üretilirken kullanılır. 80. port öntanımlıdır.--with-program-name
httpd
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-paket
paket
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|dosya
configure
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|dosya
configure
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=dizin
configure
betiği kurulu bir OpenSSL arayacaktır. Kendi SSL/TLS kurulumunuzun
yolunu bu seçenekle belirtebilirsiniz.--with-z=dizin
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,
--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-suexec
Tek bir destek programını aşağıdaki seçenekleri kullanarak bir durağan ilintili çalıştırılabilir olarak derleyebilirsiniz:
--enable-static-ab
--enable-static-checkgid
checkgid
programının durağan ilintili sürümü
derlenir.--enable-static-htdbm
--enable-static-htdigest
--enable-static-htpasswd
--enable-static-logresolve
--enable-static-rotatelogs
suexec
yapılandırma seçenekleriAşağıdaki seçeneklerle
--with-suexec-bin
--sbindir
ile belirtilen
dizine kurulur (Kurulum dizinlerinde
ince ayar konusuna bakınız).--with-suexec-caller
--with-suexec-docroot
--datadir/htdocs
öntanımlıdır.--with-suexec-gidmin
--with-suexec-logfile
suexec_log
olup
--logfiledir
seçeneği ile belirtilen dizin altında
bulunur.--with-suexec-safepath
PATH
ortam değişkenine tanımlamak için kullanılır.
/usr/local/bin:/usr/bin:/bin
öntanımlıdır.--with-suexec-userdir
public_html
alt dizini öntanımlıdır.--with-suexec-uidmin
--with-suexec-umask
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.
CC
CFLAGS
CPP
CPPFLAGS
includedir
dizinindeyse bunu
-Iincludedir
seçeneği olarak
belirtebilirsiniz.LDFLAGS
libdir
dizinindeyse bunu
-Llibdir
seçeneği olarak belirtebilirsiniz.