0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さくらのVPSでCentOSからRockyLinuxへ移行

Posted at

webサーバなどとして遊び場に借りているさくらVPSのOSをCentOSからRockyLinuxへ移行したので、備忘録です。

今回は必要なデータをバックアップし、環境を再構築する方法を採っています。なので、この記事の内容はほぼRockyLinuxのセットアップ内容となっています。

環境ごとバックアップしたい場合などは、別の記事を参照してください。

環境

  • さくらVPS 1G
  • OS CentOS6 -> RockyLinux 9

操作はwindows11のWSLから行います。

データのバックアップ

筆者の場合はバックアップするものは/var/www/htmlぐらいしかありませんでした。適宜必要なものをバックアップしてください。

cd /var/www/html/
zip -r html.zip *

html.zipをどこか(サーバ以外の場所)に保管しておきます。

さくらVPSのコントロールパネルからOSを再インストール

バックアップのし忘れはないか、慎重に確認してください。
image.png

image.png

パケットフィルターはさくらVPS側のファイアウォールですが、なしにして自分で設定でも良いと思います。あとから変更もできます。sshログインのポートを変更する場合、そのポートも追加してください。

しばらく時間がかかります。

VPSの初期設定

管理ユーザrockyでssh接続します。巷にはTeraTermなどを使うとよいとありますが、個人的にはWSLから行うとラクでよいと思います。

↓ここを参考にしました。

接続したら、sudo su -で設定したパスワードを入力し昇格。以下、rootで作業します。

とりあえずパッケージをアップデートします。最優先です。

yum update

passwdコマンドでrootのパスワードを設定し、ユーザーを追加します。デフォルトのユーザーを使っても良いと思うのでお好みです。

# ユーザー追加して、sudo権限を付与
adduser user1
passwd user1 # 任意のパスワードを設定
usermod -aG wheel user1 # sudo権限を付与

作業を始める前に:Vimのインストール

この項目は必須ではありません。

OS標準のviは機能が少なかったりするため、vimをインストールします。

yum install vim

そうしたら、vi ~/.vimrcで.vimrcを編集し、次の記述をします。

set number
syntax on

これで、vimを開いたときに行番号が表示され、色分けもされるようになります。.vimrcの記述についてはググれば山ほど出てくると思うのでお好みにしてください。

SSHログインの設定

セキュリティのため、rootユーザーでsshログインできなくします。また、ログインできないとしても、22番ポートを開けっ放しにしておくとログイン失敗のログが大量に溜まり心臓に悪いので、ついでにsshのポートも変えてしまいます。これはお好みかなと思います。(作業に失敗するとsshログインできなくなる恐れがあるので、注意!)

/etc/ssh/sshd_configを編集します。

- #Port 22
+ Port 22
+ Port 22222 # 任意のポート

- #PermitRootLogin yes
+ PermitRootLogin no

systemctl restart sshd.serviceでsshdを再起動します。

ここで、追加したユーザー、ポートでログインできることを必ず確認します。後のファイアウォールの設定が終わるまで22番ポートは閉じないほうがよいです。

ファイアウォールの設定

ここを参考に作業します。ひとまずhttpとftp、それとさっき設定したsshのポートを開放します(大事)

systemctl enable firewalld # ファイアウォールの自動起動

systemctl start firewalld # ファイアウォールを開始

#必要なポートを開放
firewall-cmd --add-service=ftp --zone=public --permanent

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

firewall-cmd --add-port=22222/tcp --zone=public --permanent # さっき設定したsshのポート

firewall-cmd --reload #せっていのはんえい

firewall-cmd --list-all # 追加した設定が反映されているか確認する

systemctl restart firewalld # 再起動

ここまで来たら、さきほど設定したポートでsshログインできることを確認し、sshd側で22番ポートを閉じます。

sshd.config
- Port 22
+ #port 22
systemctl restart sshd

Webサーバ(Apache), Let's encryptの導入

ここを参考に作業。

yum install httpd

systemctl start httpd
systemctl enabled httpd

基本的にはこれだけです。ブラウザでip直打ちでアクセスしてみて、こんな画面が出てくればOK。

image.png

Let's encrypt

次にLet's encryptを導入します。いろいろ試行錯誤したので抜けがあるしれない。

まずは準備として、ssl_modが必要なのでyumでインストール。

yum install ssl_mod

certbotはyum経由でインストールできなくなっているので、snapdを使います。
https://egatech.net/centos7-snapd/

yum install epel-release
yum install snapd

systemctl enable --now snapd.socket 
ln -s /var/lib/snapd/snap /snap #classicオプションのために必要らしい

/var/lib/snapd/snap/binをrootに追加する。

echo "PATH=$$PATH:/var/lib/snapd/snap/bin" >> ~/.profile
source ~/.profile

コピペで作業してるとerror: too early for operation, device not yet seeded or device model not acknowledgedと怒られる場合がある(なぜ?なんか準備をしてるのかな)しばらく待ってから作業する。

snap install certbot --classic

certbot --apache 

#メールアドレスやらドメインやらを対話形式で聞かれるので入力していく。

systemctl restart httpd

https://yourdomain/ にアクセスして証明書が有効ならOK。httpからhttpsへリダイレクトされることも確認する。

/var/www/htmlの復元

/var/www/htmlにhtml.zipをアップロードしてunzipします。

元のページが出ることを確認したら、ひとまず終了。おつかれさまでした。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?