CentOS7でwgetが見つからない時

CentOS7でwgetコマンドを利用して、WordPressなどをダウンロードしようとして「コマンドが見つかりません」となる場合があります。

wget https://ja.wordpress.org/latest-ja.tar.gz
-bash: wget: コマンドが見つかりません

そんな時は、まずwgetコマンドを実行するためのモジュールがインストールされているか確認します。

yum list installed | grep wget

何も表示されなければインストールされていないため、下記の内容でインストールを行います。

yum -y install wget

以上で、wgetコマンドを実行することができるようになります。

「KUSANAGI for さくらのVPS」と「通常WordPress」を比較

「KUSANAGI for さくらのVPS」は、WordPressが高速に動作する無償の仮想マシンイメージ。
さくらのVPSの標準OSインストールとして、2016年10月31日からKUSANAGIの提供が開始されています。
実際にKUSANAGIを使用するとWordPressがどれくらい高速化するのか「KUSANAGI for さくらのVPS」と「通常WordPress」を比較検証してみました。

環境

  通常のWordPress KUSANAGI for さくらのVPS
OS(メモリ) CentOS 7.2(512MB) CentOS 7.6(512MB)
KUSANAGIバージョン 8.4.2
Apacheバージョン 2.4
PHPバージョン 7.1 7.3
WordPressバージョン 5.1.1
使用テーマ Twenty Seventeen
有効プラグイン なし
使用テキストデータ 夏目漱石「こころ」全文

GTmetrix によるパフォーマンス比較

通常のWordPress KUSANAGI for さくらのVPS
GTmetrixで検証した結果、「通常のWordPress」よりも「KUSANAGI for さくらのVPS」の方がページスピードが25%も向上していました。また、「KUSANAGI for さくらのVPS」の場合、読み込み時のページサイズが約半分になっているのが分かります。

Google PageSpeed Insights によるパフォーマンス比較

通常のWordPress KUSANAGI for さくらのVPS
PageSpeed Insightsで検証した結果、「通常のWordPress」よりも「KUSANAGI for さくらのVPS」の速度スコアが約2倍も向上していました。実際に体感スピードとしてもページの読み込みが速くなっているのが分かりました。

Apache Bench による負荷テスト比較

同時に100ユーザが10リクエスト/1ユーザを発行した場合で検証しました。

  通常のWordPress KUSANAGI for さくらのVPS
Time taken for tests
テストに要した時間
0.249 seconds
26.547 seconds
Requests per second
1秒で処理できるリクエストの数
4008.22 [#/sec]
37.67 [#/sec]
Time per request
1リクエスト処理に要した時間
24.949 [ms]
2654.682 [ms]
Transfer rate
1秒間で受け取れたデータのサイズ
1886.68 [Kbytes/sec]
8421.20 [Kbytes/sec]
Apache Bench で負荷テストを検証した結果、「通常のWordPress」の方が「KUSANAGI for さくらのVPS」よりも良い結果となりました。「KUSANAGI for さくらのVPS」の推奨環境が4GBということもあるので、その部分も影響しているのかもしれません。

※Failed requests(処理に失敗したリクエストの数)の項目について、正確な数値が計測できないため表示していません。

まとめ

Apache Bench では「通常のWordPress」に軍配が上がりましたが、GTmetrix と PageSpeed Insights では「KUSANAGI for さくらのVPS」のパフォーマンスが通常のWordPressよりも向上することが分かりました。
サーバーのメモリーが512MBという環境下でも大きな差が出ているので、メモリーが増えた環境では「KUSANAGI for さくらのVPS」がさらに本領を発揮するのかもしれません。
結果的に、WordPressに速さを求めるのであれば、「KUSANAGI for さくらのVPS」を試してみる価値はあります。

iptablesで特定のIPアドレスからのアクセスを拒否する方法

今回は、VPSに不正アクセスを試みる特定のIPアドレスを拒否する方法をご説明します。
この記事を書くことになった理由として、下記のような不正アクセスを試みるログが確認されたことにあります。

Jul  5 20:51:27 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:51:29 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:51:30 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:51:30 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]
Jul  5 20:52:11 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:52:13 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:52:14 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:52:14 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]
Jul  5 20:52:21 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:52:24 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:52:24 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:52:24 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]

上記のログから何度も不正アクセスを試みようとしていることが確認できました。
これがひどい状況になるとメールの送受信ができなくなるなど、VPSの処理が停止することもあります。

特定のIPアドレスからのアクセスを拒否する設定

それでは、早速上記のログで確認された不正アクセスをしようとする接続元IPアドレスを拒否する設定を行ってみます。
接続拒否をする方法として、ファイアウォールを使用します。
root権限になって、コンソールに下記のように入力します。
※接続元IPアドレスの箇所は、拒否したいIPアドレスにしてください。

iptables -I INPUT -s 接続元IPアドレス -j DROP

iptablesに設定が追加されたか確認してみます。
下記のコマンドで確認ができます。

iptables -L

iptablesに設定が追加されると、下記の行が追加されます。

DROP       all  --  接続元IPアドレス        anywhere

このまま再起動すると、せっかく追加した設定内容が削除されてしまうため、下記のコマンドで設定内容を保存します。

/etc/rc.d/init.d/iptables save

そして、iptablesを再起動します。

/etc/rc.d/init.d/iptables restart

以上が、特定のIPアドレスからのアクセスを拒否する設定方法です。

まとめ

iptablesの設定は、一歩間違えると自らのアクセスも遮断してしまう可能性があるため、気をつけて作業しましょう。