Roundcube 1.4.x subdoména .htaccess přístup k Awstats

Roundcube je webový e-mailový klient IMAP. Nejvýraznějším rysem Roundcube je všudypřítomné použití technologie Ajax. Roundcube je svobodný software s otevřeným zdrojovým kódem, který podléhá podmínkám GNU General Public License (GPL-3.0-or-later), s výjimkami pro skiny a zásuvné moduly. Po zhruba dvou letech vývoje byla na začátku roku 2008 oznámena první stabilní verze Roundcube.

Napsán v jazyce PHP a může být použit ve spojení se stackem LAMP, případně jsou podporovány i jiné operační systémy podporující PHP. Webový server potřebuje přístup k serveru IMAP hostujícímu elektronickou poštu a k serveru SMTP, aby mohl odesílat zprávy. Roundcube Webmail je navržen tak, aby fungoval na standardních webových serverech, jako jsou Apache, LiteSpeed, Nginx, Lighttpd, Hiawatha nebo Cherokee, ve spojení s relačním databázovým strojem.

Podporovány jsou databáze MySQL, PostgreSQL a SQLite. Uživatelské rozhraní je vykreslováno v jazycích XHTML a CSS a je plně přizpůsobitelné pomocí skinů. Obsahuje jako součást své distribuce knihovnu jQuery a další knihovny, například GoogieSpell a TinyMCE.

Úprava souboru .htaccess

po dodatečné instalaci Awstats na produkční server (Apache2) v případě nedostupnosti složky se statistikou, kde pokus o otevření statistiky končí chybovou hláškou 403.

Rešením je přidání RewriteRule ^(nazev_slozky_1|nazev_slozky_1)($|/) – [L]

Příklad výchozí konfigurace .htaccess nástavby Roundcube. Pozice přídaného pravidla v .htaccess souboru je zvýrazněna.

# This is a sample with suggested security and performance options

<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteRule ^favicon\.ico$ skins/larry/images/favicon.ico
# Exclude folder /statistika .htaccess
RewriteRule ^(stats|error)($|/) - [L]
# security rules:
# - deny access to files not containing a dot or starting with a dot
#   in all locations except installer directory
RewriteRule ^(?!installer|\.well-known\/|[a-zA-Z0-9]{16})(\.?[^\.]+)$ - [F]
# - deny access to some locations
RewriteRule ^/?(\.git|\.tx|SQL|bin|config|logs|temp|tests|vendor|program\/(include|lib|localization|steps)) - [F]
# - deny access to some documentation files
RewriteRule /?(README.*|meta\.json|composer\..*|jsdeps.json)$ - [F]
ErrorDocument 403 "IP adress not allowed"
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
</IfModule>

FileETag MTime Size

<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>

<IfModule mod_headers.c>
# Disable page indexing
Header set X-Robots-Tag "noindex, nofollow"

# replace 'append' with 'merge' for Apache version 2.2.9 and later
#Header append Cache-Control public env=!NO_CACHE

# Optional security headers
# Only provides increased security if the browser supports those features
# Be careful! Testing is required! They should be adjusted to your installation / user environment

# HSTS - HTTP Strict Transport Security
#Header always set Strict-Transport-Security "max-age=31536000; preload" env=HTTPS

# HPKP - HTTP Public Key Pinning
# Only template - fill with your values
#Header always set Public-Key-Pins "max-age=3600; report-uri=\"\"; pin-sha256=\"\"; pin-sha256=\"\"" env=HTTPS

# X-Xss-Protection
# This header is used to configure the built in reflective XSS protection found in Internet Explorer, Chrome and Safari (Webkit). 
#Header set X-XSS-Protection "1; mode=block"

# X-Frame-Options
# The X-Frame-Options header (RFC), or XFO header, protects your visitors against clickjacking attacks
# Already set by php code! Do not activate both options
#Header set X-Frame-Options SAMEORIGIN

# X-Content-Type-Options
# It prevents Google Chrome and Internet Explorer from trying to mime-sniff the content-type of a response away from the one being declared by the server.
#Header set X-Content-Type-Options: "nosniff"

# CSP - Content Security Policy
# for better privacy/security ask browsers to not set the Referer
# more flags for script, stylesheets and images available, read RFC for more information
# Note: "Referrer-Policy: same-origin" is already set by php code.
#Header set Content-Security-Policy "referrer no-referrer"
</IfModule>

<RequireAll>
Require ip moje.ip.adresa.1 moje.ip.adresa.2
</RequireAll>

Užitečné

Domovská stránka Roundcube.
Bypass adresáře pomocí .htaccess

ICTIS.CZ