サーバー死活監視アプリを入れてみた

UptimeRobot

  • 設定は簡単。警報はなるが、メールが届かない。
  • 外部から監視してくれる。
  • アプリを止めても検査している。

意図的にサーバを止めている間、警報音が鳴らないように、アプリを終了、もしくはスマホの電源を切っても、アプリを起動した瞬間、スマホから警報が流れる。
深夜にためしたので焦った。

Server Monitor

  • 設定は簡単、通知方法はいまだによくわからない。警報はなる。
  • スマホから直接アクセスして調べているようだ。
  • アプリを停止すれば検査もしない。

インストール直後、やたらと警報がなるので、おかしいと思ったら、サーバーのIPv6の設定に間違いがあったためだった。WiFiからスマホの回線に切り替わるタイミングで警報がなった。
NTTのIPv6のアドレスが変化するためと思って、変わりにくい接続に変えたら安定している。

サーバーの機材で、ネットラジオの音楽番組をかけっぱなしにするという、ぬるい監視方法をしていた。

DKIM成功 DNSの書き方でチェックが変わるかと思ったらMacがIPv6ではなかった

==========================================================
Summary of Results
==========================================================
SPF check: pass
“iprev” check: pass
DKIM check: pass

Mac(M1)から送信すると、上記のような結果になるが、
DNSを確認しようとして、コマンドからnslookupをかけても応答がない。
IPv6が優先されていないのが原因だけれども、時々、IPv6になる。
残念。

CentOS8 Apache のAP_DOC_ROOT=”/var/www”

新しく用意したCentOS8サーバでcgiが動かない。
cgiを使わないようにすれば良いとも考えたけれども、既存サイトを引っ越してくるときにcgiをphpなどに置き換えるのは大変。

perl -v ある
which perl パスもOK

perl が、AP_DOC_ROOT=”/var/www” の中にないと動かないことになっている。

suexec -V で確認できる。
AP_DOC_ROOT=”/var/www”

で、suexec では SetEnv は効果ない。とのこと。

CentOS8 では、Apache のインストール時に AP_DOC_ROOT が決まっていて、ほかのバージョンの httpd をインストールすると更新できなくなってしまう。

ということで、新しく追加する仮想サイトを ”/var/www” 内にすることにした。
/var/www/html にしてはいけない。

期待通りに動いてくれている。


追記

違った

CentOS8 にて、boot, home の容量が決まっていて、/var/www では将来心配。
別の方法を検討。

boot の容量が足りなくて、新しいサーバに、リストアしたら、”/var/www”においたサイトが”/home”にリストアされた。


追記

CentOS 8 インストール時に、home エリアは削除。
リストア前に、テンプレートのホームディレクトリを、var/www にすることで解決。

WordPress サイトヘルス

環境

  • 仮想 CentOS8
  • ルーター越しにDMZで外部へ公開
  • BIND 稼働

サイトヘルスのステータス

REST API リクエストはエラーのために失敗しました。

解決策

CentOS8 の hosts にローカルIPを追記:192.168.8.13 ****.jp

解決策に至る過程

このままでも、ワードプレスやプラグインの更新ができないわけではない。
調べたページには、パーマリンクや.htaccessをいじることで解決した例がある。
数年前に組んだ CentOS7 の仮想サーバでは、同じ問題が出ていなかった。
このサーバで「Broken Link Checker」が正常に動いていなかったので、hostsいじったなあ、という経験から。自分自身を正常にチェックができないなら、経路の問題ということで、試したら解決。
CentOS8 のLAN設定にDNSに「192.168.8.13」を追加しても解消しなかった。

サーバ本体のドメインは、hostsに反映されていたけど、
サイトを追加するたびに、hosts にも追記が必要なのは面倒だなあ。

Ubuntu Dovecot IMAP/POP3 Server Version 2.2.33.2

あれれ。
独自ドメインの証明書をインストールしたら、Dovecot でも使えるようになっていた。
いままでは、サーバのワイルドカードの証明書を利用。
今度は、むしろ、独自ドメインの証明書を使わないとメールソフトで警告が出る。

・受信サーバ:独自ドメイン
・送信サーバ:サーバのドメイン(逆引きができないとだめだから)

利用者に説明しなおさないと。

ビデオ会議

https://www.digitalocean.com/community/tutorials/how-to-install-jitsi-meet-on-ubuntu-18-04

上記に従って、ビデオ会議のサーバを用意してみた。調子いいようだ。

ブラウザでのSSLポート443のほかに、10000udpも使う。
proxyの背後に置きたいけど、うまくできていない。

スマホはアプリのダウンロードを促される。
Macのサファリは調子が悪かった。USBのウェブカメラだからかな。
仮想のWindowsにUSBウェブカメラをつなげられない。

VPN strongswanを CentOS7 Ubuntu18 でやってみた

アパートにあるMacをARD で使う準備として VPNが使えるかな?ということで

