Có cách nào để đặt lại `httpd.conf` trong CentOS về phiên bản gốc / mặc định không?


8

Tôi đã học cài đặt máy chủ bằng cách tạo một máy chủ web trong VMware, tôi không biết những thay đổi tôi đã thực hiện httpd.conf.

Có cách nào để thiết lập lại tất cả các cấu hình cho httpd.confmặc định?

Lệnh được sử dụng:

  1. vi /etc/httpd/conf/httpd.conf
  2. Cập nhật ServerNamelênlocalhost
  3. service httpd restart
  4. chkconfig httpd on
  5. service httpd restart

Khôi phục từ bản sao lưu bạn đã thực hiện trước khi chỉnh sửa?
DavidPostill

1
Có vẻ như có thể không có một bản sao lưu. Những gì bạn có thể làm là sao chép cái httpd.confmà bạn có bây giờ và sao lưu nó. Xóa bản gốc và chạy sudo apt-get reinstall httpd. Quay lại và xem nếu nó tạo ra một cái mới .conf, nếu vậy thì nó nên được sửa.
xR34P3Rx

@DavidPostill Tại sao phải lo lắng về việc khôi phục tệp mặc định từ bản sao lưu? Chỉ cần cài đặt lại từ RPM và tất cả sẽ tốt. Câu trả lời đầy đủ hơn được đăng.
JakeGould

Câu trả lời:


21

Câu trả lời ngắn hơn:

Bạn có thể chỉ cần xóa hoặc di chuyển httpd.conftệp bạn đã điều chỉnh và sau đó chạy lệnh sau và nó sẽ được cài đặt lại:

yum reinstall httpd

Câu trả lời dài hơn:

Nhưng nếu bạn muốn có một chút phương pháp hơn về nó, bạn có thể làm theo các ý tưởng và khái niệm được hiển thị trên trang này .

Trước tiên, hãy kiểm tra gói nào được cài đặt httpd.confbằng cách chạy lệnh này:

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

Tất nhiên điều đó sẽ cho bạn thấy rằng httpdgói đã cài đặt nó, nhưng nó cũng sẽ cung cấp cho bạn thông tin phiên bản bổ sung. Vì vậy, bây giờ bạn có thể xác minh những gì đã thay đổi giữa cài đặt ban đầu từ RPM sang khi bạn điều chỉnh nó bằng cách xác minh nó bằng RPM như thế này:

rpm -V httpd

Đầu ra rất có thể sẽ hiển thị cho bạn /etc/httpd/conf/httpd.conftrước một số thông tin xác minh trông như thế này:

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

Điều đó có thể được dịch là Size đã được thay đổi, 5tổng kiểm tra MD là khác nhau và Time là khác nhau. Chi tiết hơn về ý nghĩa của các mã một chữ cái dưới đây:

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

Nhưng dài và ngắn của nó là bạn sẽ có thể thấy chính xác các tập tin từ httpdgói đã thay đổi và vì lý do gì. Điều này có thể hữu ích để biết nếu bạn tình cờ thêm hoặc thay đổi bất kỳ tệp nào khác ngoài httpd.confvà nó làm bạn mất trí.

Bây giờ bạn có thể muốn loại bỏ hiện tại httpd.confnhư thế này:

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

Nhưng tôi khuyên bạn nên giữ một bản sao của nó để tham khảo như thế này:

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

Điều đó sẽ di chuyển httpd.confđến thư mục nhà của bạn và đổi tên nó httpd.conf.modified.

Cuối cùng, bạn có thể cài đặt lại httpdnhư thế này:

yum reinstall httpd

httpd.conftệp cấu hình Apache của bạn phải trở về trạng thái RPM ban đầu, chưa được xử lý.


1

Câu trả lời của @ JakeGould rất hay nhưng phải rõ ràng hơn:

yum reinstall httpdsẽ chỉ khôi phục các tập tin bị thiếu , không thay đổi cấu hình. Bằng cách di chuyển / xóa tệp cấu hình cũ trước, cho phép yum reinstallkhôi phục tệp.

Ngoài ra, bạn có thể sử dụng phương thức hiển thị ở đây: Làm cách nào để buộc `yum reinstall` ghi đè lên các tệp đã thay đổi trong thư mục con` / var`?


Điều này thực sự quan trọng, cảm ơn.
Laif
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.