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=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
htpasswd
, dbmmanage
gibi site
yönetimi için yararlı destek programlarıdır. Öntanımlı olarak bu
dosyalar 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/modules
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
httpd
, apachectl
,
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=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/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-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.
Modüllerin çoğu öntanımlı olarak derlenir ve ya açıkça iptal edilmek
ya da few
anahtar sözcüğü
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). Bir grubu
tamamen kaldırmak için --enable-modules=none
gerekir.
Ö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=MPM
Sunucu 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-listesi
Etkinleş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
ve
few
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 httpd.conf
dosyasındaki