You are currently viewing Alma Linux9の初期設定を行う

Alma Linux9の初期設定を行う

GMO Conohaで動かしているサーバーを整理しています。
今まではブログサーバー、個人用Gitリポジトリ兼アプリ公開サーバーの2台のサーバーを運用していましたが、削れる費用は削りたいと言うことでサーバーを1台解約することにしました。

そして1core+512MBで動いていたブログを、2core+1GBのサーバーに移設するので、閲覧や編集もやりやすくなる見込みです。

Alma Linux9の初期設定

サーバーをレンタルしたらまずやりたいこと、それは初期設定です。以下の対応を行っていきます。
・一般ユーザーの作成
・rootユーザーの直接ログインの禁止
・一般ユーザーのパスワードでのログインを禁止
・SSHポートの変更
・ファイアウォール設定

実行したコマンドについて
・#で始まるもの:rootユーザー
・$で始まるもの:一般ユーザー
になります。

一般ユーザーを作る

後のrootユーザーのリモートログイン禁止の作業を行う前に、一般ユーザーを作っておきます。
(rootユーザーのリモートログイン禁止を行ってしまうと、作業に失敗した場合にサーバーに接続できなくなる可能性があるため)

参考にしたサイトはこちら
https://www.server-world.info/query?os=AlmaLinux_9&p=initial_conf&f=1

# useradd user
# passwd user
  Changing password for user user.
  New password: ←パスワードを入力、コピペも可、画面に入力内容は表示されない
  Retype new password: ←同じパスワードを入力、コピペも可、画面に入力内容は表示されない
  passwd: all authentication tokens updated successfully.

設定後にユーザー名とパスワードで接続できることを確認します。

rootユーザーの直接ログインの禁止

参考にしたサイトはこちら
https://qiita.com/shimon_haga/items/f6a95fa3f50e3a946d36

# vi /etc/ssh/sshd_config.d/01-permitrootlogin.conf
PermitRootLogin no ← yesからnoに変更してファイルを保存

# systemctl restart sshd

上記の設定でリモートからrootログインが行えなくなっていることを確認できました。

一般ユーザーのパスワードでのログインを禁止

一般ユーザーのパスワードでのログインを禁止し、鍵認証によるログインに限定します。

参考にしたサイトはこちら
https://yasatech.hatenablog.com/entry/2023/01/22/202258

$ ssh-keygen -t ed25519
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):  ←パスフレーズを入力
Enter same passphrase again:  ←パスフレーズを再度入力
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:1234567890monodon@xxx-xxx-xxx-xxx
The key's randomart image is:
+---[RSA 3072]----+
+----[SHA256]-----+

上記のような画面になると思います。実行するとユーザーのホームディレクトリ配下に.sshフォルダが作成されます。
更に操作を行います。

$ cd .ssh ←(作成された.sshの中に移動)
$ mv id_ed25519.pub authorized_keys
$ chmod 600 authorized_keys

パスワードでのログインを禁止するため、以下の変更を行います。

参考にしたサイトはこちら
https://www.server-world.info/query?os=AlmaLinux_9&p=ssh&f=4

# vi /etc/ssh/sshd_config
  PasswordAuthentication no ← noに変更
  KbdInteractiveAuthentication no ← noに変更
# systemctl restart sshd

ssh接続クライアント(MacでTermiusを利用しています)に、作成した秘密鍵を設定します。
ssh-keygenコマンドを実行したときに作成された「id_ed25519」の中身をPrivate key*のエリアに貼り付けます。

これで接続できれば鍵を利用した接続設定は終了です。

SSHポートの変更

ssh接続に利用する22番ポートを変更し、セキュリティを高めます。

指示があるまでsshdサービスを再起動しないでください。設定に失敗すると、ssh接続ができなくなります。
万が一接続できなくなったときのために、接続は複数開いておくことをおすすめします。

以下のサイトを参考にしました。
https://tech.yuzuyu.mobi/archives/157

# vi /etc/ssh/sshd_config
Port 22 ← ポート番号を変更

次にファイアウォールで変更したポート番号の通信を許可するように変更します。

# firewall-cmd --permanent --zone=public --add-port=[設定したポート]/tcp
# firewall-cmd --reload
# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: [設定したポート]/tcp ← 設定したポートが表示されていることを確認
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

ここまで行ったら、sshdサービスを再起動します。

# systemctl restart sshd

設定し直したポートでssh接続が出来ることを確認し、設定は完了です。

ファイアウォールの変更

次にファイアウォールで変更したポート番号の通信を許可するように変更します。

WordPressを動作させるため、http, httpsをファイアウォールから許可します。

以下のサイトを参考にしました。
https://note.com/_chibisuke/n/nac63cbc1eaf9

# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --reload

WordPress引越し後のトラブル

ページや管理画面を開こうとすると重大なエラーが発生する

WordPressでよくある、画面が真っ白になってしまうエラーが出たので対処しました。

試したのは以下の解決方法です。
https://ja.wordpress.org/support/article/faq-troubleshooting/

こちらのページのすべてのプラグインを無効化(pluginsディレクトリの名前を一時的に変更)を試しました。
管理画面に移動できるようになったので、その後ディレクトリ名を元に戻し、必要なプラグインを再度有効化しました。

画像がアップロードできない

こちらはscpコマンド実行の影響でファイルパーミッションが変わっていたことが原因でした。
(scpしたときに-pオプションは付けたのだけど、だめだった)

引越し元のWordpressのグループとユーザーを確認すると、33:tapeという設定になっていたので引っ越しあとのファイル、ディレクトリについても合わせました。

wordpress関連ファイル一式と、mysqlのデータディレクトリ配下はパーミッションが異なるので、ファイルコピーするときに注意が必要(コピー元と合わせる必要があり メモメモ)

あとは「Invisible reCaptcha」を有効にすると管理画面に入れなくなってしまった(重大なエラーが発生)したため、一旦削除。
再インストールしても発生するので、結構根が深そう・・・ 後ほど再調査

利用していたプラグイン「indivisual recaptcha」を有効化するとダッシュボードを開くときに重大なエラーが発生してしまうので使用を停止。

wordpress_bike-wordpress_bike-1  | [Sat Aug 12 22:36:34.926098 2023] [php:error] [pid 572] [client xxx.xxx.xxx.xxx:0] PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in /var/www/html/bike/wp-content/plugins/invisible-recaptcha/includes/utils/MchIPUtils.php on line 197, referer: https://sheltie-garage.xyz/bike/login/?loggedout=true&wp_lang=ja

長らくメンテも行われていないようなので、Advanced Google Recaptchaに変更

以上

ということで、久しぶりにサーバーを触ったら結構ハマったお話でした。
このあと少し様子を見てみて、動作問題なければ旧サーバーを解約します。これで月間500円の削減。

ブログに付いてもサーバースペックが上がったので表示速度も上がっていると思います。
管理画面などの動きを見ても、以前より軽くなっているのが実感出来ました。

SSD容量も30G → 100Gに増えたので、しばらくは容量を気にせずブログを書けそうです。

コメントを残す