コンテンツへスキップ

VPSのubuntu20.04にてメールサーバーを立てた後に、thunderbirdのメール設定でPOPサーバーの認証方式で「暗号化されたパスワード認証」に設定すると接続ができなかった。原因を調べてみたら、cram-md5でSMTP認証が廃止されたとの記事がちらほら。とはいえ、VPSなので自分で、cram-md5を設定した上でメールの設定を試してみたらところ、下記エラーログを吐いた。
auth: Fatal: CRAM-MD5 mechanism can't be supported with given passdbs
少なくともubuntu20.04ではCRAM-MD5のサポートをしていないようだ。
結局「通常のパスワード認証」でもポートがTLSの数値なら問題ないとのことなので、このままメールを使おうと思う。
参考
https://goope.jp/info/maintenance/?id=619

thunderbirdのメール設定が上手くいかなくてタイトルのエラーが吐かれていた。

useradd からpasswd でユーザーを作ったけどもおかしいなと思い続けていたところ、
下記サイトに則ってコマンドを入力した

[root@ ~]# echo '(パスワード入力)' | saslpasswd2 -p -u mail.example.com -c testuser(SMTP-Auth用ユーザ・パスワードの登録)

上記入力後、下記コマンドでメール専用ユーザーを確認することができる。

[root@ ~]# sasldblistusers2(SMTP-Auth用ユーザ名・パスワードの確認)

このリストに追加されているユーザーでthunderbirdのメール設定をし直すと接続できた。

sasl(Simple Authentication and Security Layer)
の認証リストに追加しないとユーザーを認識してくれなかったということかな。

検索してもヒットしなかったのでメモ

まず下記へディレクトリへ移動する

cd /etc/apache2/sites-available

000-default.conf内に下記を記載してhttpからのアクセスでもhttpsへリダイレクトするようにする。


            RewriteEngine On
            RewriteCond %{HTTPS} off
            RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

default-ssl.conf内に下記を記載して自分のwebサーバーのIPからアクセスされた場合、拒否をする。

       ServerName 対象のIP
       <Location />
             Order deny,allow
             Deny from all
       </Location>

どちらも<VirtualHost *:数値>内のタグに記入すること。

上記に変更後、apache2を再起動後にサイトにhttp://IPでアクセスして
403エラーになれば成功です。

借りていたサーバーを移転しなければならないので、新たにVPSを借りてブログのデータを移行していました。
せっかくだからOSは題名の通りUbuntuに変えました。環境の練習になるので。

Ubuntuのログイン方法はCentOSとは異なるから注意。
慌ててOSの再ダウンロードとかしないように。

まずは、ログイン方法としてユーザー名は、[root]ではなく[ubuntu] であることに注意。
そして、スーパーユーザーに昇格するためにrootのパスワードを作成する必要があります。

passwd root

上記で新しいパスワードを設定した後に su - コマンドから設定したパスワードを入力するとroot権限になります。

参考
https://qiita.com/_toki/items/cced337d72103ed4387c

この後はssh接続方法を公開鍵認証方式にするとかやりますが、ミドルウェアのインストールで失敗とかしたら
最悪OSの再インストールとか面倒なので、先にデータベースをインストールしました。

MariaDBのインストールは下記サイトの通りに進めています。
https://www.server-world.info/query?os=Ubuntu_20.04&p=mariadb&f=1

Apache2とかPHPも上記サイトのカテゴリを参考にしてインストールしました。

ミドルウェアを落とすと次に必要なのは、データです。
まず、移転元のサーバーにssh接続をして、WordPressの対象データをアーカイブ圧縮します。
私の場合はドキュメントルート以下と証明書のファイルをアーカイブして圧縮しました。

tar -czvf アーカイブ.tgz 対象ファイル

ファイルのアーカイブを作成しgzip形式で圧縮する

次にデータベースをダンプします。

mysqldump --opt データベース名 > 適当なデータベース名


上記のデータをFTP等を利用して新サーバーに転送します。

新サーバーでは、データを入れるためにmysqlにログインし、
データベースを作成します。

mysql -u ユーザー名 -pパスワード
create database データベース名

mysqlから接続を遮断後、データベースをリストアします。

mysql 作成したデータベース < ダンプデータベースファイル名

リストアの確認はmysqlにログイン後、対象のデータベース内のテーブルを確認してみたらいいと思います。

次にドキュメントルート以下にファイルを解凍

tar -xzvf アーカイブ.tgz

gzipで圧縮されたアーカイブを展開する

