# [APACHE] Gentoo 10 - Apache et mod_proxy

## svinot

Bonjour à tout le monde,

Je ne suis pas un habitué de Gentoo et j'ai des soucis pour installer mod_proxy.

Après un "emerge apache", je constate que apache fonctionne parfaitement bien. 

Par contre pour activer proxy, j'ai vu que sur Internet il me fallait ajouter dans mon /etc/make.conf la ligne suivante:

```
APACHE2_MODULES="proxy proxy_connect proxy_balancer ..."
```

Le "emerge" fonctionne mais dès que je veux redémarrer, j'ai le message suivant :

```
/etc/init.d/apache2 restart

 * Caching service dependencies ...                                                                                              [ ok ]

 * Stopping apache2 ...

apache2: Syntax error on line 61 of /etc/apache2/httpd.conf: Cannot load /usr/lib64/apache2/modules/mod_actions.so into server: /usr/lib64/apache2/modules/mod_actions.so: cannot open shared object file: No such file or directory
```

Pour info, j'ai dans le résultat de compilation le message suivant qui me gene un peu car j'ai l'impression que c'est pas terrible

```
* Selected default MPM: prefork

 * 

 * Module 'authz_host' is required in the default apache configuration.

 * Module 'dir' is required in the default apache configuration.

 * Module 'mime' is required in the default apache configuration.

 * 

 * You have disabled one or more required modules

 * for the default apache configuration.

 * Although this is not an error, please be

 * aware that this setup is UNSUPPORTED.
```

Comment puis-je activer le module proxy ?

Merci de votre aide  :Smile: 

Sébastien

----------

## Poussin

 *svinot wrote:*   

> 
> 
> ```
> APACHE2_MODULES="proxy proxy_connect proxy_balancer ..."
> ```
> ...

 

Comme ça, je dirais qu'il manque le modules actions ->

```
APACHE2_MODULES="$APACHE2_MODULES actions"
```

----------

## svinot

J'ai mis ça dans mon /etc/make.conf:

```
APACHE2_MODULES="proxy proxy_connect proxy_balancer ..."

APACHE2_MODULES="$APACHE2_MODULES actions"

```

Et j'a cela:

```
/etc/init.d/apache2 restart

 * Caching service dependencies ...                                                                                              [ ok ]

 * Stopping apache2 ...

apache2: Syntax error on line 62 of /etc/apache2/httpd.conf: Cannot load /usr/lib64/apache2/modules/mod_alias.so into server: /usr/lib64/apache2/modules/mod_alias.so: cannot open shared object file: No such file or directory

```

Le problème c'est que si j'ajoute "alias", je n'en finis plus   :Sad: 

Sébastien

----------

## Poussin

[quote="svinot"]J'ai mis ça dans mon /etc/make.conf:

```
APACHE2_MODULES="proxy proxy_connect proxy_balancer ..."

APACHE2_MODULES="$APACHE2_MODULES actions"

```

Alors, les ... dans ton truc, c'est juste pour le forum ou tu as vraiment mis ... dans ta ligne? Parce que je ne pense pas que ce soit un

nom de module  :Smile: 

Si tu savais combien j'ai de modules dans ma config  :Smile: 

Par contre, ce que je trouve louche, c'est que portage gère la dépendance de modules aussi

```

MODULE_DEPENDS="

        dav_fs:dav

        dav_lock:dav

        deflate:filter

        disk_cache:cache

        ext_filter:filter

        file_cache:cache

        log_forensic:log_config

        logio:log_config

        mem_cache:cache

        mime_magic:mime

        proxy_ajp:proxy

        proxy_balancer:proxy

        proxy_connect:proxy

        proxy_ftp:proxy

        proxy_http:proxy

        substitute:filter

"
```

Donc tu as du activer trop de modules dans ton fichier de configuration d'apache je dirais

----------

## svinot

Non j'ai bien mis les ...   :Embarassed:   Je l'ai vu dans plusieurs guides alors j'ai supposé que cela voulait peut-être dire un truc genre "modules par défaut".

