Como adicionar um novo módulo ao apache2 Centos6

1

Quando compilei o apache, esqueci de adicionar proxy_http_module , como posso adicioná-lo agora?

Meu apache está instalado aqui: /usr/local/apache2

Eu tentei compilar novamente e obter este erro:

make[1]: Leaving directory '/root/httpd-2.2.31/support'
make[1]: Entering directory '/root/httpd-2.2.31'
/root/httpd-2.2.31/srclib/apr/libtool --silent --mode=compile gcc -g -O2 -pthread        -I. -I/root/httpd-2.2.31/os/unix -I/root/httpd-2.2.31/server/mpm/prefork -I/root/httpd-2.2.31/modules/http -I/root/httpd-2.2.31/modules/filters -I/root/httpd-2.2.31/modules/proxy -I/root/httpd-2.2.31/include -I/root/httpd-2.2.31/modules/generators -I/root/httpd-2.2.31/modules/mappers -I/root/httpd-2.2.31/modules/database -I/root/httpd-2.2.31/srclib/apr/include -I/root/httpd-2.2.31/srclib/apr-util/include -I/root/httpd-2.2.31/server -I/root/httpd-2.2.31/modules/proxy/../generators -I/root/httpd-2.2.31/modules/ssl -I/root/httpd-2.2.31/modules/dav/main -fPIE -prefer-non-pic -static -c modules.c && touch modules.lo
gcc -g -O2 -pthread        -I. -I/root/httpd-2.2.31/os/unix -I/root/httpd-2.2.31/server/mpm/prefork -I/root/httpd-2.2.31/modules/http -I/root/httpd-2.2.31/modules/filters -I/root/httpd-2.2.31/modules/proxy -I/root/httpd-2.2.31/include -I/root/httpd-2.2.31/modules/generators -I/root/httpd-2.2.31/modules/mappers -I/root/httpd-2.2.31/modules/database -I/root/httpd-2.2.31/srclib/apr/include -I/root/httpd-2.2.31/srclib/apr-util/include -I/root/httpd-2.2.31/server -I/root/httpd-2.2.31/modules/proxy/../generators -I/root/httpd-2.2.31/modules/ssl -I/root/httpd-2.2.31/modules/dav/main -fPIE -c /root/httpd-2.2.31/server/buildmark.c
/root/httpd-2.2.31/srclib/apr/libtool --silent --mode=link gcc -g -O2 -pthread   -pie     -o httpd  modules.lo buildmark.o -export-dynamic server/libmain.la modules/http/libmod_http.la modules/mappers/libmod_so.la server/mpm/prefork/libprefork.la os/unix/libos.la -lm -lpcre /root/httpd-2.2.31/srclib/apr-util/libaprutil-1.la -lexpat /root/httpd-2.2.31/srclib/apr/libapr-1.la -lrt -lcrypt -lpthread 
/usr/bin/ld: server/.libs/libmain.a(main.o): relocation R_X86_64_32 against '.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
server/.libs/libmain.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [httpd] Error 1
make[1]: Leaving directory '/root/httpd-2.2.31'
make: *** [all-recursive] Error 1

aqui está o meu conf:

./configure --with-mpm=prefork --with-included-apr --enable-mods-shared=all --enable-so --enable-pie --enable-cgi --with-pcre --enable-ssl --enable-rewrite --enable-vhost-alias --enable-proxy --enable-proxy-http --enable-proxy-ftp --enable-proxy-balancer --enable-cache --enable-mem-cache --enable-file-cache --enable-disk-cache --disable-spelling --enable-dav --enable-ldap --enable-authnz-ldap --enable-authnz-ldap --enable-authn-anon --enable-authn-alias --build=i686
    
por Vladimir Djukic 16.11.2015 / 19:24

1 resposta

2

como é incluído em fontes apache, IMO a maneira mais fácil é ir para o diretório de fontes que você usou, reconfigurá-lo adicionando mod_proxy e, em seguida, fazer a instalação. Ele não sobrescreve seus arquivos de configuração.

Certifique-se de fazer um make clean antes de recompilar

Como um sidenote, sugiro que você ative todos os módulos como compartilhados.

Outro método quando você está usando módulos de árvore é usando apxs que você pode encontrar em seu diretório de instalação, mas no seu caso parece mais fácil recompilar /

    
por 16.11.2015 / 19:36