Awstats 7.6 + phpBB 3.3.0 + Apache2 na Debian 10 Buster

Komunitní platformu phpBB netřeba představovat. Open source forum software používá většina diskuzních fór. Podobně jako většina blogerů používá blogovací balíček WordPress. A to v kobinaci Apache2 + PHP7.x + MariaDB nebo Apache2 + PHP7.x PostgreSQL. Výjmečně zmíněnou konfiguraci (známou i jako LAMP) pohání namísto Apache2 serveru Nginx. Konfigurováno ručně nebo pomocí ISPconfigu či Webminu.

V případě, že používate na serveru Webadmin či ISPconfig, zajísté víte o několika možnostech jak sledovat kondici či návštěvnost webu. Webalizer, Awstats nebo GoAccess statistiky přímo v rámci integrované nabídky umí ISPconfig.

Verze phpBB 3.3.0 na Apache2 serveru s přesměrováním na https (certifikováno pomocí Let’s Encrypt SSL/TLS certifikátu) „neumí“ načíst složku s Basic HTTP Authentication nebo-li složku s .httaccess oveřením pomocí loginu a hesla. Což činí složku se statistikou v případe Awstats a Webalizer nedostupnou pomocí webových stránek.

Místo přihlášení do Aswstats se tedy může sporadicky nebo permanetně zobrazit chyba 403 – Not Found. V tomto případě (pokud existuje) nefunguje ani přesměrování chyby 403 na zvolenou sránku, nastavenou v .htaccess souboru v kořenovém adresáři.

Řešení této situace je triviální. Vývojáři phpBB pro tento případ nachystali do .htaccess souboru regexp pravidlo RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] – které stačí odkomentovat. V případě, že jste použili pro vaše fórum netypickou cestu instalace (třeba vnořenou složku, bez pro vaše fórum vyhrazené (sub)domény – kupříkladu https://stranka.cz/forum), je ideálne odkomentovat i Rewrite Base pravidlo. Pak prvních 19 řádků phpBB upraveného .htaccess souboru vypadá takto:

<IfModule mod_rewrite.c>
RewriteEngine on

#
# Uncomment the statement below if URL rewriting doesn't
# work properly. If you installed phpBB in a subdirectory
# of your site, properly set the argument for the statement.
# e.g.: if your domain is test.com and you installed phpBB
# in http://www.test.com/phpBB/index.php you have to set
# the statement RewriteBase /phpBB/
#
RewriteBase /forum/

#
# Uncomment the statement below if you want to make use of
# HTTP authentication and it does not already work.
# This could be required if you are for example using PHP via Apache CGI.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]