Si ce n'est pas le cas, comment puis-je savoir quelle est la liste des modules installée lorsque je ne précise pas APACHE2_MODULES ?

En sachant cela je pourrais enfin ajouter mon proxy   :Razz: 

----------

## Poussin

 *Quote:*   

> 
> 
> Si ce n'est pas le cas, comment puis-je savoir quelle est la liste des modules installée lorsque je ne précise pas APACHE2_MODULES ?

 

Pardi, en supprimant la variable de ton make.conf ^^

Accessoirement proxy n'est pas activé par défaut, donc tu reprends la ligne te ton make.conf avec les ... et ton remplace ces ... par $APACHE2_MODULES

Quand tu utilises emerge, fais plutot emerge -av, par exemple:

```

emerge -av apache

```

Il va t'afficher en rouge les USE flags et les modules activés (en rouge) et te demander confirmation avant d'installer

----------

## svinot

Merci, effectivement ça compile (j'ai suivi tes conseils et j'ai compilé avec -av) mais le proxy n'est pas activé:

j'ai dans /etc/conf.d/apache2:

```
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5 -D PERL -D PROXY"

```

Pourtant j'ai encore dans mes traces :

```

attempt to make remote request from mod_rewrite without proxy enabled
```

Bizarrement je n'ai pas de xx_mod_proxy.conf dans modules.d (je n'ia qu'un 27_mod_proxy_html.conf).

La compile a-t-elle fonctionnée ?

Sébastien

----------

## Poussin

tu sais me coller la sortie de emerge -pv apache ?

----------

## svinot

Voila:

```
These are the packages that would be merged, in order:

Calculating dependencies  ^H^H... done!

[ebuild   R   ] www-servers/apache-2.2.15  USE="ssl -debug -doc -ldap (-selinux) -static -suexec -threads" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_balancer proxy_connect rewrite setenvif speling status unique_id userdir usertrack vhost_alias -asis -auth_digest -authn_dbd -cern_meta -charset_lite -dbd -dumpio -ident -imagemap -log_forensic -proxy_ajp -proxy_ftp -proxy_http -substitute -version" APACHE2_MPMS="-event -itk -peruser -prefork -worker" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.
```

----------

## Poussin

je vais essayer de ne pas raconter de bêtises....

Alors, si je ne me trompe, les modules comme mod_proxy sont installé, non pas par le paquet www-server/apache, mais par app-admin/apache-tools, tandis que le paquet www-server/apache contient juste de la config à la sauce gentoo.

Donc, les modules, sont, quoi qu'il arrive, installé sur la machine. Ensuite, le second paquet les active (via les patch de config).

C'est vrai que je ne vois pas dans ces patchs de référence à une quelconque activation de mod_proxy. Maintenant, ce n'est peut-etre pas nécessaire.

As-tu essayé le fonctionnement proxy?

As-tu, dans le répertoire des modules, mod_proxy.so (ou un truc comme ça?)

Je dois avoué ne jamais m'être servi de ce module

----------

## svinot

J'ai effectivement cela :

```
emerge --search apache-tools

Searching...    

[ Results for search key : apache-tools ]

[ Applications found : 1 ]

*  app-admin/apache-tools

      Latest version available: 2.2.15

      Latest version installed: 2.2.15

      Size of files: 4,843 kB

      Homepage:      http://httpd.apache.org/

      Description:   Useful Apache tools - htdigest, htpasswd, ab, htdbm

      License:       Apache-2.0

```

