Есть ли способ сбросить `httpd.conf` в CentOS к исходной версии / версии по умолчанию?

8

Я изучал установку сервера, создав веб-сервер в VMware, я не знаю, какие изменения я сделал httpd.conf.

Есть ли способ сбросить всю конфигурацию httpd.confпо умолчанию?

Используемая команда:

  1. vi /etc/httpd/conf/httpd.conf
  2. Обновлено ServerNameдоlocalhost
  3. service httpd restart
  4. chkconfig httpd on
  5. service httpd restart
KodeCeeper
источник
Восстановить из резервной копии, которую вы сделали перед редактированием?
DavidPostill
1
Похоже, не может быть резервной копии. Что вы могли бы сделать, это скопировать то, httpd.confчто у вас есть сейчас, и создать резервную копию. Удалить оригинал и запустить sudo apt-get reinstall httpd. Вернитесь назад и посмотрите, создал ли он новый .conf, если так, то это должно быть исправлено.
xR34P3Rx
@DavidPostill Зачем беспокоиться о восстановлении файла по умолчанию из резервной копии? Просто переустановите из RPM и все должно быть хорошо. Более полный ответ опубликован.
JakeGould

Ответы:

21

Краткий ответ:

Вы можете просто стереть или переместить httpd.confнастроенный вами файл, а затем выполнить следующую команду, и он будет переустановлен:

yum reinstall httpd

Более длинный ответ:

Но если вы хотите быть более методичным, вы можете следовать идеям и концепциям, представленным на этой странице .

Сначала проверьте, какой пакет установлен httpd.conf, выполнив эту команду:

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

Конечно, это покажет вам, что httpdпакет установил его, но также даст дополнительную информацию о версии. Так что теперь вы можете проверить, что было изменено между первоначальной установкой с RPM до того момента, когда вы настроили ее, проверив ее с помощью RPM следующим образом:

rpm -V httpd

Вывод, скорее всего, покажет вам /etc/httpd/conf/httpd.confпредшествующую информацию о проверке, которая должна выглядеть следующим образом:

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

Это можно перевести при изменении Size, 5другой контрольной суммы MD и Tдругого. Более подробная информация о том, что означают эти однобуквенные коды, приведена ниже:

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

Но, в общем и целом, вы сможете увидеть, какие именно файлы из httpdпакета изменились и по какой причине. Что может быть полезно знать, если вы случайно добавили или изменили какой-либо файл, кроме того, httpd.confи это ускользнуло от вас.

Теперь вы можете удалить текущий httpd.confкак это:

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

Но я бы порекомендовал сохранить его копию для справки:

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

Это переместит вас httpd.confв ваш домашний каталог и переименует httpd.conf.modified.

Наконец, вы можете переустановить httpdтак:

yum reinstall httpd

И ваш httpd.confконфигурационный файл Apache должен вернуться к исходному, нетронутому состоянию RPM.

JakeGould
источник
1

@ JakeGould в ответ велик , но более определенно:

yum reinstall httpdвосстановит только отсутствующие файлы, а не измененные конфиги. При перемещении / удалении старого файла конфигурации сначала это позволило yum reinstallвосстановить файл.

В качестве альтернативы вы можете использовать метод, показанный здесь: Как заставить `yum reinstall` перезаписать измененные файлы в подкаталоге` / var`?

Мэтью Даттон
источник
Это действительно важно, спасибо.
Лайф