To jest polecenie apxs, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
apxs - narzędzie APache eXtenSion
STRESZCZENIE
Apxs -g [-S Nazwa=wartość ] -n nazwa modu
Apxs -q [-v ] [ -S Nazwa=wartość ] pytanie ...
Apxs -c [-S Nazwa=wartość ] [ -o dsfile ] [ -I wł. reż ] [ -D Nazwa=wartość ] [ -L libdira ] [
-l nazwa_biblioteki ] [ -wc,flagi-kompilatora ] [ -Wł,flagi linkera ] pliki ...
Apxs -i [-S Nazwa=wartość ] [ -n nazwa modu ] [ -a ] [ -A ] plik dso ...
Apxs -e [-S Nazwa=wartość ] [ -n nazwa modu ] [ -a ] [ -A ] plik dso ...
PODSUMOWANIE
apxs to narzędzie do budowania i instalowania modułów rozszerzeń dla Apache HyperText
Serwer protokołu transferu (HTTP). Osiąga się to poprzez budowanie dynamicznego wspólnego obiektu
(DSO) z jednego lub więcej źródeł lub obiektów pliki które następnie można załadować do Apache
serwer w czasie wykonywania za pomocą dyrektywy LoadModule z mod_so.
Aby korzystać z tego mechanizmu rozszerzenia, Twoja platforma musi obsługiwać funkcję DSO, a Twój
Binarny plik httpd Apache musi być zbudowany z modułem mod_so. Narzędzie apxs automatycznie
narzeka, jeśli tak nie jest. Możesz to sprawdzić samodzielnie, uruchamiając ręcznie
komenda
$ httpd -l
Moduł mod_so powinien być częścią wyświetlanej listy. Jeśli te wymagania są
spełnione, możesz łatwo rozszerzyć funkcjonalność serwera Apache, instalując własny
moduły z mechanizmem DSO za pomocą tego narzędzia apxs:
$ apxs -i -a -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I/ścieżka/do/apache/include -c mod_foo.c
ld -Bshareable -o mod_foo.so mod_foo.o
cp mod_foo.so /ścieżka/do/apache/modules/mod_foo.so
chmod 755 /ścieżka/do/apache/modules/mod_foo.so
[aktywacja modułu `foo' w /ścieżka/do/apache/etc/httpd.conf]
$ restart Apachectl
/ścieżka/do/apache/sbin/apachectl restart: httpd nie działa, próbuję uruchomić
[Wto 31 Mar 11:27:55 1998] [debugowanie] mod_so.c(303): załadowany moduł foo_module
/path/to/apache/sbin/apachectl restart: httpd uruchomiony
$_
Argumenty pliki może być dowolnym plikiem źródłowym C (.c), plikiem obiektowym (.o) lub nawet biblioteką
archiwum (.a). Narzędzie apxs automatycznie rozpoznaje te rozszerzenia i automatycznie
użył plików źródłowych C do kompilacji, używając tylko plików obiektów i archiwów do
faza łączenia. Ale używając takich prekompilowanych obiektów, upewnij się, że są skompilowane
dla kodu niezależnego od pozycji (PIC), aby móc z nich korzystać dla dynamicznie ładowanego współdzielonego
obiekt. Na przykład z GCC zawsze wystarczy użyć -fpic. Dla innych kompilatorów C
zajrzyj na jego stronę podręcznika lub poszukaj flag, których używa apxs do kompilacji plików obiektowych.
Aby uzyskać więcej informacji na temat obsługi DSO w Apache, przeczytaj dokumentację mod_so lub być może
nawet przeczytaj plik źródłowy src/modules/standard/mod_so.c.
OPCJE
wspólny Opcje
-n nazwa modu
To jawnie ustawia nazwę modułu dla -i (instalacja) i -g (szablon
generacji). Użyj tego, aby jawnie określić nazwę modułu. Dla opcji -g
jest to wymagane, dla opcji -i narzędzie apxs próbuje określić nazwę z
źródło lub (jako rezerwa) przynajmniej przez odgadnięcie go z nazwy pliku.
Pytanie Opcje
-q Wykonuje zapytanie o zmienne i ustawienia środowiska używane do budowania httpd. Kiedy
przywołany bez pytanie parametrów, wypisuje wszystkie znane zmienne i ich wartości.
Opcjonalny parametr -v formatuje dane wyjściowe listy. .PP Użyj tego, aby ręcznie
określ ustawienia użyte do zbudowania httpd, który załaduje twój moduł. Na przykład
użyj INC=-I`apxs -q INCLUDEDIR` .PP wewnątrz własnych plików Makefile, jeśli potrzebujesz instrukcji
dostęp do plików nagłówkowych Apache w C.
systemu Opcje
-S Nazwa=wartość
Ta opcja zmienia ustawienia apxs opisane powyżej.
szablon Pożądania Opcje
-g To generuje podkatalog Nazwa (patrz opcja -n) i tam dwa pliki: Próbka
plik źródłowy modułu o nazwie mod_Nazwa.c, który można wykorzystać jako szablon do tworzenia
własne moduły lub jako szybki start do zabawy z mechanizmem apxs. I
odpowiedni plik Makefile dla jeszcze łatwiejszej budowy i instalacji tego modułu.
DSO Kompilacja Opcje
-c Wskazuje operację kompilacji. Najpierw kompiluje pliki źródłowe C (.c)
of pliki do odpowiednich plików obiektowych (.o), a następnie buduje dynamicznie współdzielony
obiekt w dsfile łącząc te pliki obiektowe oraz pozostałe pliki obiektowe (.o
i .a) z pliki. Jeśli nie podano opcji -o, plik wyjściowy jest odgadywany z
pierwsza nazwa pliku w pliki i dlatego zwykle domyślnie mod_Nazwa.więc.
-o dsfile
Jawnie określa nazwę pliku utworzonego obiektu współdzielonego dynamicznie. Jeśli nie
określone, a nazwy nie można odgadnąć z pliki lista, nazwa rezerwowa
używany jest mod_unknown.so.
-D Nazwa=wartość
Ta opcja jest bezpośrednio przekazywana do poleceń kompilacji. Użyj tego, aby
dodaj własne definicje do procesu kompilacji.
-I wł. reż
Ta opcja jest bezpośrednio przekazywana do poleceń kompilacji. Użyj tego, aby
dodaj własne katalogi include, aby przeszukiwać proces kompilacji.
-L libdira
Ta opcja jest bezpośrednio przekazywana do polecenia konsolidatora. Użyj tego, aby dodać swoje
własne katalogi biblioteczne do wyszukiwania w procesie budowania.
-l nazwa_biblioteki
Ta opcja jest bezpośrednio przekazywana do polecenia konsolidatora. Użyj tego, aby dodać swoje
własne biblioteki do wyszukiwania w procesie budowania.
-Toaleta,flagi-kompilatora
Ta opcja przechodzi flagi-kompilatora jako dodatkowe flagi do libtool --mode=kompilacja
Komenda. Użyj tego, aby dodać lokalne opcje specyficzne dla kompilatora.
-Wl,flagi linkera
Ta opcja przechodzi flagi linkera jako dodatkowe flagi do libtool --mode=link
Komenda. Użyj tego, aby dodać lokalne opcje specyficzne dla konsolidatora.
-p Ta opcja powoduje, że apxs łączy się z bibliotekami apr/apr-util. To jest przydatne
podczas kompilowania programów pomocniczych, które używają bibliotek apr/apr-util.
DSO Instalacja i systemu Opcje
-i Wskazuje operację instalacji i instaluje jeden lub więcej dynamicznie
współdzielone obiekty do serwera Moduły katalogiem.
-a To aktywuje moduł poprzez automatyczne dodanie odpowiedniej linii LoadModule
do pliku konfiguracyjnego httpd.conf Apache lub włączając go, jeśli już istnieje.
-A To samo co opcja -a, ale utworzona dyrektywa LoadModule jest poprzedzona znakiem hash
(#), tj., moduł jest właśnie przygotowywany do późniejszej aktywacji, ale początkowo jest wyłączony.
-e Wskazuje operację edycji, której można użyć z opcjami -a i -A
podobnie do operacji -i w celu edycji pliku konfiguracyjnego httpd.conf Apache
bez próby instalacji modułu.
PRZYKŁADY
Załóżmy, że masz dostępny moduł Apache o nazwie mod_foo.c, który powinien rozszerzyć moduł Apache
funkcjonalność serwera. Aby to osiągnąć, musisz najpierw skompilować źródło C do A
udostępniony obiekt odpowiedni do załadowania na serwer Apache w czasie wykonywania za pomocą następujących
polecenie:
$ apxs -c mod_foo.c
/ścieżka/do/libtool --mode=kompilacja gcc ... -c mod_foo.c
/ścieżka/do/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
$_
Następnie musisz zaktualizować konfigurację Apache, upewniając się, że dyrektywa LoadModule jest
obecny, aby załadować ten udostępniony obiekt. Aby uprościć ten krok, apxs zapewnia automatyczny sposób
zainstalować udostępniony obiekt w jego katalogu "modules" i zaktualizować plik httpd.conf
odpowiednio. Można to osiągnąć, uruchamiając:
$ apxs -i -a mod_foo.la
/ścieżka/do/instdso.sh mod_foo.la /ścieżka/do/apache/moduły
/ścieżka/do/libtool --mode=zainstaluj cp mod_foo.la /ścieżka/do/apache/modules
...
chmod 755 /ścieżka/do/apache/modules/mod_foo.so
[aktywacja modułu `foo' w /ścieżka/do/apache/conf/httpd.conf]
$_
W ten sposób linia o nazwie
LoadModule moduły foo_module/mod_foo.so
zostanie dodany do pliku konfiguracyjnego, jeśli nadal nie jest obecny. Jeśli chcesz to wyłączyć
domyślnie użyj opcji -A, tj.
$ apxs -i -A mod_foo.c
W celu szybkiego przetestowania mechanizmu apxs możesz stworzyć przykładowy szablon modułu Apache plus
odpowiedni plik Makefile za pośrednictwem:
$ apxs -g -n foo
Tworzenie [DIR] foo
Tworzenie [PLIK] foo/Makefile
Tworzenie [PLIK] foo/modules.mk
Tworzenie [PLIK] foo/mod_foo.c
Tworzenie [PLIK] foo/.deps
$_
Następnie możesz natychmiast skompilować ten przykładowy moduł do współdzielonego obiektu i załadować go do
serwer Apache:
$ CD foo
$ przeładuj wszystko
apxs -c mod_foo.c
/ścieżka/do/libtool --mode=kompilacja gcc ... -c mod_foo.c
/ścieżka/do/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
apxs -i -a -n "foo" mod_foo.la
/ścieżka/do/instdso.sh mod_foo.la /ścieżka/do/apache/moduły
/ścieżka/do/libtool --mode=zainstaluj cp mod_foo.la /ścieżka/do/apache/modules
...
chmod 755 /ścieżka/do/apache/modules/mod_foo.so
[aktywacja modułu `foo' w /ścieżka/do/apache/conf/httpd.conf]
restart Apachectl
/ścieżka/do/apache/sbin/apachectl restart: httpd nie działa, próbuję uruchomić
[Wto 31 Mar 11:27:55 1998] [debugowanie] mod_so.c(303): załadowany moduł foo_module
/path/to/apache/sbin/apachectl restart: httpd uruchomiony
$_
Używaj apxs online, korzystając z usług onworks.net