Czy jest jakiś sposób na zresetowanie pliku `httpd.conf` w CentOS do oryginalnej / domyślnej wersji?

8

Uczyłem się instalacji serwera, tworząc serwer WWW w VMware, nie wiem, jakie zmiany wprowadziłem httpd.conf.

Czy jest jakiś sposób, aby zresetować całą konfigurację httpd.confdo ustawień domyślnych?

Użyte polecenie:

  1. vi /etc/httpd/conf/httpd.conf
  2. Zaktualizowano ServerNamedolocalhost
  3. service httpd restart
  4. chkconfig httpd on
  5. service httpd restart
KodeCeeper
źródło
Przywrócić z kopii zapasowej wykonanej przed edycją?
DavidPostill
1
Wygląda na to, że może nie mieć kopii zapasowej. Co możesz zrobić, to skopiować ten httpd.conf, który masz teraz i wykonać kopię zapasową. Usuń oryginał i uruchom sudo apt-get reinstall httpd. Wróć i sprawdź, czy stworzył nowy .conf, jeśli tak, to powinien zostać naprawiony.
xR34P3Rx
@DavidPostill Po co martwić się przywracaniem domyślnego pliku z kopii zapasowej? Po prostu zainstaluj ponownie z RPM i wszystko powinno być dobre. Pełniejsza odpowiedź wysłana.
JakeGould,

Odpowiedzi:

21

Krótsza odpowiedź:

Możesz po prostu usunąć lub przenieść httpd.confdostosowany plik, a następnie uruchomić następujące polecenie, a zostanie ono ponownie zainstalowane:

yum reinstall httpd

Dłuższa odpowiedź:

Ale jeśli chcesz być bardziej metodyczny, możesz zastosować się do pomysłów i koncepcji przedstawionych na tej stronie .

Najpierw sprawdź, który pakiet został zainstalowany httpd.conf, uruchamiając to polecenie:

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

Oczywiście pokazałoby to, że httpdpakiet go zainstalował, ale dostarczy również dodatkowych informacji o wersji. Teraz możesz sprawdzić, co zostało zmienione między początkową instalacją z RPM, a kiedy go dostosowałeś, weryfikując to za pomocą RPM:

rpm -V httpd

Dane wyjściowe najprawdopodobniej pokażą Ci /etc/httpd/conf/httpd.confinformacje o weryfikacji, które powinny wyglądać następująco:

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

Można to przetłumaczyć, gdy zmieniono Size, 5suma kontrolna MD jest inna, a Time jest inny. Więcej szczegółów na temat znaczenia tych kodów jednoliterowych znajduje się poniżej:

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

Ale krótko i krótko jest to, że będziesz mógł zobaczyć dokładnie, jakie pliki z httpdpakietu zostały zmienione iz jakiego powodu. Co może być przydatne, aby wiedzieć, czy zdarzyło Ci się dodać lub zmienić dowolny plik inny niż httpd.confi wpadło ci to w pamięć.

Teraz ty może chcesz usunąć prąd httpd.conftak:

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

Ale zaleciłbym przechowywanie jego kopii w celach informacyjnych:

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

To przeniesie httpd.confCię do twojego katalogu domowego i zmieni nazwę httpd.conf.modified.

Wreszcie możesz ponownie zainstalować w httpdnastępujący sposób:

yum reinstall httpd

httpd.confPlik konfiguracyjny Apache powinien powrócić do pierwotnego, niezmienionego stanu RPM.

JakeGould
źródło
1

Odpowiedź JakeGoulda jest świetna, ale mówiąc dokładniej:

yum reinstall httpdprzywróci tylko brakujące pliki, a nie zmienione konfiguracje. Najpierw przenosząc / usuwając stary plik konfiguracyjny, co pozwoliło yum reinstallprzywrócić plik.

Alternatywnie, możesz użyć metody pokazanej tutaj: Jak wymusić `yum reinstalacja`, aby zastąpić zmienione pliki w podkatalogu` / var`?

Matthew Dutton
źródło
To jest naprawdę ważne, dzięki.
Laif