CentOS7
https://www.howtoforge.com/tutorial/how-to-setup-ikev2-vpn-using-strongswan-and-letsencrypt-on-centos-7/
Ubuntu18
https://owner.pw/blog/post/418

を参考に進めてみた。本家のサイトを見たがよくわからない。

Ubuntu がうまくいかない。CentOSはうまくいった。
strongswan は2019年11月のアップデートでいろいろ変わったよう。

Googleで検索中に現れる「ツール」で期間を絞ると、下記に、「 libcharon-extra-plugins」の記述がある

Configure strongSwan VPN Client on Ubuntu 18.04/CentOS 8

apt install libcharon-extra-plugins

としたら、VPN での接続ができるようになった。

OnlyOffice Documentserver を Proxy Server 経由 https to httpで使う。

バタバタしていたので取り掛かってから何日もかかってしまった。

OnlyOffice Documentserver のインストール、動作までは、1年前からできていた。なぜか、アップデートをかけると動作しなくなってしまう。監視はしているが、セキュリティも心配。1つの IP アドレスを使って、SSLの OnlyOffice Documentserver を使うのはもったいない。仮想サーバは一つ増えるが、回線を占有されるよりもコストは抑えられる。

https://helpcenter.onlyoffice.com/server/document/document-server-proxy.aspx

https://github.com/ONLYOFFICE/document-server-proxy/blob/master/apache/proxy-https-to-http.conf

上記にすべてがある。

ローカルのOnlyOffice Documentserverはすでに準備済み。

https で Proxy を設定しているApacheのモジュールを調べて、足りないモジュールを動くようにする。

apachectl -M

proxy_wstunnel_module、headers_module が動いていなかったので有効にする。

あとは、conf で足りない記述を追加、順番も意識してざっくり下記に変更

<Proxy *>
allow from all
</Proxy>
SSLEngine on
SSLCertificateFile /home/***/ssl.cert
SSLCertificateKeyFile /home/***/ssl.key
SSLCACertificateFile /home/***/ssl.ca
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCompression off
SSLHonorCipherOrder on

SetEnvIf Host “^(.*)$” THE_HOST=$1
RequestHeader setifempty X-Forwarded-Proto https
RequestHeader setifempty X-Forwarded-Host %{THE_HOST}e
ProxyAddHeaders Off

ProxyPassMatch (.*)(\/websocket)$ “ws://192.168.***.***/$1$2”
ProxyPass / http://192.168.***.***/
ProxyPassReverse / http://192.168.***.***/


nextcloud で、この https proxy 設定のサーバーのURLを設定。スプレッドシートを操作できることが確認できた。

ところが!

モバイルで動かない。

File can be opened for viewing only.Mobile web editors are not available in the Open Source version.

いつの間に!

仮想OS ubuntu を試す

http://releases.ubuntu.com/18.04/

デスクトップとサーバーの2タイプある。

サーバータイプのものをインストール。GUIは後から導入可能。
GUI導入過程で LivePatch も設定できる。
LivePatch は再起動なしでアップデートできる機能らしい。

sudo apt install ubuntu-desktop

なぜか仮想OS越しのコピー&ペーストができない。

デスクトップタイプは、php も入っていなかったが、virtualmin をインストールすると一式はいる。

php 7.2
MySQL version 5.7.29-0ubuntu0.18.04.1

MariaDBではない。

新サーバで逆引き成功

GMOの固定IP
逆引きをお願いするフォームがある。
以前はネームサーバ1個でも良かった?必須なネームサーバは1つだけど、2つ埋めないと進めない。
BIND マスターにネームサーバを2つ追加。ほかにもごにょごにょして試す。

バリュードメインのネームサーバを追加した2つのネームサーバに変更。

切り替えはうまくいったようだが、nslookup では追加したネームサーバにたどり着けない。アドレスに対応するレコードがないから。

既存サーバのエイリアスに2つのネームサーバのレコード名を追加。

GMOへ逆引きを依頼してから、2週間ほどで設定ができた旨の連絡が入る。
ネームサーバがうまく設定できていなかったせいかな。
ごにょごにょ設定したのが邪魔して、BINDが起動できなくなったので、怪しい設定を削除。

ネームサーバ → ホスト → GMO側の設定ができるとCNAME が出るようになる。
それを使って、ゾーン名を追加。(メールでの案内とは少し違う。一応メールのとおりのゾーン名も追加)

この中に普通の逆引きの設定をする。

逆引きできた。

・・・・・・・

SPFの設定をチェックするための空メールを送って返信してもらうサービスでは、逆引きできないようだ。CNAMEどまり。

・・・・・・・

ネームサーバを変えたために、letsencrypt のワイルドカード証明書も設定し直し。

imagemagick をwebから使う

Nextcloud の設定、概要ページに imagick がないよ、と表示されている。imagemagick をphpから使う場合の extension とのこと。
yum で調べると imagemagick は見つからない。yum で imagemagickの最新版をインストールを試みるがうまく入らない。

