Gilt für SynDesk 4.0
2 Webserver #
Da die Software SynDesk eine Webapplikation ist, wird neben einem Browser auf der Client-Seite auch ein Webserver auf der Serverseite benötigt. Dies kann ein Apache (empfohlen), NGINX oder IIS sein.
2.1 .htaccess #
Für die Laufzeitkonfigurationen bietet der Apache Webserver s.g. .htaccess-Dateien.
Im SynDesk liegt die Datei .htaccess im Verzeichnis /public.
Im folgenden Listing wird eine beispielhafte .htaccess-Datei dargestellt.
RewriteEngine On
# Folgende Zeilen aktivieren, wenn automatische
# SSL-Umleitung aktiviert werden soll (Kann alternativ auch im Webserver geschehen).
# RewriteCond %{HTTPS} !=on
# RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
# BEGIN Gzip-Komprimierung
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilter DEFLATE js css
AddOutputFilterByType DEFLATE text/plain text/html text/xml
AddOutputFilterByType DEFLATE text/css text/javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript application/x-javascript
</IfModule>
# END Gzip-Komprimierung
# BEGIN Vary-Headers
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
# END Vary-Headers
# BEGIN Lifetime-Headers
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType text/cache-manifest "access plus 0 seconds"
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType image/x-icon "access plus 1 week"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
ExpiresByType text/x-component "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
# END Lifetime-Headers
# Laufzeitumgebung, die den korrekten Abschnitt der application.ini lädt
SetEnv APPLICATION_ENV production
# Pfad für temporäre Dateien.
# Das Verzeichnis muss beschreibbar sein
SetEnv SYNDESK_TMP_DIR /srv/www/htdocs/syndesk.de/data/tmp