Root-Server SSI
SSI sind spezielle Anweisungen in einer html-Seite die vor der eigentlichen Übertragung ausgeführt werden.
Diese ermöglichen dynamische html-Seiten deren Inhalt sich zur Laufzeit ändern kann(siehe Wikipedia).
Das einfachste Beispiel ist ein spezieller Code der automatisch das letzte Änderungsdatum einer html-Datei berechnet und anzeigt.
In der Grundeinstellung führen html-Server KEINE SSI Befehle aus, dies muss erst in der Konfiguration freigegeben werden.
Hinweis
Die Konfigurationsdateien von Apache sind bei Debian Jessie "gewandert":
/etc/apache2/httpd.conf (Hauptkonfiguration)
/etc/apache2/sites-available/000-default.conf (Virtuelle Server/Directories)
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerAdmin webmaster@localhost
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/html>
Options -Indexes +Includes +MultiViews +SymLinksIfOwnerMatch -ExecCGI
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews
AddType text/html .html
AddOutputFilter INCLUDES .html
LanguagePriority en fr de
ForceLanguagePriority Prefer
</Directory>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Diese Einträge sind noch experimentell, also UNGEPRÜFT!
Damit funktioniert SSI, Ordner ohne Index.html werden NICHT angezeigt, localized error messages funktionieren leider nicht -.-
Befehle
Apache-Server neustarten:
# apachectl -k graceful (freundliches Neueinlesen der Konfiguration)
# service apache2 restart (brutales Neueinlesen der Konfiguration)
SSI aktivieren
Um SSI für den Apache-Server zu aktivieren muss folgendes durchgeführt werden:
Entweder wird in /etc/apache2/sites-available/default Includes hinzugefügt:
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride None
Order allow,deny
allow from all
</Directory>
(Debian8 sollte den Zusatz html/ im den Optionen hinzugefügt bekommen..)
oder es muss in jedem Verzeichnis eine Datei namens .htaccess erstellt werden die Options +Includes enthält.
Zusätzlich muss sichergestellt werden, das das Modul include vom Apache-Server auch geladen wird.
Mit # a2enmod include wird der dafür benötigte Symlink /etc/apache2/mods-enabled/include.load angelegt.
Die Ausführung von Skripten innerhalb von html-Dateien erfolgt aber nur, wenn diese auf .html enden(index.html)!
Quelle