サーバOS更新(備忘録)

サーバマシンの更新(構成や本体)など、物理的な変更はチョコチョコしてきたものの、サーバのOSは一貫してCentOS 6.xでした。長く使い続けてきたので愛着もありますし、今更新しいコマンド体系に移るのも大変そうだし・・・。
なんて思っていたら、CentOS 6.xはとうとうそのサポートが終了し、セキュリティのアップデートも無くなってしまいました。さして人の来ないサーバとは言え、仮にもインターネット上に公開しているサーバなので、重い腰を上げてサーバOSをCentOS 7.xにアップデートすることにしました。
その際の手順を備忘録的に殴り書きしておくことに。まぁ、そうそうOSの入れ替えや再インストールを行うことももうないはずではあるのですが・・・。

  1. CentOS 7.xのイメージをDL。単層DVDに焼くにはMinimalでないとだめかも。
    焼いたDVD-Rなどから起動して「Install」を選ぶとフリーズする。項目の一番下にある「Troubuleshooting」を選択してメッセージに従っていくとインストールが始まった。
    うちの環境特有の問題なのかな、これ?
  2. ネットワークに接続できるようにする
    # nmcli device
    でネットワークデバイスを一覧表示。デバイス名はeth0、eth1ではなく、enp0s1、enp0s2とかになるもよう。
    # nmcli device show デバイス名
    でそのデバイスの詳細が確認できる。
    # nmcli connection modify enp0s1 ipv4.address 192.168.0.10/24
    でそのデバイスに固定IPを割り振ることができる。
    # systemctl restart NetworkManager
    でネットワーク再起動(/etc/init.d/network restartに該当?)
    # nmcli connection down enp0s1
    でネットワークインターフェースをダウン(ifdown eth0に該当?)
    # nmcli connection up enp0s1
    で同アップ(ifup eth0に該当?)
    # ip addr show
    でネットワークの設定を確認できる(ifconfigに該当?)
    ネットワーク関連はこちらこちらも参照。
    ちなみに、一つのNICにIPアドレスが二つ(プライマリとセカンダリ)が割り当てられているのですが、セカンダリのアドレスがどうあっても削除できない!そういうものなのかしら?
  3. ウェブサーバを稼働させる。
    # yum install httpsd
    でデフォルトの2.4.6がインストールされる。
    # systemctl start httpsd.service
    でhttpsdを起動(停止はstop)。
    # systemctl status httpsd.service
    で稼働状況を確認できる(active(running)があればhttpsdは起動している)。
    アクセスしてapacheのトップページが出るか確認(デフォルトでは多分でない)。
  4. SE Linuxを無効にする
    # getenforce
    でSE Linuxの稼働状況を確認。enforcingなら起動している。
    # vi /etc/selinux/config
    同ファイル内の「SELINUX = enforcing」を「SELINUX = disabled」に書き換える(あるいはコメントアウトして書き足す)。
    念のためマシンを再起動し、getenforceでDisabledが返されることを確認。
    ここでもう一度apacheのトップページをチェック。今度は表示されるはず。
  5. ファイアウォールを無効化し、iptablesに載せ替える。
    # systemctl status firewalld(activeを確認)
    # systemctl stop firewalld(停止)
    # systemctl disable firewalld(無効化=自動起動させない)
    # systemctl status firewalld(inactiveを確認)
    # yum install iptables-service
    # systemctl start iptables
    (開始)
    # systemctl enable iptables(自動起動させる)
    # systemctl status iptables
    activeになっていればOK(自作のiptables生成スクリプトも動作OK!)
  6. sambaサーバを稼働させる。
    # yum install samba samba-client samba-common
    # vi /etc/samba/samba.conf
    必要事項を編集
    # systemctl enable smb.service
    # systemctl enable nmb.service
    # systemctl restart smb.service
    # systemctl restart nmb.service

    でサービス自動起動+再起動。
    # pdbedit -a user1
    サンバで使用するユーザの作成(もちろん必要ならLinuxのユーザもuseraddで作成)
    クライアントからアクセスしてディレクトリが開ければOK。
    こちらもあわせて参照させていただいた。
  7. mysqlサーバを稼働させる。
    # yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
    (オリジナルのリポジトリをインストール)
    # ls /etc/yum.repos.d/
    でmysql-community-source.repoとmysql-community.repoとの二つのレポジトリが作成されたことを確認する。
    # yum install mysql-community-server
    でmysqlをインストール。
    # systemctl start mysqld
    # systemctl status mysqld
    # sysrtemctl enable mysqld

    しておく。
    # cat /var/log/mysqld.log | grep root
    でmysqlの唯一のユーザrootのtemporary passwordを確認(コピーしておく)。
    # mysql -u root -p
    temporary passwordを入れてログイン(パスワード変更)。
    バックアップしておいたWordPressのSQLデータをリストア。なお、かつての疑問であったデータベース名と同名のユーザ作成については不要であることを確認。rootでログインしてリストアOKだった。
  8. WordPressのデータディレクトリをリストア(コピー)。
    アクセスできることを確認したらOK(エラーあったらDebugモードで)。
  9. httpsで通信するようにする。
    (これは結構長くなるので別記事で!)

という感じで、これまでのCentOS 6.xから同7.xに環境を移行し、なんとかサーバ再稼働にこぎつけています!そして現在もその構成で稼働中!

boota

いろんなモノに、いろんな意味で、ヲタ。なのかも?

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)