Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut apxs'dir.
Program:
ADI
apxs - APache eXtenSion aracı
SİNOPSİS
apx'ler -g [ -S isim=değer ] -n mod adı
apx'ler -q [ -v ] [ -S isim=değer ] sorgu ...
apx'ler -c [ -S isim=değer ] [ -o dso dosyası ] [ -I indir ] [ -D isim=değer ] [ -L libdir ] [
-l kütüphane adı ] [ -Tuvalet,derleyici bayrakları ] [ -Wl,bağlayıcı bayraklar ] Dosyaları ...
apx'ler -i [ -S isim=değer ] [ -n mod adı ] [ -a ] [ -A ] dso dosyası ...
apx'ler -e [ -S isim=değer ] [ -n mod adı ] [ -a ] [ -A ] dso dosyası ...
ÖZET
apxs, Apache HyperText için uzantı modülleri oluşturmak ve kurmak için bir araçtır
Aktarım Protokolü (HTTP) sunucusu. Bu, dinamik bir paylaşılan nesne oluşturularak elde edilir.
(DSO) bir veya daha fazla kaynak veya nesneden Dosyaları hangi daha sonra Apache'ye yüklenebilir
mod_so'dan LoadModule yönergesi aracılığıyla çalışma zamanı altında sunucu.
Dolayısıyla, bu genişletme mekanizmasını kullanmak için platformunuzun DSO özelliğini desteklemesi ve
Apache httpd ikili dosyası mod_so modülü ile oluşturulmalıdır. apxs aracı otomatik olarak
durum böyle değilse şikayet eder. Bunu manuel olarak çalıştırarak kendiniz kontrol edebilirsiniz.
komuta
$ httpd-l
mod_so modülü, görüntülenen listenin bir parçası olmalıdır. Bu gereksinimler ise
yerine getirildiğinde, kendi sunucunuzu kurarak Apache sunucunuzun işlevselliğini kolayca genişletebilirsiniz.
Bu apxs aracının yardımıyla DSO mekanizmasına sahip modüller:
$ apxs -i -a -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/yol/to/apache/include -c mod_foo.c
ld -Bpaylaşılabilir -o mod_foo.so mod_foo.o
cp mod_foo.so /yol/to/Apache/modules/mod_foo.so
chmod 755 /yol/to/Apache/modules/mod_foo.so
[/path/to/apache/etc/httpd.conf içindeki 'foo' modülünü etkinleştirme]
$ apachectl yeniden başlatma
/path/to/apache/sbin/apachectl restart: httpd çalışmıyor, başlamaya çalışıyor
[31 Mart Salı 11:27:55 1998] [hata ayıklama] mod_so.c(303): yüklenen modül foo_module
/path/to/apache/sbin/apachectl yeniden başlatma: httpd başlatıldı
$_
argümanlar Dosyaları herhangi bir C kaynak dosyası (.c), bir nesne dosyası (.o) veya hatta bir kitaplık olabilir
arşiv (.a). apxs aracı bu uzantıları otomatik olarak tanır ve otomatik olarak
sadece nesneyi ve arşiv dosyalarını kullanırken derleme için C kaynak dosyalarını kullandı.
bağlama aşaması. Ancak bu tür önceden derlenmiş nesneleri kullanırken derlendiklerinden emin olun.
konumdan bağımsız kod (PIC) için bunları dinamik olarak yüklenmiş bir paylaşımlı için kullanabilmek için
nesne. Örneğin GCC ile her zaman sadece -fpic kullanmanız gerekir. Diğer C derleyicileri için
apxs'in nesne dosyalarını derlemek için kullandığı bayraklar için kılavuz sayfasına veya saate bakın.
Apache'deki DSO desteği hakkında daha fazla ayrıntı için mod_so veya belki de belgelerini okuyun.
src/modules/standard/mod_so.c kaynak dosyasını bile okuyun.
SEÇENEKLER
ortak Opsiyonlar
-n mod adı
Bu, -i (kurulum) ve -g (şablon) için modül adını açıkça belirler.
nesil) seçeneği. Modül adını açıkça belirtmek için bunu kullanın. -g seçeneği için
bu gereklidir, -i seçeneği için apxs aracı,
kaynak veya (yedek olarak) en azından dosya adından tahmin ederek.
Sorgu Opsiyonlar
-q httpd oluşturmak için kullanılan değişkenler ve ortam ayarları için bir sorgu gerçekleştirir. Ne zaman
çağrılmadan sorgu parametreleri, bilinen tüm değişkenleri ve değerlerini yazdırır.
İsteğe bağlı -v parametresi, liste çıktısını biçimlendirir. .PP Bunu manuel olarak
modülünüzü yükleyecek httpd'yi oluşturmak için kullanılan ayarları belirleyin. Örneğin
kılavuza ihtiyacınız varsa, kendi Makefile dosyalarınızda INC=-I`apxs -q INCLUDEDIR` .PP kullanın
Apache'nin C başlık dosyalarına erişim.
yapılandırma Opsiyonlar
-S isim=değer
Bu seçenek, yukarıda açıklanan apxs ayarlarını değiştirir.
şablon nesil Opsiyonlar
-g Bu bir alt dizin oluşturur isim ( -n seçeneğine bakın) ve iki dosya var: Bir örnek
mod_ adlı modül kaynak dosyasıisim.c oluşturmak için şablon olarak kullanılabilecek
kendi modülleriniz veya apxs mekanizmasıyla oynamak için hızlı bir başlangıç olarak. ve bir
Bu modülün daha da kolay oluşturulması ve kurulması için ilgili Makefile.
DSO Derleme Opsiyonlar
-c Bu, derleme işlemini gösterir. Önce C kaynak dosyalarını (.c) derler.
of Dosyaları ilgili nesne dosyalarına (.o) dönüştürür ve ardından dinamik olarak paylaşılan bir
nesne dso dosyası bu nesne dosyalarını artı kalan nesne dosyalarını (.o
ve .a) Dosyaları. -o seçeneği belirtilmemişse, çıktı dosyası
ilk dosya adı Dosyaları ve bu nedenle genellikle varsayılan olarak mod_isim.Bu yüzden.
-o dso dosyası
Oluşturulan dinamik olarak paylaşılan nesnenin dosya adını açıkça belirtir. değilse
belirtilen ve adı tahmin edilemez Dosyaları liste, yedek ad
mod_unknown.so kullanılır.
-D isim=değer
Bu seçenek doğrudan derleme komut(lar)ına iletilir. Bunu kullanmak için
oluşturma işlemine kendi tanımlarınızı ekleyin.
-I indir
Bu seçenek doğrudan derleme komut(lar)ına iletilir. Bunu kullanmak için
oluşturma işleminde arama yapmak için kendi içerme dizinlerinizi ekleyin.
-L libdir
Bu seçenek doğrudan linker komutuna iletilir. eklemek için bunu kullanın
oluşturma sürecini aramak için kendi kitaplık dizinleri.
-l kütüphane adı
Bu seçenek doğrudan linker komutuna iletilir. eklemek için bunu kullanın
oluşturma sürecini aramak için kendi kitaplıklarınız.
-Tuvalet,derleyici bayrakları
Bu seçenek geçer derleyici bayrakları libtool --mode=compile için ek bayraklar olarak
emretmek. Yerel derleyiciye özel seçenekler eklemek için bunu kullanın.
-WI,bağlayıcı bayraklar
Bu seçenek geçer bağlayıcı bayraklar libtool --mode=link için ek bayraklar olarak
emretmek. Yerel bağlayıcıya özgü seçenekler eklemek için bunu kullanın.
-p Bu seçenek, apx'lerin apr/nisan-util kitaplıklarına bağlanmasına neden olur. Bu kullanışlı
apr/nisan-util kitaplıklarını kullanan yardımcı programları derlerken.
DSO Montaj ve yapılandırma Opsiyonlar
-i Bu, kurulum işlemini gösterir ve bir veya daha fazlasını dinamik olarak kurar
sunucunun içine paylaşılan nesneler modüller dizin.
-a Bu, ilgili LoadModule satırını otomatik olarak ekleyerek modülü etkinleştirir
Apache'nin httpd.conf yapılandırma dosyasına veya zaten varsa etkinleştirerek.
-A -a seçeneğiyle aynıdır, ancak oluşturulan LoadModule yönergesinin önüne bir kare işareti eklenir
(#), yani, modül daha sonra etkinleştirilmek üzere hazırlanır, ancak başlangıçta devre dışı bırakılır.
-e Bu, -a ve -A seçenekleriyle kullanılabilen düzenleme işlemini belirtir.
Apache'nin httpd.conf yapılandırma dosyasını düzenlemek için -i işlemine benzer şekilde
modülü kurmaya çalışmadan.
ÖRNEKLER
Apache'nin modülünü genişletmesi gereken mod_foo.c adında bir Apache modülünüz olduğunu varsayalım.
sunucu işlevselliği. Bunu başarmak için önce C kaynağını bir
Aşağıdakiler aracılığıyla çalışma zamanı altında Apache sunucusuna yüklenmeye uygun paylaşılan nesne
komut:
$ apxs -c mod_foo.c
/path/to/libtool --mode=gcc derleyin ... -c mod_foo.c
/path/to/libtool --mode=bağ gcc ... -o mod_foo.la mod_foo.slo
$_
Ardından, bir LoadModule yönergesinin doğru olduğundan emin olarak Apache yapılandırmasını güncellemeniz gerekir.
bu paylaşılan nesneyi yüklemek için mevcut. Bu adımı basitleştirmek için apxs otomatik bir yol sağlar
paylaşılan nesneyi "modüller" dizinine kurmak ve httpd.conf dosyasını güncellemek için
buna göre. Bu, aşağıdakileri çalıştırarak başarılabilir:
$ apxs -i -a mod_foo.la
/path/to/instdso.sh mod_foo.la /path/to/apache/modüller
/path/to/libtool --mode=cp mod_foo.la kurulumunu yapın /path/to/apache/modules
...
chmod 755 /yol/to/Apache/modules/mod_foo.so
[/path/to/apache/conf/httpd.conf içindeki 'foo' modülünü etkinleştirme]
$_
Bu şekilde adlandırılmış bir satır
LoadModule foo_module modülleri/mod_foo.so
hala yoksa yapılandırma dosyasına eklenir. Bunu devre dışı bırakmak istiyorsanız
varsayılan olarak -A seçeneğini kullanın, yani
$ apxs -i -A mod_foo.c
apxs mekanizmasının hızlı bir testi için örnek bir Apache modülü şablonu artı oluşturabilirsiniz.
ilgili bir Makefile aracılığıyla:
$ apxs -g -n foo
[DIR] foo oluşturuluyor
[FILE] foo/Makefile oluşturma
[FILE] foo/modules.mk oluşturma
[DOSYA] foo/mod_foo.c oluşturuluyor
[DOSYA] foo/.deps oluşturma
$_
Ardından, bu örnek modülü hemen paylaşılan bir nesnede derleyebilir ve onu
Apache sunucusu:
$ cd foo
$ hepsini yeniden yükle
apxs -c mod_foo.c
/path/to/libtool --mode=gcc derleyin ... -c mod_foo.c
/path/to/libtool --mode=bağ gcc ... -o mod_foo.la mod_foo.slo
apxs -i -a -n "foo" mod_foo.la
/path/to/instdso.sh mod_foo.la /path/to/apache/modüller
/path/to/libtool --mode=cp mod_foo.la kurulumunu yapın /path/to/apache/modules
...
chmod 755 /yol/to/Apache/modules/mod_foo.so
[/path/to/apache/conf/httpd.conf içindeki 'foo' modülünü etkinleştirme]
apachectl yeniden başlatma
/path/to/apache/sbin/apachectl restart: httpd çalışmıyor, başlamaya çalışıyor
[31 Mart Salı 11:27:55 1998] [hata ayıklama] mod_so.c(303): yüklenen modül foo_module
/path/to/apache/sbin/apachectl yeniden başlatma: httpd başlatıldı
$_
apxs'i onworks.net hizmetlerini kullanarak çevrimiçi kullanın