J'hésite à lancer l'install parce que je voudrais pas compliquer apache (d'autant que ça marche pas fort pour le moment   :Laughing:  )

Sinon voici le contenu de modules.d :

```
ll /etc/apache2/modules.d/

total 80

-rw-r--r-- 1 root root  374 mai    5 22:02 70_mod_php5.conf

-rw-r--r-- 1 root root 4470 mai   10 21:22 00_default_settings.conf

[b]-rw-r--r-- 1 root root 1778 mai   11 21:38 27_mod_proxy_html.conf[/b]

-rw-r--r-- 1 root root 1221 mai   11 22:44 75_mod_perl.conf

-rw-r--r-- 1 root root  478 mai   11 22:44 apache2-mod_perl-startup.pl

-rw-r--r-- 1 root root  446 mai   12 09:55 46_mod_ldap.conf

-rw-r--r-- 1 root root  758 mai   12 09:55 45_mod_dav.conf

-rw-r--r-- 1 root root 2545 mai   12 09:55 40_mod_ssl.conf

-rw-r--r-- 1 root root  206 mai   12 09:55 10_mod_mem_cache.conf

-rw-r--r-- 1 root root 2904 mai   12 09:55 00_mpm.conf

-rw-r--r-- 1 root root 1043 mai   12 09:55 00_mod_userdir.conf

-rw-r--r-- 1 root root  498 mai   12 09:55 00_mod_status.conf

-rw-r--r-- 1 root root 2173 mai   12 09:55 00_mod_mime.conf

-rw-r--r-- 1 root root 1518 mai   12 09:55 00_mod_log_config.conf

-rw-r--r-- 1 root root  265 mai   12 09:55 00_mod_info.conf

-rw-r--r-- 1 root root 2853 mai   12 09:55 00_mod_autoindex.conf

-rw-r--r-- 1 root root 5040 mai   12 09:55 00_languages.conf

-rw-r--r-- 1 root root 2533 mai   12 09:55 00_error_documents.conf

```

Il n'y a donc pas de mod_proxy.

Sinon comment faire un test pour m'assurer que proxy est bien activé (j'ai bien configuré dans /etc/conf.d/apache la ligne qui va bien) ?

----------

## Poussin

Alors, non, pas touche à apache-tools! (de toute façon, il n'a que ssl en param de USE)

Je ne te demande pas si tu as le fichier de conf de mod_proxy, mais si tu as le module en lui même (de mémoire, je ne sais plus trop où ça se range...). Fais un 

```
locate mod_proxy.so
```

 (si la db est à jour)

Mais tu as déjà utilisé apache et le mod_proxy avant (par exemple sous d'autres distros) ou non? Parce que apache, ça ne se configure pas en 5 minutes hein. C'est le genre de truc qu'il faut gérer. Perso, je suis partisant de virer la conf existante et tout refaire à la main, avec la doc, en sachant ce qu'on fait, et en incluant que ce dont on a besoin.

----------

## svinot

Manque de bol : 

locate mod_proxy.so

locate: fatal error: Could not find user database '/var/lib/slocate/slocate.db':  No such file or directory

Par contre:

```
find . -name "*mod_proxy.so" -print

./usr/lib64/apache2/modules/mod_proxy.so
```

----------

## Poussin

```
slocate -u
```

 en root pour mettre à jour la base de données (mais en general, c'est quelque part dans le cron...

Je répète qu'une config apache, ça ne s'improvise pas, il FAUT se taper la doc et la comprendre!

----------

## svinot

Merci pour le slocate, maintenant c'est effectivement à jour. 

Par contre toujours pas de mod_proxy (après un emerge) ...   :Neutral: 

Si vous avez une doc claire concernant l'installation des modules apache (et plus précisemmen proxy) sous gentoo je suis bien entendu preneur !

En fait ce que je ne comprend pas bien (sans parler de la config à proprement parler) c'est que pense avoir fait ce qu'il faut pour que emerge m'installe mod_proxy mais que finalement non.   :Sad: 

Sébastien

----------

## man in the hill

 *svinot wrote:*   

> Merci pour le slocate, maintenant c'est effectivement à jour. 
> 
> Par contre toujours pas de mod_proxy (après un emerge) ...  
> 
> Si vous avez une doc claire concernant l'installation des modules apache (et plus précisemmen proxy) sous gentoo je suis bien entendu preneur !
> ...

 

Si tu veux faire un proxy, tu peux utiliser squid+squidguard

----------

## Poussin

Mod_proxy est installé... le module est présent dans tes lib...

----------

