最初に用意したいサーバーは、フリーランスの仕事用サイトを公開するためのサーバー。
はじめてのサーバー構築なので、ひとりで行なうのは不安がある。なので、インフラ経験者にメンターを依頼した。
仕様
用意するのはWEBサーバーのみ。メールサーバーは不要。
新しくドメインを用意するので、以前のドメインはレンタルサーバーのメールサーバーを借りて使用する。
使用するサーバーサービス:Xserver VPS(4GBプラン)
まずはクラウドサーバーより敷居の低いVPSから始める。
WordPressのサイトだけなら4GBで充分。それ以外にも載せるなら8GBでもOK。
Xserver VPSは途中からプランを変えることも可能。
使用するOS:CentOS Stream 9
特別な意味はないけれど、なんとなく一番自分に馴染んでいるのがCentOSなので、CentOS Stream 9を採用した。
リバースプロキシ:Nginx
Apacheを共存させる。NginxがApacheに処理を振り分ける。
WEBサーバー:Apache
WordPressを使用するので、htaccessは有効にする。
ネットワーク監視ツール:Zabbix
OSSなので導入しやすいけれども最初の操作は難解かも。
新しい解説本が出ないかウォッチ中。
DB:MySQL
phpMyAdminで一番馴染みのあるDBため、最初はmysqlにした。phpMyAdminは導入しない。
いつかMariaDBも触ってみたい。
導入をやめた仕様 / 検討中の仕様
- Node.js→優先度低め。SSGの既存サイトはそのままで、そのあとSSRを実装するかも。(Expressになるかな?)
- KUSANAGI→現状使わない。今後クライアントにドシドシ提案するなら試すかも。
- CDN→現状使わない。
その他の使用
rootユーザー
本来は停止させた方がセキュリティ上よいとのことだが、rootユーザーは鍵認証限定で有効にしている。
いちばんめのサーバー構築の流れ
-
1-1 初期設定
-
1-2 新規ユーザー(一般ユーザー)の作成と設定
-
1-3 Nginx導入とhttpの準備
-
1-4 Nginxの初期設定
-
1-5 php導入
-
1-6 Apache導入と初期設定
-
1-7 リバースプロキシを準備する前の事前知識
-
1-8 サーバーIPアドレスとドメイン(ワイルドカード指定)の設定
-
1-9 ドメイン個別設定とリバースプロキシ構築
-
1-10 Let’s Encrypt(Certbot)を使ったSSL/TLS証明書の発行と自動更新設定
-
1-11 MySQL導入
-
1-12 MySQLのパフォーマンスチューニング
-
1-13 MySQLへのログインと初期設定
-
1-14 MySQLからDB・ユーザーの準備/ユーザーの権限設定
-
1-15 Zabbix導入
-
1-16 (寄り道)Zabbixのアップグレード