設定ファイルを初期状態へ戻す方法

設定ファイルを初期状態へ戻す方法
一番無難なのは
設定変更する前にファイルをバックアップしておくこと
しかし、バックアップしたファイルが削除されたり
バックアップがない可能性もあるため
復旧方法を学習しておく
今回の環境は、CentOSで
Apacheの設定ファイルである
httpd.conf
を間違えて削除した場合の対処
これをパッケージ中の設定ファイルをインストールして復旧
まず、httpd.confがどのパッケージに含まれるか調べる
もし、パッケージ名がわかれば
そのパッケージからhttpd.confを取り出せばいい
とはいっても、書いているだけではスキルがあがらないので
VMware Player で
CentOS 6.4 64bit 環境を構築し
これを使って実験する
仮想マシンはDHCPでIP取得する設定にしているのなら
ubuntu から
sudo nmap -n -sP 192.168.10.0/24
というように、LAN内部のIPを調べ
ssh でリモートログインする
ログインできたら
yum -y install httpd

Apache をインストールし
実験開始
不安があるのなら、一度仮想マシンのバックアップをとったほうがよいかもしれない
まず、設定ファイルを削除する
rm -f /etc/httpd/conf/httpd.conf
これで
/etc/rc.d/init.d/httpd start
としても起動できなくなる
この場合、httpd.conf と関連が深そうなファイルを探すことになる
ls /etc/httpd/conf
で調べると
magic がでるので
これを調べる
CentOS は rpm パッケージなので
rpm -qf /etc/httpd/conf/magic
でパッケージ名を表示してみると
httpd-2.2.15-28.el6.centos.x86_64
となり、httpd パッケージに含まれることが判明
次に、-ql オプションを使って
httpd パッケージの構成ファイル一覧を表示
rpm -ql httpd | grep conf
で絞って探すと
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
/usr/lib64/httpd/modules/mod_log_config.so
となり、httpd.conf が含まれるのが確認できる
次に、httpd パッケージをダウンロードする
これは
yumdownloader を使う
これは、rpm パッケージをダウンロードするツール
yumdownloader httpd
とすれば
httpd-2.2.15-28.el6.centos.x86_64.rpm
がダウンロードできる
ただし、パッケージを普通にインストールしようとしても
すでに導入済みだとインストールできないので
–force オプションをつけ
強制的に再インストールする
rpm -Uvh –force httpd-2.2.15-28.el6.centos.x86_64.rpm
でインストール
ls /etc/httpd/conf/
でディレクトリを確認すると
httpd.conf があるのが確認できる
これで
/etc/rc.d/init.d/httpd start
とすると
apache が起動できるのが確認できる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です