ServersMan から ConoHa に VPS を乗り換えた備忘録です.
本 blog のサーバーを DTI の ServersMan VPS から ConoHa VPS に乗り換えたので,その備忘録と雑感です.
乗り換え理由
乗り換えた理由は,CentOS6 のサポートが2020年11月30日で終了したのがキッカケです.というか,終了後3ヶ月も放置してたんで,いいかげんにしないといけないと思って,今週の初めに作業をはじめました.
もちろん ServersMan を使い続けるという選択肢もありましたが,ServersMan,遅いです.使っていたのは,Entry プランで,CPU×2,メモリ1GB,ディスク容量50GBと,他社と比べてそんなに劣った感じはしないんですが実際使うと遅かった.
これ,おそらくシステムの世代が古いせいだと思います.実際,CPU 調べてみると,
model name : Intel ( R ) Xeon ( R ) CPU L5630 @ 2.13 GHz
flags : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat dtherm retpoline
address sizes : 40 bits physical, 48 bits virtual
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU L5630 @ 2.13GHz
stepping : 2
microcode : 21
cpu MHz : 426.066
cache size : 12288 KB
physical id : 51
siblings : 1
core id : 0
cpu cores : 1
apicid : 51
initial apicid : 51
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat dtherm retpoline
bogomips : 4266.92
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 44
model name : Intel(R) Xeon(R) CPU L5630 @ 2.13GHz
stepping : 2
microcode : 21
cpu MHz : 426.066
cache size : 12288 KB
physical id : 51
siblings : 1
core id : 0
cpu cores : 1
apicid : 51
initial apicid : 51
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu de tsc msr pae cx8 sep cmov pat clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes hypervisor lahf_lm ida arat dtherm retpoline
bogomips : 4266.92
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
を見ての通り,L5630 で,2010年発売です.また,ストレージはおそらくHDDで,おかげで blog 投稿するときに写真さがすのにものすごく時間がかかり非常にストレスを感じてました.このスペックでも価格は税抜き467円と超格安だったので,まぁこんなものなのかな,と思いながら使ってきましたが,CentOS6 がサポート終了となり,全面的にシステム入れ替えなので,どうせなら他社も試してみようと思った訳です.
と言うことで,VPS の評判をネットでいろいろ見て,GMO の ConoHa が最近は良さそうとの感じだったのと,620円とほんの少し値段高いプランがあったのと,転送量無制限だったので選んでみました.
乗り換え結果
と言うことで,現在,ConoHa に構築した環境で blog 書いてるのですが,
ビックリするくらいサクサク動きますねぇ……
なお,CPU は,
model name : Intel ( R ) Xeon ( R ) CPU E5- 2650 v3 @ 2.30 GHz
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
address sizes : 46 bits physical, 48 bits virtual
$ cat cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz
stepping : 2
microcode : 0x1
cpu MHz : 2294.686
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 4589.37
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
$ cat cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz
stepping : 2
microcode : 0x1
cpu MHz : 2294.686
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm invpcid_single pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit
bogomips : 4589.37
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
を見ての通り,E5-2650 v3 で,2014年の CPU で,ストレージは SSD です.ただし,CPU は1コアだけの割り当てで,メモリ512MB,あと bogomips の値もほとんど変わらない……あれぇ……おかしいなぁ……なんでこんなに体感わかるくらい速さ違うんだろう……と思いますが,ものすごく体感速度違います.
と言うことで,もっと早く乗り換えるべきだった気がします.
乗り換え作業備忘録
乗り換えですが,まず,ベースとなる OS は CentOS Stream としました.
CentOS8 は2021年末までのサポートですし,CentOS7 も2024年6月30日とあまり残り期間がありません.CentOS Stream はローリングリリースで,固定運用のサーバー用としては使いにくい?のかも知れませんが,これ,全く個人的な blog ですし,基本的に WORDPRESS が動けば良いだけなので,まぁ良いかな,という選択です.
実際のインストールは,conoHa が用意しているテンプレートイメージを選ぶだけです.
【リリース】[VPS]最新OS「CentOS Stream 8」提供開始|VPSならConoHa
【リリース】最新OS「CentOS Stream 8」提供開始
少し残念だったのは,ConoHa 自慢の超高速WORDPRESS環境である KUSANAGI を選べなかったことです.KUSANAGI 環境はいまのところ CentOS7.9 がベース OS のよう.あと blog やるだけなら専用の WING 環境を選んだ方が良いです.WING 環境だと,ものすごく丁寧な案内がありますし,あと,移行ダウンタイムをほぼゼロにできるらしい.
OS インストール後の作業は以下の通りです.なお,実際には色々試行錯誤したので,以下の通り入れた訳ではありませんが,備忘録なので,まとめて記してあります.
まず,dnf で WORDPRESS を動かすために必要なパッケージを入れていきます.
# dnf config-manager --set-enabled PowerTools
# dnf groupinstall 'Development Tools'
# dnf -y libc-langpack-ja httpd mariadb-server php php-xml php-mbstring php-gd php-json php-mysqlnd php-opcache mod_ssl php-pecl-zip php-devel php-pear
# dnf -y update
# dnf -y upgrade
# reboot
# dnf config-manager --set-enabled PowerTools
# dnf groupinstall 'Development Tools'
# dnf -y libc-langpack-ja httpd mariadb-server php php-xml php-mbstring php-gd php-json php-mysqlnd php-opcache mod_ssl php-pecl-zip php-devel php-pear
# dnf -y update
# dnf -y upgrade
# reboot
# dnf config-manager --set-enabled PowerTools
# dnf groupinstall 'Development Tools'
# dnf -y libc-langpack-ja httpd mariadb-server php php-xml php-mbstring php-gd php-json php-mysqlnd php-opcache mod_ssl php-pecl-zip php-devel php-pear
次に,WORDPRESS のサイトヘルスで警告が出ないようにするために ImageMagick を導入します.以下の手順はソースコードから最新版を入れていますが,epel を導入して dnf で入れる方が簡単だと思います.この辺りは,
Install ImageMagick on CentOS 8 ← RootLinks Co., Ltd.
有限会社ルートリンクスはシステム構築から講習会まで行うトータルサポート会社です。Windows、Linuxからネットワーク機器まで広く対応できます。
を参考にしました.
# wget https://www.imagemagick.org/download/ImageMagick.tar.gz
# tar -zxvf ImageMagick.tar.gz
# cd ImageMagick-7.0.11-3
# echo extension=imagick.so >> /etc/php.d/30-imagick.ini
# cd /usr/local/src
# wget https://www.imagemagick.org/download/ImageMagick.tar.gz
# tar -zxvf ImageMagick.tar.gz
# cd ImageMagick-7.0.11-3
# ./configure
# make
# make install
# pecl install imagick
# echo extension=imagick.so >> /etc/php.d/30-imagick.ini
# cd /usr/local/src
# wget https://www.imagemagick.org/download/ImageMagick.tar.gz
# tar -zxvf ImageMagick.tar.gz
# cd ImageMagick-7.0.11-3
# ./configure
# make
# make install
# pecl install imagick
# echo extension=imagick.so >> /etc/php.d/30-imagick.ini
次に phpMyAdmin を導入します.接続可能な ip を ******* に記しておきます.
# wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/phpMyAdmin-5.1.0-all-languages.zip
# unzip phpMyAdmin-5.1.0-all-languages.zip
# chown -R apache:apache phpMyAdmin-5.1.0-all-languages/
# ln -s /opt/phpMyAdmin-5.1.0-all-languages /var/www/phpmyadmin
# vi /etc/httpd/conf.d/phpmyadmin
Alias /phpmyadmin /var/www/phpmyadmin
< Directory /var/www/phpmyadmin/ >
Require ip ***************
< Directory /var/www/phpmyadmin/setup/ >
Require ip *******************
< Directory /var/www/phpmyadmin/libraries/ >
< Directory /var/www/phpmyadmin/setup/lib/ >
< Directory /var/www/phpmyadmin/setup/frames/ >
# cd /opt
# wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/phpMyAdmin-5.1.0-all-languages.zip
# unzip phpMyAdmin-5.1.0-all-languages.zip
# chown -R apache:apache phpMyAdmin-5.1.0-all-languages/
# ln -s /opt/phpMyAdmin-5.1.0-all-languages /var/www/phpmyadmin
# vi /etc/httpd/conf.d/phpmyadmin
Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin/>
AddDefaultCharset UTF-8
SSLRequireSSL
AllowOverride None
<RequireAny>
Require all denied
Require local
Require ip ***************
</RequireAny>
</Directory>
<Directory /var/www/phpmyadmin/setup/>
AddDefaultCharset UTF-8
SSLRequireSSL
AllowOverride None
<RequireAny>
Require all denied
Require local
Require ip *******************
</RequireAny>
</Directory>
<Directory /var/www/phpmyadmin/libraries/>
Require all denied
Require local
</Directory>
<Directory /var/www/phpmyadmin/setup/lib/>
Require all denied
Require local
</Directory>
<Directory /var/www/phpmyadmin/setup/frames/>
Require all denied
Require local
</Directory>
# cd /opt
# wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0/phpMyAdmin-5.1.0-all-languages.zip
# unzip phpMyAdmin-5.1.0-all-languages.zip
# chown -R apache:apache phpMyAdmin-5.1.0-all-languages/
# ln -s /opt/phpMyAdmin-5.1.0-all-languages /var/www/phpmyadmin
# vi /etc/httpd/conf.d/phpmyadmin
Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin/>
AddDefaultCharset UTF-8
SSLRequireSSL
AllowOverride None
<RequireAny>
Require all denied
Require local
Require ip ***************
</RequireAny>
</Directory>
<Directory /var/www/phpmyadmin/setup/>
AddDefaultCharset UTF-8
SSLRequireSSL
AllowOverride None
<RequireAny>
Require all denied
Require local
Require ip *******************
</RequireAny>
</Directory>
<Directory /var/www/phpmyadmin/libraries/>
Require all denied
Require local
</Directory>
<Directory /var/www/phpmyadmin/setup/lib/>
Require all denied
Require local
</Directory>
<Directory /var/www/phpmyadmin/setup/frames/>
Require all denied
Require local
</Directory>
次は mariadb-server の初期設定です.
mariadb-server の初期 root パスワードは何も設定されていませんので,ENTER を押すだけです.また,Y/N は Y と答えます.
# systemctl enable mariadb
# systemctl start mariadb
# mysql_secure_installation
MariaDB [( none )]> show databases;
# systemctl enable mariadb
# systemctl start mariadb
# mysql_secure_installation
# mysql -u root -p
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit
# reboot
# systemctl enable httpd
# systemctl start httpd
# systemctl enable mariadb
# systemctl start mariadb
# mysql_secure_installation
# mysql -u root -p
MariaDB [(none)]> show databases;
MariaDB [(none)]> exit
# reboot
# systemctl enable httpd
# systemctl start httpd
これで phpMyAdmin が起動しているはずなので,
https://ip-address/phpmyadmin で接続
root/password でログイン
メニューの「データベース」をクリック
データベース wordpress を照合順序 utf8mb4_general_ci で作成
しておきます(もちろんこの場合は wordpress が WORDPRESS 用のデータベースですが,これはもちろん元のサーバーの設定に合わせる必要があります).これでデータベースの準備が整ったので,旧サーバーで,
# tar -cvzf wordpress.tar.gz wordpress
# mysqldump -u root -p wordpress > backup.sql
# cd /var/www
# tar -cvzf wordpress.tar.gz wordpress
# mysqldump -u root -p wordpress > backup.sql
# cd /var/www
# tar -cvzf wordpress.tar.gz wordpress
# mysqldump -u root -p wordpress > backup.sql
のようにして,WORDPRESS のデータのバックアップを取り,これを scp で移行先サーバーに転送し,
# tar -zxvf wordpress.tar.gz
# mysql -u root -p wordpress < dump.sql
# cd /var/www
# tar -zxvf wordpress.tar.gz
# mysql -u root -p wordpress < dump.sql
# cd /var/www
# tar -zxvf wordpress.tar.gz
# mysql -u root -p wordpress < dump.sql
として mariadb にデータを移行しました(phpMyAdmin を使ってバックアップと移行をしても良いと思いますが,私の場合は旧サーバーに phpMyAdmin 入れてなかった.あともちろんこの場合の旧サーバーの WORDPRESS のルートディレクトリは /var/www/wordpress です).
次に SSL に対応させるため certbot を導入しますが,最新の certbot は昔と違って snap で提供されているので,まず,snap から導入していかないといけません.また,snap 導入するには epel リポジトリを導入しなければいけないのですが,なぜか,install ではダメで,reinstall しないといけませんでした.
# dnf -y reinstall epel-release
# systemctl enable --new snapd.socket
# ln -s /var/lib/snapd/snap /snap
# snap install core; snap refresh core
# snap install --classic certbot
# ln -s /snap/bin/certbot /usr/local/bin/certbot
# dnf -y reinstall epel-release
# dnf -y upgrade
# dnf -y install snapd
# systemctl enable --new snapd.socket
# ln -s /var/lib/snapd/snap /snap
# snap install core; snap refresh core
# snap install --classic certbot
# ln -s /snap/bin/certbot /usr/local/bin/certbot
# dnf -y reinstall epel-release
# dnf -y upgrade
# dnf -y install snapd
# systemctl enable --new snapd.socket
# ln -s /var/lib/snapd/snap /snap
# snap install core; snap refresh core
# snap install --classic certbot
# ln -s /snap/bin/certbot /usr/local/bin/certbot
ここまで来ればあとは DNS のエントリーを旧サーバから新サーバーのものに
お名前.comでドメインを取得してConoHaで公開するまで - Qiita
#はじめに先日初めてブログをインターネット上に公開しました。その際、URLにドメインからWebページを見れるようにするのに苦労したので、詰まった点を中心に書いていきます。#お名前.comでドメ…
のように書き換えます.DNS が新サーバーに切り替わってから(私の場合はほぼ半日かかりました),
# vi /etc/cron.daily/certbot-auto-renew
/usr/local/bin/certbot renew
# systemctl enable --now snap.certbot.renew.timer
# certbot --apache
# vi /etc/cron.daily/certbot-auto-renew
----
#!/bin/sh
/usr/local/bin/certbot renew
----
# systemctl list-timers
# systemctl enable --now snap.certbot.renew.timer
# certbot --apache
# vi /etc/cron.daily/certbot-auto-renew
----
#!/bin/sh
/usr/local/bin/certbot renew
----
# systemctl list-timers
# systemctl enable --now snap.certbot.renew.timer
として,証明書が自動的に更新されるように設定すれば完了です(多分最後の systemctl enable –now snap.certbot.renew.timer は要らないと思うが念のため).
なお,certbot を実行するだけで,http を https へリダイレクトする設定やら何やら全部自動で設定してくれます.前はこれ自分でやんないとダメだったので,かなりビックリしました.
以上!