Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

docs:linuxeries:apache [2012/07/24 13:57]
adlp PAGE VALIDE
— (version actuelle)
Ligne 1: Ligne 1:
-====== Authentification sur base PAM ====== 
-  * apt-get install libapache2-mod-auth-pam 
-  * Dans le .htaccess recherché 
-<xtermrtf> 
-AuthPAM_Enabled on 
-AuthPAM_FallThrough off 
-AuthType Basic 
-AuthName "Intranet" 
-AuthUserFile /dev/null 
-AuthBasicAuthoritative Off 
-require valid-user 
-</xtermrtf> 
-====== Reverse Proxy via Apache ====== 
- 
-  De ce que j'ai vu pas forcement conseillé, et puis bon quand on vois la progression d'//NginX// 
- 
-  * [[https://httpd.apache.org/docs/2.2/mod/mod_proxy.html|The official conf]] 
- 
- 
-====== Gestion des session PHP en DB ====== 
-  *Base de travail [[http://thwartedefforts.org/2006/11/11/race-conditions-with-ajax-and-php-sessions/|Race Conditions with Ajax and PHP Sessions @ thwartedefforts]] 
-    * FIXME: leur remonter l'info 
-  * Objectifs: 
-    * Clusteriser les sessions 
-    * Ne rien recompiler 
-  * Methode 
-    * Réecrire les methodes de gestion des sessions 
-    * Ecrire dans un "cluster" MySql 
-  * Mon opinion 
-    * Ok, c'est pas tres classe comme spof, il y a mieux : mais pas de recompil on a dit 
- 
-===== Php.ini ===== 
-<code> 
-[PHP] 
-auto_prepend_file = /usr/local/www/mysql-session.php 
-... 
- 
-[Session] 
-; Handler used to store/retrieve data. 
-;session.save_handler = files 
-session.save_path = "mysql://login:password@vrrpmysqlip/apachedb" 
-</code> 
- 
-===== Modifications du script ===== 
-  * Script d'origine [[http://race.phux.net/code/session_mysql.phps]] 
-  * Script depose là: /usr/local/www/mysql-session.php 
-<code> 
-$chaine = str_replace(array('/','\\',"@"),":",get_cfg_var("session.save_path")); 
-list($null,$null,$null,$SESS_DBUSER,$SESS_DBPASS,$SESS_DBHOST,$SESS_DBNAME) = explode(":",$chaine); 
-</code> 
-FIXME: evidement, les autres init ont etes commmentes. 
- 
-===== Nettoyage ===== 
-FIXME: A faire!!!! 
-  * Les sessions sont crées en base, mais pas forcement supprimées il faut donc nettoyer. 
-  * Pour cela une (simple) requete SQL en s'inspirant de /etc/cron.d/php5 et /usr/lib/php5/maxlifetime doit faire l'affaire 
- 
-Pour lister les connexions actives 
----- 
-<xtermrtf> 
-mysql> select * from sessions WHERE expiry < UNIX_TIMESTAMP(NOW()); 
-</xtermrtf> 
- 
-====== Accelerateur APC ====== 
-  * S'installe simplement, puis un restart 
-  * La configuration est simple, mais ne pas exprimer les unites 
-    * [[http://www.php.net/manual/fr/apc.configuration.php|Variables et Significations]] 
-<xtermrtf> 
-root@smax:/etc/php5# cat /etc/php5/conf.d/apc.ini  
-extension=apc.so 
-apc.shm_size=64 
-apc.gc_ttl=0 
-</xtermrtf> 
-  * Est fournit avec apc un php ( /usr/share/doc/php-apc/apc.php.gz ) qui permet de voire l'etat des caches apc serveur 
- 
-====== Gestions des Vhost ====== 
-===== Full-Automatique : ===== 
-  
-FIXME: look about VirtualScriptAlias 
- 
-===== Pas Automatique mais + administrable ===== 
-==== Objectif ==== 
-  * Pouvoir discerner les utilisateurs apache en cas de surcharge plantage, etc, dans un cadre php (et autre) 
-  * suEXEC 
-    * une vrai usine a gaz pour du php (necessite un wrapper par user pex -regle18-, etc...) 
-    * je suppute cela moins performant que du php en module (on ne peut pas precharger des FastCGI) 
-    * necessite un patch (euh je crois) pour travailler dans le /home  ... :/ 
-  * suPHP 
-    * limité au php 
-    * Les droits sont ceux du pocesseurs du fichier (dommage je preferais par arbo sur le coup) 
-==== Usage ==== 
-  * Installer **[[http://mpm-itk.sesse.net|apache2-mpm-itk]]** 
-Ce module une fois installé ne fait que //rajouter// des fonctionnalités dans les **vhosts** //(lire : on peux installer puis rajouter les vhost un a un)// 
-  * J'ai trouvé la doc là [[http://devzone.zend.com/article/4779|Using Apache2 ITK Multi-Processing Module on Linux]] 
-  * Fonction supplementaires 
-    - //AssignUserID <user> <group>// : si pas specifié alors ceux d'apache, pour une bascule plus sereine user, mais le groupe d'apache ! 
-    - //MaxClientsVHost// si un des vhost a une tendance a saccager la machine 
-    - //NiceValue// la meme chose mais en plus subtile :) 
-  * ATTENTION de part le fait que le thread apache prend l'identitée spéfiée par //AssignUserID//, si le thread reste ouvert, mais gere d'autres vhost... vous aurez de la bouillie de droit... Pensez a baisser drastiquement le <del>KeepAlived</del>**MaxRequestsPerChild** genre 1, y a **NginX** c'est bien... 
- 
-====== Gestion des droits/Umask ====== 
- 
-  * Trouve sur [[http://articles.slicehost.com/2007/9/18/apache-virtual-hosts-permissions|Slicehost]] 
-  * on px facilement rajouter dans /etc/apache2/envvars  (/etc/sysconfig/httpd sur RH'n Co) le umask adequate 
- 
- 
-====== Traitement des logs ======= 
- 
-Pourquoi faire ? Bin betement pour avoir des stats de fréquentation... 
- 
-Mais un hint rapide, mis en place ici : [[http://bbclone.de/|BBClone]] 
-  * Il //suffit// de mettre en place en en-tete de chaques pages et de regarder le resultat, c'est plus simple que parametre [[http://awstats.sourceforge.net/|AwStats]] (outils merveilleux quand meme) 
-  * Et comme c'est dure de modifier toutes les pages un simple **auto-prepend** ds le php.ini 
-  *  Attention, c'est fonctionnel sur les sites www en php, cela ne comptabilisera ni les images ni les css ni le html je pense ;) 
- 
- 
-===== En donner l'acces aux dev ===== 
- 
- 
-===== Statistiques ===== 
- 
-FIXME:Il existe awstat, un fort bel outils 
- 
-===== sur une ferme ===== 
- 
-FIXME: Il existe un outil **apache** qui permet de faire de la //concatenations// de fichiers de logs 
- 
-====== Apache et le reverse-proxy ====== 
-===== En reverse Proxy ===== 
- 
-A mettre dans le joli htacess 
-<xtermrtf> 
-RewriteEngine on 
-RewriteCond %{HTTP_HOST} ^www\.domaine\.tld$ 
-RewriteRule ^(.*) http://172.31.32.33/$1 [P,L] 
-RewriteCond %{HTTP_HOST} ^bubu\.domaine\.tld$ 
-RewriteRule ^(.*) http://192.168.1.2/$1 [P,L] 
-</xtermrtf> 
- 
-NB: je prefere _vraiment_ NginX 
- 
-===== Avec un reverse Proxy ===== 
- 
-  * Le pb derriere un reverse proxy, c'est qu'Apache ne voit plus vraiment le client. 
-  * Il existe bien des variables predefinis dans les headers mais bon, pas toujors pratique 
- 
-=> Ils ont donc inventés le **rpaf**, et maintenant dans les logs on a l'IP du client ! 
-  - Nom du paquet : libapache2-mod-rpaf 
-  - Un exemple, ou l'IP du reverse proxy est la 192.168.1.1 
-<xtermrtf> 
-root@smax:/etc/apache2# cat /etc/apache2/mods-enabled/rpaf.conf  
-<IfModule mod_rpaf.c> 
-RPAFenable On 
-RPAFsethostname On 
-RPAFproxy_ips 192.168.1.1 
-</IfModule> 
-</xtermrtf> 
- 
-====== Diverseries ====== 
-===== Stat en RT ===== 
- 
-  - Je recommande chaudement de ne pas donner le lien resultant de ca a tout le monde, ca peut chauffer... 
-  - Je suis en train de reecrire un script plus basique pour obtenir 
-    - Le nom du site facheux 
-    - L'IP facheuse 
-Bon, bin y a pu ka donner le lien [[http://petrenco.com/php.php?txt=106|Server Status PHP Parser]] 
- 
-===== Comment savoir (a la hache) quel vhost consomme le plus ? ===== 
- 
-<xtermrtf> 
-root@Atchoum:~# lsof -n | grep /home | tr -s "\t " " " | cut -d' ' -f9 | sort | uniq -c 
-      1 /home/kikou/log/application.log 
-      1 /home/kikou/webapp/www 
-      3 /home/claire/ftp-import 
-      1 /home/pas/webapp/www 
-      1 /home/dago/webapp/www 
-      5 /home/cerise/webapp/www 
-root@Atchoum:~# lsof -n | grep /home | tr -s "\t " " " | cut -d' ' -f9 | sort | uniq -c 
-      2 /home/inter/webapp/www 
-      3 /home/claire/ftp-import 
-      1 /home/pas/webapp/www 
-      3 /home/cerise/webapp/www 
-root@Atchoum:~# lsof -n | grep /home | tr -s "\t " " " | cut -d' ' -f9 | sort | uniq -c 
-      3 /home/claire/ftp-import 
-      3 /home/cerise/webapp/www 
-root@Atchoum:~# lsof -n | grep /home | tr -s "\t " " " | cut -d' ' -f9 | sort | uniq -c 
-      3 /home/claire/ftp-import 
-root@Atchoum:~# logout 
-</xtermrtf> 
- 
-===== Comment savoir (a la hache) quel IP nous requete  le plus ? ===== 
-<xtermrtf> 
-root@Atchoum:~# tail -1000 /var/log/apache2/access.log | cut -f1 -d" " | sort | uniq -c |sort -n 
-      1 127.1.2.3 
-      1 127.1.2.4 
-      2 127.1.2.7 
-      3 127.1.2.5 
-     15 127.1.2.6 
-     18 127.1.2.8 
-     82 127.1.2.9 
-</xtermrtf> 
docs/linuxeries/apache.1343131028.txt.gz · Dernière modification: 2012/07/24 13:57 par adlp
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki