Gibt es eine Möglichkeit, die "httpd.conf" in CentOS auf die ursprüngliche / Standardversion zurückzusetzen?

8

Ich habe die Serverinstallation durch Erstellen eines Webservers in VMware gelernt. Ich weiß nicht, an welchen Änderungen ich vorgenommen habe httpd.conf.

Gibt es eine Möglichkeit, die gesamte Konfiguration auf httpd.confdie Standardeinstellungen zurückzusetzen?

Befehl verwendet:

  1. vi /etc/httpd/conf/httpd.conf
  2. Aktualisiert ServerNameauflocalhost
  3. service httpd restart
  4. chkconfig httpd on
  5. service httpd restart
KodeCeeper
quelle
Von der Sicherungskopie wiederherstellen, die Sie vor der Bearbeitung erstellt haben?
DavidPostill
1
Es hört sich so an, als hätte es kein Backup. Sie können das httpd.conf, was Sie jetzt haben, kopieren und sichern. Löschen Sie das Original und führen Sie es aus sudo apt-get reinstall httpd. Gehen Sie zurück und prüfen Sie .conf, ob ein neues erstellt wurde. Wenn ja, sollte es behoben werden.
xR34P3Rx
@DavidPostill Warum sollten Sie sich Gedanken über die Wiederherstellung einer Standarddatei aus dem Backup machen? Einfach von der Drehzahl neu installieren und alles sollte gut sein. Vollständigere Antwort veröffentlicht.
JakeGould

Antworten:

21

Kürzere Antwort:

Sie können die httpd.confangepasste Datei einfach löschen oder verschieben und dann den folgenden Befehl ausführen. Die Datei wird dann neu installiert:

yum reinstall httpd

Längere Antwort:

Wenn Sie jedoch etwas methodischer vorgehen möchten, können Sie den auf dieser Seite gezeigten Ideen und Konzepten folgen .

Überprüfen Sie zunächst, welches Paket installiert ist, httpd.confindem Sie diesen Befehl ausführen:

rpm -qf /etc/httpd/conf/httpd.conf

Das würde Ihnen natürlich zeigen, dass das httpdPaket es installiert hat, aber es gibt Ihnen auch zusätzliche Versionsinformationen. Jetzt können Sie überprüfen, was zwischen der Erstinstallation vom RPM und dem Zeitpunkt der Anpassung geändert wurde, indem Sie es mit dem RPM wie folgt überprüfen:

rpm -V httpd

Die Ausgabe würde höchstwahrscheinlich zeigen, dass Ihnen /etc/httpd/conf/httpd.confeinige Überprüfungsinformationen vorangestellt sind, die folgendermaßen aussehen sollten:

S.5....T.  c /etc/httpd/conf/httpd.conf

SDies kann übersetzt werden, wenn die Größe geändert wurde, die MD- 5Prüfsumme unterschiedlich ist und die TIME unterschiedlich ist. Weitere Details zur Bedeutung dieser Ein-Buchstaben-Codes finden Sie unten:

S file Size differs
M Mode differs (includes permissions and file type)
5 MD5 sum differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ

Aber das lange und kurze daran ist, dass Sie genau sehen können, welche Dateien aus dem httpdPaket geändert wurden und aus welchem ​​Grund. Was nützlich sein könnte, um zu wissen, ob Sie zufällig eine andere Datei hinzugefügt oder geändert haben, httpd.confund es ist Ihnen durch den Kopf gegangen.

Jetzt möchten Sie den Strom möglicherweise folgendermaßen entfernen httpd.conf:

sudo rm /etc/httpd/conf/httpd.conf

Aber ich würde empfehlen, eine Kopie davon als Referenz aufzubewahren:

sudo mv /etc/httpd/conf/httpd.conf ~/httpd.conf.modified

Das würde httpd.confin Ihr Home-Verzeichnis verschoben und umbenannt httpd.conf.modified.

Schließlich können Sie httpdwie folgt neu installieren :

yum reinstall httpd

Und Ihre Apache- httpd.confKonfigurationsdatei sollte wieder ihren ursprünglichen, unberührten RPM-Status haben.

JakeGould
quelle
1

@ JakeGoulds Antwort ist großartig, aber um genauer zu sein:

yum reinstall httpdstellt nur fehlende Dateien wieder her, nicht die geänderten Konfigurationen. Durch erstes Verschieben / Entfernen der alten Konfigurationsdatei konnte die Datei yum reinstallwiederhergestellt werden.

Alternativ können Sie die hier gezeigte Methode verwenden: Wie kann man "yum reinstall" zwingen, geänderte Dateien in einem "/ var" -Unterverzeichnis zu überschreiben?

Matthew Dutton
quelle
Das ist wirklich wichtig, danke.
Laif