Este es el comando apxs que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
apxs - herramienta APache eXtenSion
SINOPSIS
apx -g [-S nombre =propuesta de ]-n nombre mod
apx -q [-v ] [-S nombre =propuesta de ] pregunta ...
apx -c [-S nombre =propuesta de ] [-o archivo dso ] [-I incdir ] [-D nombre =propuesta de ] [-L libdir ] [
-l nombrelib ] [-wc,banderas del compilador ] [-Wl,banderas-enlazador ] archivos ...
apx -i [-S nombre =propuesta de ] [-n nombre mod ] [-a ] [-A ] archivo-dso ...
apx -e [-S nombre =propuesta de ] [-n nombre mod ] [-a ] [-A ] archivo-dso ...
RESUMEN
apxs es una herramienta para construir e instalar módulos de extensión para Apache HyperText
Servidor de Protocolo de transferencia (HTTP). Esto se logra mediante la construcción de un objeto compartido dinámico
(DSO) de una o más fuentes u objetos archivos que luego se puede cargar en el Apache
servidor en tiempo de ejecución a través de la directiva LoadModule de mod_so.
Entonces, para usar este mecanismo de extensión, su plataforma debe admitir la función DSO y su
El binario httpd de Apache debe construirse con el módulo mod_so. La herramienta apxs automáticamente
se queja si este no es el caso. Puede comprobarlo usted mismo ejecutando manualmente el
comando
$ httpd-l
El módulo mod_so debería formar parte de la lista mostrada. Si estos requisitos son
cumplido, puede ampliar fácilmente la funcionalidad de su servidor Apache instalando su propio
módulos con el mecanismo DSO con la ayuda de esta herramienta apxs:
$ apxs -i -a -c mod_foo.c
gcc -fpic -DSHARED_MODULE -I / ruta / a / apache / include -c mod_foo.c
ld -Bcompartible -o mod_foo.so mod_foo.o
cp mod_foo.so /ruta/a/apache/modules/mod_foo.so
chmod 755 /ruta/a/apache/modules/mod_foo.so
[activando el módulo `foo 'en /path/to/apache/etc/httpd.conf]
$ apachectl reiniciar
/ ruta / a / apache / sbin / apachectl reiniciar: httpd no se está ejecutando, intentando iniciar
[Mar 31 de marzo 11:27:55 1998] [depuración] mod_so.c(303): módulo cargado foo_module
/ ruta / a / apache / sbin / apachectl reiniciar: httpd iniciado
PS
Los argumentos archivos puede ser cualquier archivo fuente C (.c), un archivo objeto (.o) o incluso una biblioteca
archivo (.a). La herramienta apxs reconoce automáticamente estas extensiones y automáticamente
usó los archivos fuente de C para la compilación mientras solo usaba el objeto y los archivos de almacenamiento para
la fase de vinculación. Pero cuando use tales objetos precompilados, asegúrese de que estén compilados
para el código independiente de la posición (PIC) para poder usarlos para un compartido cargado dinámicamente
objeto. Por ejemplo, con GCC siempre tienes que usar -fpic. Para otros compiladores de C
consulte su página de manual o esté atento a las banderas que apxs usa para compilar los archivos objeto.
Para obtener más detalles sobre el soporte de DSO en Apache, lea la documentación de mod_so o quizás
incluso leer el archivo fuente src / modules / standard / mod_so.c.
OPCIONES
Algunos De Seguros
-n nombre mod
Esto establece explícitamente el nombre del módulo para -i (instalar) y -g (plantilla
generación) opción. Use esto para especificar explícitamente el nombre del módulo. Para la opción -g
esto es necesario, para la opción -i, la herramienta apxs intenta determinar el nombre de la
source o (como alternativa) al menos adivinándolo por el nombre del archivo.
Consulta De Seguros
-q Realiza una consulta de las variables y la configuración del entorno utilizada para construir httpd. Cuando
invocado sin pregunta parámetros, imprime todas las variables conocidas y sus valores.
El parámetro -v opcional formatea la salida de la lista. .PP Use esto para manualmente
Determine la configuración utilizada para construir el httpd que cargará su módulo. Por ejemplo
use INC = -I`apxs -q INCLUDEDIR` .PP dentro de sus propios Makefiles si necesita un manual
acceso a los archivos de encabezado C de Apache.
Configuración De Seguros
-S nombre =propuesta de
Esta opción cambia la configuración de apxs descrita anteriormente.
Plantilla Generation De Seguros
-g Esto genera un subdirectorio nombre (vea la opción -n) y hay dos archivos: Una muestra
archivo de origen del módulo llamado mod_nombre .c que se puede utilizar como plantilla para crear
sus propios módulos o como un comienzo rápido para jugar con el mecanismo apxs. Y un
Makefile correspondiente para una construcción e instalación aún más fácil de este módulo.
DSO Compilación De Seguros
-c Indica la operación de compilación. Primero compila los archivos fuente de C (.c)
of archivos en los archivos de objeto correspondientes (.o) y luego crea un archivo compartido dinámicamente
objeto en archivo dso vinculando estos archivos de objeto más los archivos de objeto restantes (.o
y .a) de archivos. Si no se especifica la opción -o, el archivo de salida se adivina a partir de la
primer nombre de archivo en archivos y por lo tanto, por defecto es mod_nombre .asi que.
-o archivo dso
Especifica explícitamente el nombre de archivo del objeto compartido dinámicamente creado. Que no
especificado y el nombre no se puede adivinar desde el archivos lista, el nombre de respaldo
Se utiliza mod_unknown.so.
-D nombre =propuesta de
Esta opción se transfiere directamente a los comandos de compilación. Usa esto para
agregue sus propias definiciones al proceso de construcción.
-I incdir
Esta opción se transfiere directamente a los comandos de compilación. Usa esto para
agregue sus propios directorios de inclusión para buscar en el proceso de compilación.
-L libdir
Esta opción se transfiere directamente al comando del vinculador. Use esto para agregar su
propios directorios de la biblioteca para buscar en el proceso de construcción.
-l nombrelib
Esta opción se transfiere directamente al comando del vinculador. Use esto para agregar su
propias bibliotecas para buscar en el proceso de compilación.
-WC,banderas del compilador
Esta opción pasa banderas del compilador como indicadores adicionales para libtool --mode = compile
mando. Use esto para agregar opciones específicas del compilador local.
-Wl,banderas-enlazador
Esta opción pasa banderas-enlazador como banderas adicionales al libtool --mode = link
mando. Use esto para agregar opciones específicas del vinculador local.
-p Esta opción hace que apxs se vincule con las bibliotecas apr / apr-util. Esto es útil
al compilar programas de ayuda que utilizan las bibliotecas apr / apr-util.
DSO Instalación y Configuración De Seguros
-i Esto indica la operación de instalación e instala uno o más dinámicamente
objetos compartidos en el servidor módulos directorio.
-a Esto activa el módulo agregando automáticamente una línea LoadModule correspondiente
al archivo de configuración httpd.conf de Apache, o habilitándolo si ya existe.
-A Igual que la opción -a, pero la directiva LoadModule creada tiene un prefijo con un signo de almohadilla
(#), es decir,, el módulo solo está preparado para una activación posterior, pero inicialmente está desactivado.
-e Esto indica la operación de edición, que se puede usar con las opciones -a y -A
de manera similar a la operación -i para editar el archivo de configuración httpd.conf de Apache
sin intentar instalar el módulo.
EJEMPLOS
Suponga que tiene un módulo de Apache llamado mod_foo.c disponible que debería extender el
funcionalidad del servidor. Para lograr esto, primero debe compilar la fuente C en un
objeto compartido adecuado para cargar en el servidor Apache en tiempo de ejecución a través de lo siguiente
mando:
$ apxs -c mod_foo.c
/ ruta / a / libtool --mode = compilar gcc ... -c mod_foo.c
/ ruta / a / libtool --mode = link gcc ... -o mod_foo.la mod_foo.slo
PS
Luego, debe actualizar la configuración de Apache asegurándose de que una directiva LoadModule esté
presente para cargar este objeto compartido. Para simplificar este paso, apxs proporciona una forma automática
para instalar el objeto compartido en su directorio "módulos" y actualizar el archivo httpd.conf
respectivamente. Esto se puede lograr ejecutando:
$ apxs -i -a mod_foo.la
/ruta/a/instdso.sh mod_foo.la / ruta / a / apache / módulos
/ ruta / a / libtool --mode = instalar cp mod_foo.la / ruta / a / apache / modules
...
chmod 755 /ruta/a/apache/modules/mod_foo.so
[activando el módulo `foo 'en /path/to/apache/conf/httpd.conf]
PS
De esta manera una línea llamada
LoadModule módulos foo_module / mod_foo.so
se agrega al archivo de configuración si aún no está presente. Si quieres tener esto deshabilitado
por defecto use la opción -A, es decir,
$ apxs -i -A mod_foo.c
Para una prueba rápida del mecanismo apxs, puede crear una plantilla de módulo Apache de muestra más
un Makefile correspondiente a través de:
$ apxs -g -n foo
Creando [DIR] foo
Creando [FILE] foo / Makefile
Creando [ARCHIVO] foo / modules.mk
Creando [ARCHIVO] foo / mod_foo.c
Creando [ARCHIVO] foo / .deps
PS
Luego, puede compilar inmediatamente este módulo de muestra en un objeto compartido y cargarlo en
el servidor Apache:
$ cd fo
$ hacer todo recargar
apxs -c mod_foo.c
/ ruta / a / libtool --mode = compilar gcc ... -c mod_foo.c
/ ruta / a / libtool --mode = link gcc ... -o mod_foo.la mod_foo.slo
apxs -i -a -n "foo" mod_foo.la
/ruta/a/instdso.sh mod_foo.la / ruta / a / apache / módulos
/ ruta / a / libtool --mode = instalar cp mod_foo.la / ruta / a / apache / modules
...
chmod 755 /ruta/a/apache/modules/mod_foo.so
[activando el módulo `foo 'en /path/to/apache/conf/httpd.conf]
reinicio de apachectl
/ ruta / a / apache / sbin / apachectl reiniciar: httpd no se está ejecutando, intentando iniciar
[Mar 31 de marzo 11:27:55 1998] [depuración] mod_so.c(303): módulo cargado foo_module
/ ruta / a / apache / sbin / apachectl reiniciar: httpd iniciado
PS
Utilice apxs en línea utilizando los servicios de onworks.net