Outils pour utilisateurs

Outils du site


linux:apache (lu 68379 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:apache [17-03-2016 14:29]
edmc73 [Commandes utiles]
linux:apache [03-10-2019 16:26] (Version actuelle)
edmc73 [htcacheclean]
Ligne 1: Ligne 1:
 ====== Apache ====== ====== Apache ======
 Cette page est juste un mémo Cette page est juste un mémo
 +
 +Docs => http://devdocs.io/apache_http_server/
  
 ===== Commandes utiles ===== ===== Commandes utiles =====
Ligne 211: Ligne 213:
 par par
   create 644 root adm   create 644 root adm
 +
 +
 +==== internal dummy connection ====
 +
 +--- source: https://blog.nicolargo.com/2011/03/supprimer-les-logs-apache-internal-dummy-connection.html
 +
 +Si vous avez plein de log apache avec des lignes **internal dummy connection**, créez un fichier de conf avec
 +
 +  # Filters
 +  SetEnvIf Remote_Addr "127\.0\.0\.1" local
 +  SetEnvIf Remote_Addr "\:\:1" local
 +
 +Ensuite, on doit activer ce filtre le fichier de définition de votre site (sous le répertoire /etc/apache2/site-enabled). Il faut modifier la ligne suivante:
 +  CustomLog /var/log/apache2/www-access.log combined env=!local
 +
 +Un restart d'apache pour appliquer
      
 ===== Lorsque Apache est installé dans un NAT à travers d'un reverse proxy ===== ===== Lorsque Apache est installé dans un NAT à travers d'un reverse proxy =====
Ligne 290: Ligne 308:
  
 Avec **httperf** voir très bon tuto => http://www.synbioz.com/blog/benchmark_avec_httperf Avec **httperf** voir très bon tuto => http://www.synbioz.com/blog/benchmark_avec_httperf
 +
 +Un outils intégré avec apache, **ab** pour apache benchmark
 +
 +Pour tester une url avec 2000 requêtes dont 10 en simultanées
 +  ab -c 10 -n 2000 'https://mon_serveur/url_a_bourriner'
 +
 +
 +
 +Pour envoyer en POST, créer un fichier **post.txt** avec les paramètres urlencodé
 +  email=toto%40toto.fr&variable=1
 +
 +Utilisez la commande suivante
 +  ab -p post.txt -T 'application/x-www-form-urlencoded' -c 10 -n 2000 'https://mon_server/api/test'
  
  
Ligne 343: Ligne 374:
  
 Comparer les logs Comparer les logs
 +
 +
 +===== Debian 10 Apache 2.4 php7.3 =====
 +
 +Sur la dernière debian, apache est par défaut apache mpm event.
 +Plus question ici d'installer le module apache php. Pour activer php, suivez les commandes
 +
 +  apt install php7.3-fpm
 +  a2enmod proxy_fcgi
 +  a2enconf php7.3-fpm
 +  systemctl restart apache
 +
 +le module itk n'est plus nécessaire, maintenant on peut gérer les users directement dans la config des pools php
 +
 +=> doc: https://villalard.net/utiliser-apache-avec-php-fpm
 +
 +<code>
 +# cd /etc/php/7.3/fpm/pool.d
 +# ls
 +www.conf
 +
 +cp www.conf dev.conf
 +vi dev.conf
 +
 +</code>  
 +
 +On modifie au minimum
 +<code>
 +; Start a new pool named 'www'.
 +; the variable $pool can be used in any directive and will be replaced by the
 +; pool name ('www' here)
 +[dev]
 +
 +; Unix user/group of processes
 +; Note: The user is mandatory. If the group is not set, the default user's group
 +;       will be used.
 +user = edmc
 +group = edmc
 +
 +; The address on which to accept FastCGI requests.
 +; Valid syntaxes are:
 +;   'ip.add.re.ss:port'    - to listen on a TCP socket to a specific IPv4 address on
 +;                            a specific port;
 +;   '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
 +;                            a specific port;
 +;   'port'                 - to listen on a TCP socket to all addresses
 +;                            (IPv6 and IPv4-mapped) on a specific port;
 +;   '/path/to/unix/socket' - to listen on a unix socket.
 +; Note: This value is mandatory.
 +listen = /run/php/dev.sock
 +</code>
 +
 +ensuite on adapte notre config apache
 +<code>
 +        <FilesMatch \.php$>
 +                SetHandler "proxy:unix:/run/php/dev.sock|fcgi://localhost/"
 +        </FilesMatch>
 +</code>
 +
 +on restart php et apache
 +  systemctl restart php7.3-fpm.service apache2.service
 +
 +et voila :)
 +
 +===== htcacheclean =====
 +
 +Activez les modules
 +  a2enmod mod_cache mod_cache_disk
 +
 +Dans la config du site, pour un cache de 60 secondes
 +<code apache>
 +    <IfModule mod_cache.c>
 +      <IfModule mod_cache_disk.c>
 +        #LogLevel debug
 +        CacheRoot /var/cache/apache2/mod_cache_disk
 +        CacheDefaultExpire 60
 +        CacheMinExpire 60
 +        CacheMaxExpire 60
 +        CacheEnable disk /
 +        #CacheDetailHeader On
 +        CacheHeader On
 +        CacheIgnoreCacheControl On
 +        CacheIgnoreNoLastMod On
 +        CacheStoreNoStore On
 +        CacheStoreExpired On
 +        #CacheIgnoreHeaders None
 +        #CacheDisable "/index.php"
 +        #UnsetEnv no-cache
 +      </IfModule>
 +    </IfModule>
 +</code>
 +
 +Voir les fichiers en cache
 +  htcacheclean -A -p/var/cache/apache2/mod_cache_disk
 +
 +Si vous avez configuré un autre répertoire que celui par défaut, la purge ne se fera pas, mettez un cron
 +  0 */2 * * * /usr/bin/htcacheclean -n -t -p/home/user/apache2_mod_cache_disk -l100M
 +
 +Cette exemple purge toutes les 2 heures en vérifiant que la taille globale ne dépasse pas 100Mo, ''-t'' supprimer les répertoires vide (important car il peut vite y'en avoir un paquet), ''-n'' met une priorité basse au processus afin de ne pas bloquer le serveur.
linux/apache.1458221397.txt.gz · Dernière modification: 17-03-2016 14:29 de edmc73