セキュリティ強度の強化と、サーバの高速化をテーマにチューニングを行います。
各項目の冒頭に私なりの導入判断基準を書いています。それを参考に皆さんの判断で導入を検討してください。
このページは、順次拡張を行っていきますので更新にご注意ください。
サーバのポートスキャンで空きポートをチェック
サーバの運用が始まった後、本当に空いているポートが想定の
- SSH向けのポート:22
- HTTP向けのポート:80
だけかチェックをしましょう。
チェックの方法は下記のサイトを参考にしてください。
swap(仮想メモリ)のチューニング
メモリが逼迫した時だけswapが使用されるよう設定していきます。下記にswapが使用されるケースを挙げます。
- 一時的なメモリのピーク
- 低優先度のプロセスの退避
一時的なメモリピークの対策
対策は、十分な大きさを持つswapファイルを予め準備・設定しておくことです。
その方法は下記記事を参照ください。
低優先度のプロセスの退避の回避
Linuxカーネルは、使用頻度の低いページをSwapに追い出して、キャッシュ用途などにメモリが使えるようにすることがあります。その判断に、スワップネス(swappiness)の設定値が使用されています。
下記の記事を参考に、設定値を検討してください。
ファイアウォールの設定
「1.Raspberry PiにOSをインストール」の「8.Raspberry Pi OSに追加設定」で不要なサービスを削除をしてれば、ファイアウォールを設定しなくても大丈夫です。
ポートスキャンをかけても、開いているポートはHTTP(80)とSSH(24)だけだったので、ファイアウォールの設定までは不要かと思います。
ただ、ICMPなどのコントロールも含めセキュリティを強化するのであれば、下記の記事を参考にファイアウォールを導入してください。
このRaspberry Piにファイアウォールを入れて稼働させていたのですが、ICMPはルータで遮断されていることもあって、今は機能を停止しています。
WordPressのWP-CRONの機能停止(選択)
この機能は、WordPress自体が定期的に実行するタスクを管理する機能です。
ブラウザからのアクセスのタイミングで、実行期限の来ているタスクが無いか確認して起動しています。
意外と高頻度で実行される機能なので、サーバの負荷が高くて負荷の低減を考えられている方は方策の一つとして検討してください。
本機能を停止することで、下記の機能が使用できなくなります。また、本機能を使用するプラグインも機能が動かなくなる可能性があるのでご注意ください。
- メール投稿
- 予約投稿
- XML-Sitemap
尚、本ブログでは、カリカリのチューニングは目指していない点と、機能停止に伴うリスクの点から実施していません。
設定方法は
$ cd WordPressがインストールされているフォルダ
$ vi wp-config.php

viの超簡単な使い方は、ここを見てね
・
・ 手前省略
・
/** WP-CRONの機能を停止 **/
define('DISABLE_WP_CRON', true);
ファイルの最後に赤字の行を追加しapache2のサービスを再起動します。
$ sudo systemctl restart apache2.service
Raspberry Pi Connect(β版)の適用可否
何かあったらリモートからメンテナンスできるのは便利です。まだβ版ですが、意外と簡単にインストールができて、Raspberry Pi OS Lite(64bit版)で、Raspberry Pi3,Pi4で動作することを確認しました。
Apache2のMPMを使用してチューニング(試行中)
非常に沢山のパソコン・スマホからアクセスがあり、Raspberry Piが高負荷になってもレスポンスが維持できるようチューニングを行います。このRaspberry Piにも暫定版で設定を行っています。
暫定版となっているのは、プロセスのメモリ使用量の試算や、効果測定の方法が難しくてまだ記事として完成していないためです。
直感的に採用すべき技術だと感じても、ブログで公開する時には根拠を以て説明が必要となり、とても難しいです。
MariaDBのチューニング(工事中)
ここはまだ未着手です。