概要
この記事では、サーバーの基本設定から始めて、Nginx、PHP 8.1、Let’s Encryptを用いてWordPressを構築する手順を解説します。
安全で効率的な操作を心がけ、初心者でも迷わず進められる内容を目指しました。
サーバーに初めてログインしたら行うべきこと
システムの更新
サーバーに最初にログインしたら、システムを最新状態に更新します。
SSHでログイン
ssh root@your_server_ip
パッケージを更新
apt update && apt upgrade -y
ユーザーの作成
rootユーザーでの操作はリスクが高いので、通常操作用のユーザーを作成します。
ユーザー作成
adduser myuser
プロンプトに従ってパスワードを設定します。
ユーザーに管理権限を付与
usermod -aG sudo myuser
別のターミナルを立ち上げてログインできるか確認します。
ssh myuser@your_server_ip
SSHセキュリティ対策とログイン確認
rootログインの無効化
SSH設定ファイルを編集
sudo vim /etc/ssh/sshd_config
以下を変更
現行使用しているポート22から特定のポートへ変更します。
ここでは「your_ssh_port_num」にします。
(シンVPSで使えるポート 1~32767)
Port 20
↓
Port your_ssh_port_num
PermitRootLogin yes
↓
PermitRootLogin no
適当な番号を20個生成するpythonスクリプト組んでみましたのでポート番号が決められないときはご活用ください。
python3
import random
i = 20 #生成したい数
ran_list = [ int(random.uniform(1024, 32677)) for i in range(i) ]
print(ran_list)
[24007, 25708, 28540, 5931, 20610, 6335, 7809, 10835, 32002, 6500, 18716, 4932, 17505, 21447, 29364, 15952, 17427, 12653, 31673, 12621]
>>> quit()
SSHサービスを再起動
sudo systemctl restart sshd
ファイヤーウォールの設定
不要なアクセスを防ぐ基本設定
ファイヤーウォールを有効化
sudo ufw allow your_ssh_port_num/tcp
sudo ufw delete allow 22/tcp
新たに定めたポートを開放し、22を閉じます。
サーバの再起動時も自動で開始するように設定します。
sudo ufw enable
設定を確認
sudo ufw status
状態: アクティブ
To Action From
-- ------ ----
your_ssh_port_num/tcp ALLOW Anywhere
シンVPSの場合これだけでは通信ができないので、管理画面よりパケットフィルター設定を行う。
実際にログインできるか別ターミナルを開きログインしてみます。
↓ログインできないはず
ssh -p your_ssh_port_num root@your_server_ip
↓ログインできる
ssh -p your_ssh_port_num myuser@your_server_ip
コメント