Apachestatus er et sødt lille værktøj der kan vise dig, realtime, hvad der sker i maven på din Apache, det er det mest detaljerede værktøj primært fordi det ligger som en del af Apache og kan derfor vise hvilke tråde der laver hvad, det er meget rart når man fejlfinder spidsbelastede servere.

Værktøjet virker faktisk out of the box på nyinstallerede Debian maskiner, typisk går det dog ret hurtigt til i andre konfigurationer primært fordi det konflikter med både VirtualHosts og mod_rewrite, hvilket nok bruges på 80% af alle installationer i verden.
For at omgå virtualhosts, skal du tage din default-virtualhosts (den som vises når du indtaster din servers ip i browseren) og indsætte flg. stump kode: (udskift v.z.y.x med din egen ip adresse)
<Location /server-status> SetHandler server-status Order deny,allow Allow from 127.0.0.1 ::1 v.x.y.z # Allow from 192.0.2.0/24 </Location> Resultatet kan se ud som flg:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName lab1.dk ServerAlias *.lab1.mikjaer.com DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <Location /server-status> SetHandler server-status Order deny,allow Allow fro 127.0.0.1 ::1 v.x.y.z </Location> </VirtualHost>
Genstart apache:
root@lab1:~# /etc/init.d/apache2 reload Reloading web server config: apache2.
Og tjek http://lab1.mikjaer.com/server-status i en browser, hvis ikke du får noget resultat skyldtes det sikkert mod_rewrite, f.eks. er WordPress kendt for at hijacke /server-status, det kan fixes ved at tilføje flg. linie 5, i WordPress’ .htaccess fil.
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_URI} !=/server-status RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
Hvis du løbende ønsker at blive opdateret på Apache-status kan du åbne flg. url i din browser: http://lab1.mikjaer.com/server-status?refresh=1 så vil den automatisk reloade hvert sekund, alternativt kan du også køre flg. kommando:
root@lab1:~# watch -n 1 apachectl status Hvilket har samme effekt, blot i en consol.
Happy tuning ?