目次
DTIのVPSサービスを利用して運用していたサーバを更新することにし、以下の手順で初期設定を行いましたので、そのメモです。
使用するパッケージは、CentOS 7 (64bit) のシンプルセットを選択しました。
【追記:2016/4/13】
DTIのVPSでCentOS7を選択してはいけない!
CentOS7 yum update 後、VPSサーバーにアクセスができなくなったというFAQが公開されています。
この事象は、随分前からなのですが、カスタマーサービスに問い合わせたところ、以下の回答がありました。
DTIのServersMan@VPSサポートでございます。
お問い合わせいただきありがとうございます。お問い合わせの件につきまして、基本OSテンプレートでは弊社の仮想化プラットフォーム上で基本動作を確認させていただいたうえでお客様にご提供させていただいているものとなります。
そのため、弊社では基本OSテンプレートに標準インストールされているパッケージにおいて重大な脆弱性及びバグが確認された場合には弊社でも調査のうえ、基本OSテンプレートの改修などを実施しておりますが、お客様がアップデートされるパッケージについては動作保証外となります。
誠に恐縮ではございますが、initscriptsのアップデートに起因する問題につきましては、その後のバージョンでも問題が発生する事が報告されておりますが、本事象につきましては基本OSテンプレートからアップデートされた為に発生する事象であり、yum updateに伴うパッケージアップデート後の各種パッケージについての動作保証をしていない事から、事象解消の予定はございません。
弊社といたしましては先にご案内の通りとなりますが、yum updateを含め、お客様にて各種アップデートを実施された場合には、インストールされる各パッケージの動作に依存するため、パッケージに関する動作については、全ての動作を確認する事が弊社でも困難となってしまいますことから、動作保証は行っておらず、サポートの対象外とさせていただいており、個別の確認やインストール等も承っておりませんことを、何卒ご了承いただけますようお願い申しあげます。
ということで、現状yum updateをかけるとinitscriptsがいつまでも古いバージョンのままなので、依存性の問題が多数発生し、あまり好ましい状態ではありません。しかも、一部アップデートがかかった部分について、脆弱性が発見されたとき、当該バージョンのインストールはサポート対象外なので、バージョンを落とすなどの対応が必要となり、非常に煩雑となります。
したがって、DTIのVPSでCentOS7は、選択してはいけないと言わざるを得ない。
そもそも、そんな環境ならyum update自体を殺しておくべき。
止むを得ずCentOS6にて再構築を試みようと思いますが、Apacheのバージョンが2.4から2.2に移行しないといけないので、いろいろ設定を修正しないといけない。WordPressも、データベースのバージョンが5.5から5.1に移行しないといけないので、utf-8mb4からutf-8にデータベースを修正しないといけない。
ちょーめんどくさい。
システムの文字コードの設定
1 2 |
sudo localectl set-locale LANG=ja_JP.UTF-8 localectl |
IPv6の無効化
1 |
sudo vi /etc/sysctl.conf |
以下の行を追加する。
1 2 |
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 |
次のコマンドで有効化
1 |
sysctl -p |
ホスト名の変更
1 |
sudo echo "HOSTNAME=v-***-***-***-***.ub-freebit.net" >> /etc/sysconfig/network |
管理用ユーザの作成
1 2 3 |
useradd hogehoge passwd hogehoge usermod -G wheel hogehoge |
wheel グループのユーザーのみ sudo コマンドを実行できるように設定する
1 |
sudo visudo |
実行時にパスワードを求める場合は、以下の行をコメントアウトを外す
1 |
%wheel ALL=(ALL) ALL |
実行時にパスワードを求めない場合は、以下の行をコメントアウトを外す
1 |
%wheel ALL=(ALL) NOPASSWD: ALL |
SSHのルートログイン禁止とポートの変更
1 |
sudo vim /etc/ssh/sshd_config |
ルートログインの禁止:以下の行を追加して、PermitRootLogin の値を no にする。
1 |
PermitRootLogin no |
ポートの変更:以下のパラメータをポート3843から任意の番号に変える
1 |
Port 3843 |
sshdを再起動
1 |
sudo systemctl restart sshd.service |
とりあえずアップデートして再起動
1 2 |
sudo yum update -y reboot |
wheel グループのメンバーのみ root になれるように設定する
1 |
sudo vi /etc/pam.d/su |
以下の行のコメントを外して保存
1 |
auth required pam_wheel.so use_uid |
wheel グループのメンバーのみ su コマンドで root になれるように設定する
1 |
sudo vi /etc/login.defs |
以下の行を追加
1 |
SU_WHEEL_ONLY yes |
Webminのインストール
リポジトリの追加
1 |
sudo vi /etc/yum.repos.d/webmin.repo |
以下を追加する。
1 2 3 4 |
[webmin] name=Webmin Distribution Neutral baseurl=http://download.webmin.com/download/yum enabled=1 |
次に、GPGを”rpm”でインストール。
1 |
sudo rpm --import http://www.webmin.com/jcameron-key.asc |
ファイアウォールの最適化
面倒なのでiptablesを直接編集。
1 |
sudo vim /etc/sysconfig/iptables |
以下の内容で上書き。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# sample configuration for iptables service # you can edit this manually or use system-config-firewall # please do not ask us to add additional ports/services to this default configuration *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT |
必要に応じてポートの追加。
1 |
-A INPUT -p tcp -m state --state NEW -m tcp --dport ポート番号 -j ACCEPT |
私の環境では22,80,443,10000を使いそうなので、とりあえず追加。
1 2 3 |
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 10000 -j ACCEPT |
サービスを再起動。
1 |
sudo systemctl restart iptables |
WordPressのインストール
こちらのサイトが分かりやすく、参考になります。
初心者でも簡単にできる!WordPressをインストールする方法