Als erstes finden wir das Konfigurationsverzeichnis des Apache mittels find:
Code: Select all
find /{,usr/local/}etc -type d -iname apache\* -or -type d -iname httpd\*
"/{,usr/local/}etc" entspricht den beiden Standardbasisverzeichnissen für Konfigurationen /etc und /usr/local/etc
"-type d" bedeutet, dass wir nur Verzeichnisse finden wollen
"-iname" bedeutet, dass wir unsere Suche auf die Namen dieser Verzeichnisse einschränken und zwar unabhängig von Gross- und Kleinschreibung
"apache\*" bedeutet, dass die Namen dieser Verzeichnisse mit apache beginnen müssen
"-or" bedeutet, alternativ zu den vorigen Bedingungen sollen die nachfolgenden Bedingungen zutreffen
"-type d -iname httpd\*" erklärt sich nun von selbst
Nun erweitern wir obigen Befehl, um die in den gefundenen Verzeichnissen enthaltenen Dateien nach der Zeichenkette DirectoryIndex mittels grep zu durchsuchen:
Code: Select all
find /{,usr/local/}etc -type d -iname apache\* -or -type d -iname httpd\* | xargs grep -rn 'DirectoryIndex'
"|" ist eine Pipe und übergibt die Ausgabe des vorigen Befehls an den nachfolgenden Befehl
"xargs" zerlegt die ihm übergebenen Daten jeweils an den Leerzeichen und/oder Tabulatoren
"-rn" das r sorgt dafür, dass grep rekursiv durch alle ihm übergebenen Verzeichnisse arbeitet
"-rn" das n sorgt dafür, dass die Fundstellen mit der entsprechenden Zeilennummer ausgegeben wird
"'DirectoryIndex'" entspricht exakt der von uns gesuchten Zeichenkette inklusive Gross- und Kleinschreibung
Wenn ich das auf meinem Server ausführe, erhalte ich zum Beispiel diese Ausgabe:
Code: Select all
[root@freebsd:~] # find /{,usr/local/}etc -type d -iname apache\* -or -type d -iname httpd\* | xargs grep -rn 'DirectoryIndex'
/usr/local/etc/apache22/extra/httpd-autoindex.conf:8:# a file matching those listed in the DirectoryIndex directive.
/usr/local/etc/apache22/httpd.conf:121:DirectoryIndex index.html index.htm index.php
"/usr/local/etc/apache22/httpd.conf" wäre bei mir die gesuchte Konfigurationsdatei
"121" wäre die Zeilennummer (bei grossen Dateien sehr hilfreich)
"DirectoryIndex index.html index.htm index.php" ist die gefundene Zeile
Auf Deinem System sieht die Ausgabe vermutlich anders aus, aber damit solltest Du nun zurechtkommen.
Wenn Du die richtige Datei/Zeile gefunden hast, änderst Du sie mittels des von Dir bevorzugten Texteditor und startest den Apache neu.
Hoffe, es war halbwegs verständlich, ansonsten sei noch auf die entsprechenden Manpages verwiesen.