この後はWordPressのコンフィグファイルの設定でパスワード等をいじったら、サイトの確認をしてください。
http://対象のIP で確認できると思います。
私の場合は、サイト内で下記エラーが発生していました。


お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

エラーに従ってMySQLの拡張モジュールをインストールしました。

apt -y install php-mysql

その後、サイトを確認すると
データベースの接続ができません
のエラーに変化していました。
大抵はWordPressのコンフィグファイルのパスワードの打ち間違いとかですが、そうでもなく少しハマりました。
色々調べたところ、WordPressのコンフィグファイルのhostname を localhost から 127.0.0.1 に変えたところ
サイト内が重大なエラーが発生と表示が変わりました。
上記の場合、Apache内のエラーログを確認したら原因がわかります。
今回の場合、とあるpluginからエラーが発生していたのでそれの権限を000にするとサイトが正常に表示されました。
サイトが見れたからいいものの、コードをみやすくするためのプラグインだったので少し不便になりましたw
代わりのプラグイン見つけないと......

次に証明書の設置です。
下記サイトが参考になりました。
https://blog.fileshelfplus.com/vps/280

少しハマったところは、新サーバーのサイト内に証明書の期限が有効であるのに証明書としては無効であること。
結果的にDNSサーバーのAレコードを移転元から移転先に変更すれば問題なく証明書が有効となりました。

これでひとまずはデータ移行の終了です。

その他参考
ubuntuでcronの設置
https://intellectual-curiosity.tokyo/2018/10/12/ubuntu%E3%81%A7%E3%81%AEcron%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/

ubuntuでファイアウォールの設置
https://lifework-blog.com/ubuntu-server-firewall/

Zabbixでweb監視とはhttpが落ちたアラートが表示されることだと思っていたけど、
どうやら違うようで調べてみた。

とりあえずZabbix内の設定>>ホストを確認してみる。
すると「web」があったのでアクセスする。
「webシナリオの作成」をアクセス。

まず、シナリオの箇所では、赤色の必須の箇所だけ記入する。


次に「ステップ」のカテゴリで「追加」を押して、名前とURLに自分のサイトのURLを記入する

上記設定で問題がなければ、「web」カテゴリから下記画像のようにダウンロードやレスポンスの速さを確認できる

サイトが落ちたことを知りたい場合、トリガー作成を選んで下記画像のように条件式を記入する。
条件式は「追加」から選べる

その後、自分のサイトのhttpdをストップしてサイトが表示できなくするとアラートが表示される。

この後、httpdをスタートしたらアラートが消えた。

自分のサーバー内に何個もサイトがあったら便利そう。

スイッチングとかハブとか入り乱れる言葉のせいでハブについてよくわかっていなかった。

昔はリピータハブとシェアードハブとか呼ばれていて、一つの端末の転送が終わるまで他の端末は通信ができなかったらしい。

今はハブと言えばスイッチングハブと呼ばれていて、端末から受け取ったデータをハブが宛先を確認して、ポートを選びデータを送ってくれるそう。

そんなハブでもインテリジェンス性じゃないハブはバカハブと呼ばれていてかわいそうなこともあるとかw

ちなみにインテリジェンス性は輻湊した場合、自動で自分の電源を落とすそうだ。
輻湊とはハブの穴1にいれたランケーブルのつなぎ先を同じハブの穴2に入れる状態。
ネットワークがぐるぐる回ってサーバーに負荷がかかることで全端末のネットワークが落ちるそうで気を付けないといけない。

イーサネットとは、ネットワークやコンピューター間での通信モデル TCP/IPプロトコルのネットワークインターフェース層に対応する有線の規格です。

とか言うけど、実際はインターネットをつなぐケーブルとしか思ってなくて、もっと言えば、各イーサネットの規格用に電気を流しているところと接続するためのものと思っていた。
例えば、Cat5eにはそれ専用の電気を流す物体、Cat6にはそれ専用の......

でも、そのあと先輩からイーサネットについての説明を聞いて分かったことは、
電気を流す物体はどれも同じで、イーサネットのカテゴリによって伝送帯域や(~100MHz)、速度(~Mbps)とかを決めていることがわかった。

確かに言われてみたら、イーサネットごとに電気を流す物体を用意のするのは非効率すぎる。。。なんなら電気と光を流す物体さえ違うと思っていたので恥ずかしい限り。

つまりイーサネットの銅線の巻き方の種類で電気の流れを変更しているということ。
光ファイバーを考えた人って天才だよな......

参考
https://wifi-style.otoku-keitai.net/basics-of-wifi/ethernet/