# convert –version
Version: ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP

すでに入っていた。GUI のcentos には入ってるのかな。

yum search imagick

すると、以下が出てくる。
sclo-php70-php-pecl-imagick-devel.x86_64 : imagick extension developer files
: (header)
sclo-php71-php-pecl-imagick-devel.x86_64 : imagick extension developer files
: (header)
sclo-php72-php-pecl-imagick-devel.x86_64 : imagick extension developer files
: (header)
php-pecl-imagick.x86_64 : Provides a wrapper to the ImageMagick library
sclo-php70-php-pecl-imagick.x86_64 : Extension to create and modify images using
: ImageMagick
sclo-php71-php-pecl-imagick.x86_64 : Extension to create and modify images using
: ImageMagick
sclo-php72-php-pecl-imagick.x86_64 : Extension to create and modify images using
: ImageMagick

php72 を利用しているので、試しに

yum install sclo-php72-php-pecl-imagick-devel.x86_64 sclo-php72-php-pecl-imagick.x86_64

nextcloud の「 imagick がないよ」は消えた。成功しているかは、convert で実際に動かしてみないとだね。

ワイルドカードのSSL証明書を Dovecot と postfix で使ってみた。

1台のサーバで複数の独自ドメインのサイトをホストしていると、メールアカウントを使うときに「この証明書は信頼されていません」とか出る。最近やっと中古のスマホが手に入ったので、設定してみたら、メールを送信できない状況になってしまっていた。

独自ドメインのサイトに、ワイルドカードのSSL証明書を使えるサブドメインをエイリアスとして追加。サブドメインの証明書、カギを、Dovecot, postfix にもわりあてることで、スマホでも警告なくつかえるようになった。

ワイルドカード証明書を使うウェブサーバでは、証明書 ssl.cert、鍵 ssl.key、CA ssl.ca の三つ。

Dovecot は、letsencrypt のfullchain.pem と ssl.key
(単独の証明書は android でダメだった。鍵は、ウェブサイトのディレクトリにあるものを使う必要があった、と思う)
Postfix はウェブサーバの三つの設定をひもづけ。

追記(2019.08.19)
現在使っているシステムでは、ワイルドカードのエイリアスと、サブドメインでのサーバの組み合わせでは、うまくいかない。
サブドメインなしの***.comと*.###.jp(ワイルドカード)のエイリアスの組み合わせが必要。

301リダイレクト中のSSL証明有効期限切れ

ドメインを変えて新しくしたサイト。

301リダイレクト中は、
Let’s Encrypt の確認場所にアクセスできなくなるため、
/.well-known/acme-challenge/****
証明書の発行や更新ができなくなる。

そのままだと、リダイレクトの前に、「安全ではない接続」警告画面がブラウザに出てしまうと思い、
自己証明書にしてみたら、やはり「安全ではない接続」警告画面。

301リダイレクトの意味がなくなってしまうので、一時的に301リダイレクトを停止。
証明書更新、あらためて、301リダイレクト設定。

ここで、ワードプレスでサイトが構成されていて、なおかつサイトルートではないディレクトリにワードプレスを設置している場合は、
サイトルートの.htaccess に301リダイレクトを仕掛けても、ワードプレスのコンテンツが表示できてしまう場合がある。そのため、ワードプレスのディレクトリにも301リダイレクトを設定することになる。

そして、この件の場合、ワードプレスのディレクトリに301リダイレクトを設定するだけでコンテンツの301リダイレクトの結果は達成され、サイトルートに301リダイレクトが設定されていなければ、Let’s Encrypt の自動更新も影響を受けない。

サイトルートにワードプレスをインストールしないことの利点の一つになると思う。

慌てていたので、正確に検証できていないが、理屈はあっていると思う。
ただし、サイトルートにほかのコンテンツがある場合は、それらが見えてしまうことになる。

とりあえず、hight sierra で server.app 5.6.3

ウェブサーバー、メールサーバーを利用できる server.app として、mac osx を hight sierra にしてから、server.app を 5.6.3 にアップデート。

macOS Mojave では、今までのホスティングサービスは提供できなくなる。

シーズンでアクセスが急増するウェブサーバーとして、実績があるので、移築先のサーバーが耐えられなければ、このシステムに戻す予定。戻すにしても、証明書インストールなどで、最大3日かかると、実用的ではないかな。

既に、ほとんどのホスティングサービスは、同じ Mac の中で、別の機能に置き換えてある。
APPの評価欄にどなたかのコメントをみつけた。この場にはなってしまうが、私も12年間ありがとうと言わせていただきたい。

High Sierra の server

php は7.1、server.app からコントロールできるサービスが変わった。FTP がなくなっている。
FTP は使っていないんじゃなくて、普段は止めているユーザが多いだけだと思う。

info.php は使えなくなっていた。