簡単AmazonAWSで立ち上げたPostgreSQLに、同じサブネット内に起動したEC2のWindowsSrvインスタンスから接続する

PostgreSQLサーバの稼働はこちらから

この作成に際し、VPCと、セキュリティグループが設定されているものとします。

EC2内からAmazon RDSで稼働させたPostgreSQLに接続

EC2内から、パブリック公開していないAmazon RDS内に構築したPostgreSQLに接続します。

今回成功したのは同じサブネット内に入れたEC2のWindows2019サーバです。

今回構築できたのは上記の図に近いかと。

若干、Security group の考え方とサブネットが違うので、上記の図のままではないですけど、パブリック公開していないPostgreSQLに、公開したWindowsを踏み台にしてアクセスする事ができました。

EC2でWindowsインスタンスを稼働させる

Amazon EC2 って?

Amazon Elastic Compute Cloud (Amazon EC2)

インスタンスと呼ばれる仮想コンピューティング環境を構築する事ができます。

インスタンスを起動をクリック

無料利用枠のWindows Server 2019 を稼働させます。

無料利用可能なのは

1vCPU 1GiBメモリ

キーペアを作成し、ダウンロードしておきます。後で、リモートデスクトップするために、このキーを元にパスワードを取得します。

ネットワーク設定が重要

稼働させたPostgreSQLサーバが、どのサブネットにいるのか確認します。

私の環境では、PostgreSQLのIPアドレスが、172.30.1.0/24 にいたので、そこからサブネットIDはどれかというのが分かりました。このサブネットIDを控えておきます。

VPCももちろん、PostgreSQLと同じものを選択、さらにサブネットも、上記で調べたサブネットIDとおなじものにします。私が作成する時には、同じサブネットIDは出てこなかったので、コピペしたら、出てきました。

※サブネットを合わせるのが重要

パブリックIPも自動割り当てを行いました。

また、セキュリティグループも、PostgreSQLと同じセキュリティグループに入れてやります。ただし、ここは、同じじゃなくてもいいかも。

このセキュリティグループはファイヤーウォールとして動作します。宛先ポートや、ソースIPを指定する事でアクセスを拒否する事が可能です。

PostgreSQLへのアクセスポート5432と、リモートデスクトップ接続のための3389ポートを許可してあります。

この状態で、インスタンスを起動します。

インスタンスが利用できるまで少し時間がかかります。

リモートデスクトップ接続

インスタンスが実行中になったのを確認したら、リモートデスクトップ接続します。

アクションの中から接続をクリック

RDPクライアントをクリックし、リモートデスクトップファイルをダウンロードします。

パスワードを取得を押すと、インスタンス作成時にダウンロードしたキーペアからAdministratorのパスワードを取得する事ができます。

パスワードを復号化すると、パスワードが表示されます。これをコピーしておきます。

ダウンロードしたリモートデスクトップファイルを実行すると、リモートデスクトップへの接続が始まります。

取得したパスワードをコピペします。

Windowsへログインできます。

インターネットエクスプローラを立ち上げ、PgAdminをダウンロードします。

インターネットエクスプローラは、セキュリティが高くかかっていてちょっと面倒ですけど、頑張ってURLを追加していきながらお目当ての実行ファイルをダウンロードします。

ダウンロードできたら早速インストール

RDS → データベース → PostgreSQLで作成したデータベースの画面から、エンドポイントを調べておきます。

PgAdminでサーバを追加し、エンドポイントなどを貼り付けて設定します。PostgreSQLのパスワードは、インスタンス作成時に決めたパスワードを入れます。

すると、接続できました。

簡単AmazonAWS でPostgreSQLを立ち上げインターネットからアクセスさせる

無料枠で登録

クレジットカード情報などを登録し、始めてユーザ登録を行うと12か月間無料でAWSサービスを利用できます。

構築イメージ

ネットワークの事を考えておかないと、接続できないんです。PostgreSQLだけ簡単に立ち上げる事も出来るのですが、事前にVPCを構築しておくと、インターネット側からのアクセスも簡単にできます。

イメージ的にはこんな感じです。

ここでネットワーク作成手順が入ります

  • セキュリティグループ(外部からのアクセスを許可する)
  • サブネットの作成
  • VPCの作成

ネットワーク的にはこの3つを作成する必要があります。

VPCを作成

Virtual Private Cloud の略がVPCで、自前のクラウド空間を持つイメージで作成していきます。

VPCをクリック

右上のVPCを作成ボタンをクリックします。

視覚的にこのようなVPCができるよというのを表してくれるので少し分かった気になります。

オプション的にはこのように設定しました

セキュリティグループの作成

メニューからVPCにアクセスします。

セキュリティグループを作成します

右上のセキュリティグループを作成をクリック

セキュリティグループ名などを決めていきます。このセキュリティグループをどのVPCに反映させるかも、ここで決定します。

インバウンドルールに、どこのクライアント(インターネットのどこからでも)アクセスできるようにルールを書きます。

PostgreSQLのポートは5432です。

0.0.0.0/0 はアクセス制限しないという意味、どこからでもという意味になります。

アウトバウンドルールは特に変更する必要はありません。

PostgreSQLを立ち上げる

RDS → データベースの作成

PostgreSQLを選びます。

無料枠を使って

PostgreSQLのパスワードを決めます

課金されるといやだから、自動スケーリングはやめといてもいいかも

VPCに、上記で作成したVPCを選択します。セキュリティグループも同様です。

パブリックからアクセスOKにするため、パブリックアクセスはありにします。

とりあえずパスワード認証でアクセスできるようにします。

Postgres無料枠の条件

  • Amazon RDS 無料利用枠は、12 か月間利用できます。
  • シングル AZ の db.t2.micro、db.t3.micro、または db.t4g.micro インスタンスでの 750 時間分の Amazon RDS。
  • 20 GB の汎用ストレージ (SSD)。
  • 自動化されたバックアップ用の 20 GB のストレージ、およびユーザー起動による任意の DB スナップショット。

ネットワーク情報・接続方法

一連の流れの中でVPC上に、パブリックIPを持ち、インターネットのどこからでもアクセスできるPostgreSQLサーバが起動しました。

DB識別子に、作成したデータベースが現れるのでこれをクリック

接続とセキュリティ

エンドポイントとポートに接続に必要な情報が記載されています。

これを、PgAdmin に設定します。

パスワードは、PostgreSQL作成時に決めたパスワードを設定します。

すると接続できました。

LiteSpeed Cacheを利用すると速度が2倍?赤い彗星じゃあるまいし

ロリポップのハイスピードプランを契約しています。

「LiteSpeed Cache」を有効にすることにより、従来のハイスピードプランに比べ約2倍の速さを実現することができます。

ロリポップ メールよりより

う~ん、そんなに改善するなら試してみようと思い実行してみました。

結論から

ちょっと、2倍は言い過ぎ?じゃないかと思いますけど、私のサイトでは携帯のパフォーマンスが10%ほど改善しています。

Cacheを利用しない状態

WP Fastest Cacheを無効化してみました。Cacheプラグインは何も動いていない状態です。

デスクトップのパフォーマンスは何もしなくても良いみたいです。

WP Fastest Cacheでの結果

WP Fastest Cacheを利用しています。この時の結果は、携帯電話のパフォーマンスがかなり悪いです。それと比べデスクトップの指標はかなりよく、私のサイトは、パソコンから見ていただく事が多いのでこれはこれでありかと思います。

LightSpeed Cache

ロリポップ指定のLightSpeed Cacheを利用してみます。

ロリポップの指定通り、ロリポップアクセラレータを無効にします。

FTPで、wp-config.phpの書き込み権限を600にします。

LiteSpeed Cacheをインストール有効化します。

有効化したら wp-config.phpの権限を400に変更します。

結果

携帯電話パフォーマンスが 54から64へ上がっています。2倍というのは言い過ぎかなとも思いますが、Activeになるまでの時間が1~2秒早くなっているので効果ありと判断できます。

PowerAutoMateで写真投稿サイトから写真を名前を付けて保存する

PowerAutomateDesktop

Microsoftが無償で提供するRPAです。

RPAは、操作を記録し、人の手を介さずに自動化します。プログラミングの必要がなく、音声レコーダに音声を記録するように、記録ボタンを押すと操作を記録してくれます。RPAは、ロボティック プロセス オートメーション の略になります。

実現したこと

  • 写真投稿サイトよりグリッド上に表示されている投稿URLを取得
  • URLのページに移動
  • ページに表示されている写真を投稿者の名前+タイトルにてダウンロード
  • 上記を指定したページ分ループ処理する

UI要素の取得

記録ボタンを押すと

レコーダが起動します

記録ボタンを押すと

マウス操作が記録できるようになります。

Webページ内の要素を右クリックします。例えばコピーしたい文字があったら、その部分を右クリックします。

すると、要素の値を抽出する事ができます。

上記例にて テキスト:(‘テスト’) をクリックすると、以下のような要素の取得ができます。innertext変数内に「テスト」が記録されます。

Webページの画像を指定する

記録ボタンは画面上部にあります。

記録ボタンを押して、指定の画像を右クリッククリックすると、以下のような要素が取得できます。

画像のURLを取得し、src変数の中に格納できます。

画像のUI要素は、変数srcに入ります。

ダウンロードする

srcに入った要素をダウンロードします。

メニュー HTTP → Webからダウンロード

src変数に入った画像URLを、ダウンロードするURLに指定すると、webからダウンロードできます。また、web要素から取得したテキストを指定して、ファイル名とする事も可能です。

エラー処理

ダウンロードを実行させていたら、写真がアップロードされていないページで、imageのURLが取得できずエラーが発生して停止してしまいました。

エラーが発生したアクションの左下に「エラー発生時」どのような挙動をするか決められる画面があります。

エラー発生時ボタンをクリック

フローを続行し、ラベルまで飛ばす事が可能です。

ラベルを作成しておきます。エラーが発生したときに、ラベルまで飛ばす事が可能です。

URLリンクを取得してリスト形式(データテーブル)に格納

データテーブルというのか、配列というのか、URLを取得してそれをストアする事が可能です。

レコーダーで、Hrefを記録します。HrefはURLのリンク先を表します。

これを複数回繰り返していくと、

OutputDataというデータの塊で保存してくれます。これはループ処理をするときに使える変数になります。

ループ処理 For each

プログラムをかじっている人だったらなじみ深い構文だと思います。For each。これは、リストに格納されている変数分だけ繰り返し処理をしてくれます。

OutputDataにリストされているアイテムを取り出し、CurrentItemに格納します。

CurrentItemページに移動し、ダウンロード処理が入っているSubフローを実行してくれます。

まとめ

webページに上がってきた大量の画像を、右クリックして名前をつけて保存、その際に、ファイル名にはwebに上がっているテキストにするためにこれもテキストして選択コピー→貼り付けという作業を行うのに、上記手順で自動化できるとめちゃくちゃ楽できます。

Windows2022Srv Hyper-Vを利用してWindows11をインストール「indows11を実行できません」

Hyper-Vって?

Hyper-V を使用すると、Windows 上の仮想マシンとして複数のオペレーティング システムを実行することができます。

Windows2022 サーバー上にリモートデスクトップ環境を構築したのですが、Windows Serverでは動かないアプリケーションがありました。

じゃ、リモートデスクトップで動かして後、さらにその中でWindows11を起動させちゃいましょうと思い立ったのが今回のHyper-Vの設定です。

Hyper-Vのインストール

Windows2022サーバ上にHyper-V機能を追加します。

Hypre-Vにて仮想マシンを構築

仮想マシンを新規作成します。

右クリック → 新規 → 仮想マシン

仮想マシンの設定から、SISIコントローラ CD/DVDを追加し、Windows11インストールイメージISOを指定します。

起動するとOSのインストーラが立ち上がります。

あとは次へ、次へをクリックしていけばインストールが進みます。

無事にWindows11稼働しました。

このPCではWindows11を実行できません

Windows11がインストールできない!

Windows11を動作させるための最低要件をクリアしていないと、以下のようなエラーが出ます。

このPCは、このバージョンのWindowsをインストールするための最小システム要件を満たしていません。詳細についてはも参照してください。

Windows11 を起動するための最低要件を満たす必要があり、私の場合は仮想プロセッサの数が問題でした。1だったのを2にしました。

メモリは4096MB以上が必要です。

TPM2.0を有効にします

暗号化のサポート:トラステッドプラットフォームモジュールを有効にするにチェック

Access OLEオブジェクトは登録されていません

OLEオブジェクトは登録されていません。

このオブジェクトに対応する OLEサーバーがセットアップされていません。OLEサーバを再セットアップして、正しく登録してください。

グラフ関係をAccessで表示していたOLEオブジェクトだと思います。

こんなエラーがでてグラフが表示されなくなってしまいました。焦ります。

対処方法

使われているOLEクラスは以下の通りです。

Microsoft Graph Chart

MSGraph.Chart.8

Webarena Indigo 349円でサポート期間5年間のUbuntuを利用する-初回ログインの仕方-初期パスワードとか

プライベートクラウドを利用する

https://web.arena.ne.jp/news/2022/0427.html

WebARENA Indigo™/WebARENA IndigoPro™では、2022年4月27日より、Ubuntuの最新OS『Ubuntu 22.04 LTS』の提供を開始しました。

サポート期間が長いのはありがたいです。

その1つとして、Ubuntu 22.04は長期サポート(LTS)リリースだ。つまり、このバージョンは5年間(2027年4月まで)にわたってメンテナンスアップデートでサポートされる。

Canonical、「Ubuntu 22.04 LTS」をリリース

ログインから設定

Indigo にログインし、一番最小要件で構築します。Ipv6オンリーだと月額297円というまたびっくりする金額ですが、とりあえず、IPv4が使えないと不便なのでIPv4で構築します。

選択するのは4項目だけ。Create SSH Keyをして、private_keyをダウンロードしておきます。

Create Instanseをすると、OSのインストールプロセスが開始されます。

SSH_Keyの注意

Install Instance画面で、Choose SSH Keyと表示されます。この時に選択したkeyが有効です。Create SSH Keyすると、自動的にpryvate_key.txtがダウンロードされますので、これをしっかり保存しておいてください。

この画面では作成した分のkeyが表示されますので、私の場合このkeyの名前を[WebArena]としたため、何を選択させているのか分かりませんでした。

特に、私は2台目のインスタンスを作成しようとしたため、keyペアも2つになっていました。ここが曖昧だと、すごく迷う事になります。

また、後からコンソール画面を変更する事も出来ないようです。

初期設定

作成したインスタンスをスタートさせます。

>_Launch Console

すると、コンソール画面での設定が可能となります。

ログイン画面となりました。

だけど、コンソールでもログインユーザとパスワードが分からない、、、。

VNCコンソール初期設定ではログインできない

初期パスワードとか探すのですが、全く情報がない状態でどうやったらアクセスできるんだろう?ってなるんですよ。それもそのはず、仕様的にできないそうです。インスタンス作成直後の状態ではコンソールからログインすることはできません。

まずはSSH接続を行っていただき、(CentOSをご利用の場合は)centosユーザーでのパスワード認証を設定の上お試しください。

管理画面からVNC接続した際のログインが行えません。設定が必要でしょうか?(Indigo)

これは不便ですね。

使い慣れてるコンソールソフトで Ubuntu 22.04 LTS SSHには接続できないとの事。なんかとっても不便です。

Ubuntu 22.04 LTSの SSH サービスにて ssh-rsa はデフォルトで無効にされたため、
2022年4月28日時点での Tera Term で 公開鍵認証 を利用した SSH アクセスができない事象を
確認しております。
暫定的に ssh-rsa を有効にして、Ubuntu 22.04 LTSのインスタンスへTera TermでSSH接続できるように
する手順を下記にご案内しますので、ご参考ください。なお、下記手順に関する技術的なお問い合わせにつきましては、サポート対象外とさせていただきます。

Rloginだったらできるのかな?と試しても、やっぱりだめでした。

Windows PowerShellでログイン

初回ログイン時、相手先のサーバ fingerprintを残すように促されます。

ECDSA key fingerprint is SHA256:AeC6xkQTzdEZVqom/DmfCFZNerotrsK+kqYskg.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

これは、相手先のパソコンが勝手に変わったりしないようにするためのものです。IPアドレスが同じなのに、相手先がいつの間にか変わっていたりすることを防ぐ機構です。

ヘルプ通り、Windows PowerShellを利用したらログインできるようになりました。

ssh -i C:\Users\hogehoge\Documents\private_key.txt ubuntu@192.168.1.1

Ubuntu 22.04 LTSのインスタンスにSSH接続/ログインできません。

無事にログインする事ができました。

ホスト名の変更

ホスト名をwebarena01へ変更します。

ubuntu@i-14100000336616:~$ sudo hostnamectl set-hostname webarena01
ubuntu@i-14100000336616:~$ hostname
webarena01

毎回sudoつけて実行するのは面倒

これでルート権限になります。

sudo su
root@webarena01:/home/ubuntu#

Terateamでアクセス可能にする

rsa認証を有効にしてプライベートキーでアクセスできるようにする

root@webarena01:/home/ubuntu# cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
root@webarena01:/home/ubuntu# sed -i '1s/^/PubkeyAcceptedAlgorithms=+ssh-rsa\n/' /etc/ssh/sshd_config
root@webarena01:/home/ubuntu# systemctl restart sshd
root@webarena01:/home/ubuntu# systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-05-02 04:06:24 UTC; 9s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 1983 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 1984 (sshd)
      Tasks: 1 (limit: 1119)
     Memory: 1.7M
        CPU: 27ms
     CGroup: /system.slice/ssh.service
             └─1984 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

May 02 04:06:24 webarena01 systemd[1]: Starting OpenBSD Secure Shell server...
May 02 04:06:24 webarena01 sshd[1984]: Server listening on 0.0.0.0 port 22.
May 02 04:06:24 webarena01 sshd[1984]: Server listening on :: port 22.
May 02 04:06:24 webarena01 systemd[1]: Started OpenBSD Secure Shell server.

これで、Teratearmからもアクセスできるようになりました。

時刻合わせ

root@webarena01:/home/ubuntu# apt-get install ntp
root@webarena01:/home/ubuntu# ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000   +0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000   +0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000   +0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000   +0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000   +0.000   0.000
+133.130.121.141 103.1.106.69     2 u    3   64    3    1.451   -1.162   7.126
+129.250.35.251  204.2.140.74     2 u    3   64    3    2.656   -1.073   7.271
*138.3.216.120   133.243.238.244  2 u    5   64    3    3.020   -1.095   7.520
+118.27.19.72    133.243.238.163  2 u    6   64    3    1.087   -0.969   7.583
#162.159.200.1   10.23.8.4        3 u    2   64    3   52.920  -14.233   6.845
+45.76.211.39    131.112.125.48   2 u    5   64    3    1.930   -0.034   7.374
-129.250.35.250  204.2.140.74     2 u    2   64    3    2.862   -1.295   6.831
#103.202.216.35  210.173.160.57   3 u   57   64    1   23.385   -8.552   3.055
#108.61.223.189  103.1.106.69     2 u    3   64    3  108.402  -53.949   7.182
-185.19.184.35   193.204.114.233  2 u    2   64    3  222.869   +1.370   7.198
#162.159.200.123 10.23.8.4        3 u   57   64    1   52.400  -17.686   3.155
+66.118.230.14   242.71.143.169   2 u    1   64    3  116.255   +1.530   6.839
 91.189.91.157   194.58.200.20    2 u    3   64    3  180.979   -3.828   7.740
+160.16.113.133  118.27.107.147   3 u    3   64    3    1.439   -1.627   6.662
 91.189.89.199   17.253.108.125   2 u   69   64    2  229.992   -5.607   0.000
-217.91.44.17    192.168.100.15   2 u   57   64    1  262.127   +2.035   2.959

時刻を日本時間に

root@webarena01:/home/ubuntu# date
Mon May  2 04:23:23 UTC 2022
root@webarena01:/home/ubuntu# cp /etc/localtime /etc/localtime-
root@webarena01:/home/ubuntu# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
root@webarena01:/home/ubuntu# date
Mon May  2 13:23:58 JST 2022

クラウドVPNサーバを構築

vpn仮想 HUBになるよう設定をしていきます。

PacketixVPNサーバを構築します。

コンパイル環境を作る

apt-get install build-essential
apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libxml2-dev libxslt1-dev libcurl4-openssl-dev libffi-dev libncurses5-dev

SoftehterVPNインストール

gitからソースダウンロード

 git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.git

ダウンロードしたフォルダで configureする

root@webarena01:/home/ubuntu/SoftEtherVPN_Stable# ./configure
---------------------------------------------------------------------
SoftEther VPN for Unix

Copyright (c) Daiyuu Nobori.
Copyright (c) SoftEther VPN Project, University of Tsukuba, Japan.
Copyright (c) SoftEther Corporation.
Copyright (c) all contributors on SoftEther VPN project in GitHub.

License: The Apache License, Version 2.0

Read and understand README.TXT, LICENSE.TXT and WARNING.TXT before use.
---------------------------------------------------------------------

Welcome to the corner-cutting configure script !

The Makefile is generated. Run 'make' to build SoftEther VPN.

makeします

make
省略
make install
省略
--------------------------------------------------------------------
Installation completed successfully.

Execute 'vpnserver start' to run the SoftEther VPN Server background service.
Execute 'vpnbridge start' to run the SoftEther VPN Bridge background service.
Execute 'vpnclient start' to run the SoftEther VPN Client background service.
Execute 'vpncmd' to run SoftEther VPN Command-Line Utility to configure VPN Server, VPN Bridge or VPN Client.
--------------------------------------------------------------------

サーバを起動します

root@webarena01:/home/ubuntu/SoftEtherVPN_Stable# vpnserver start
The SoftEther VPN Server service has been started.

Let's get started by accessing to the following URL from your PC:

https://***.***.***.***:5555/
  or
https://***.***.***.***/

Note: IP address may vary. Specify your server's IP address.
A TLS certificate warning will appear because the server uses self signed certificate by default. That is natural. Continue with ignoring the TLS warning.

サーバ設定移設

今回は、サーバ設定を移設するので、サーバのコンフィグをダウンロードしておきます。

VPNサーバのコンフィグレーションを表示させ、「ファイルに保存」をクリック

新VPNサーバの管理画面にアクセス

初回接続時にパスワードを設定するように求められます

設定を反映

設定をインポートします。

ファイルからインポートして書き込みをクリック

iPadからアクセス可能へ

SecureNATを設定します。

仮想NATおよび仮想DHCPサーバ機能を有効にします。

SecureNATで利用するIPアドレス体系を入力します

これでiPadからもアクセス可能な状態になりました。

Softehterの自動起動スクリプト設定

root@Cloudn01:/etc/init.d# cat vpnserver
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SoftEther VPN Server
# Description: SoftEther VPN Server
### END INIT INFO

DAEMON=/usr/bin/vpnserver
LOCK=/var/lock/vpnserver

test -x $DAEMON || exit 0

case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0

init.dにvpnserverのスクリプトを設置して、update-rc.dで起動スクリプトとして仕込みました。

root@webarena01:/etc/init.d#  chmod 755 vpnserver
root@webarena01:/etc/init.d# update-rc.d vpnserver defaults
root@webarena01:/etc/init.d#  ls -l /etc/rc*.d/*vpnserver
lrwxrwxrwx 1 root root 19 May  2 15:01 /etc/rc0.d/K01vpnserver -> ../init.d/vpnserver
lrwxrwxrwx 1 root root 19 May  2 15:01 /etc/rc1.d/K01vpnserver -> ../init.d/vpnserver
lrwxrwxrwx 1 root root 19 May  2 15:01 /etc/rc2.d/S01vpnserver -> ../init.d/vpnserver
lrwxrwxrwx 1 root root 19 May  2 15:01 /etc/rc3.d/S01vpnserver -> ../init.d/vpnserver
lrwxrwxrwx 1 root root 19 May  2 15:01 /etc/rc4.d/S01vpnserver -> ../init.d/vpnserver
lrwxrwxrwx 1 root root 19 May  2 15:01 /etc/rc5.d/S01vpnserver -> ../init.d/vpnserver
lrwxrwxrwx 1 root root 19 May  2 15:01 /etc/rc6.d/K01vpnserver -> ../init.d/vpnserver

VPN設定まとめ

PacketixVPNサーバの設定は協力です。

webarena indigo で、無料SoftehterVPNを設定して仮想サーバにしたて上げる事ができます。ここにサーバ類を接続しておくと、固定IPで接続してきたクライアントでも、iPadなどSecureNATを利用したDHCP取得した端末でも、どちらともサーバに接続できるようになります。

まとめ

なにしろ価格の安いwebarena indigoはお勧めできるUbuntuサーバです。

Gmailへのメール送信・到達が非常に遅れ2時間くらいかかる問題

メールが未達?

メールが届かない。特に自分のドメインからメールを送信し、Gmailへ送信するとGmailでの受信が確認できないと連絡がありました。

確かに届いていない。

ふと自分の環境で確認すると、自分のメールも2時間ほどかかって到着している事が分かりました。

原因1 レンタルサーバとGmailの間で時間がかかっている

送信時刻

7 Apr 2022 06:42:02 +0900

標準時刻に直すと -9:00するので

21:42 UTC +0000

Received: from unknown (HELO DESKTGTBGEIF) (techlive@????.or.jp@**.*.*.*)
  by 0 with SMTP; 27 Apr 2022 06:42:02 +0900
From: <techlive@????.or.jp>

Gmailサーバの応答時刻

26 Apr 2022 16:45:32 -0700 (PDT)

標準時刻に直すと +7:00するので

23:45 UTC +0000

X-Google-Smtp-Source: ABdhzuDxhflE21F9OcOMAL7MF4md58BZiyF9eYKIMBF5ZCuz8PuInhrzgZrI5VfW8
X-Received: by 2002:a17:903:2012:b0:15d:2c7b:696a with SMTP id s18-20020a170903201200b0015d2c7amr8674430pla.41.1651016732038;
        Tue, 26 Apr 2022 16:45:32 -0700 (PDT)

つまり

送信時刻:21:42 UTC +0000

着信時刻:23:45 UTC +0000

2時間が経過しています。

これは、私が利用しているレンタルサーバのメールサーバ送信時刻と、Gmailサーバが最初に応答した時刻の差であり、レンタルサーバとGmailサーバ間で何かが発生しているのでは?と思える事象です。

レンタルサーバが原因

このメールログから、レンタルサーバの処理に時間がかかりGmailにメールが到達していないという状況です。レンタルサーバ運営会社に連絡します。

この時の事例では、

1通目、4/27 6:42 に送信したメールの遅延ですが、ログ上でも遅延が確認できました。
当日の夜中からリレーサーバーの負荷が上がり始めていたので、その影響を受けたものと思われます。

WADAXからの回答

[復旧済み] 一部サーバーでのメール配送不具合につきまして

●原因

特定顧客によるメール大量送信

これが原因で、私が利用しているレンタルサーバが過負荷状態で、メール送信に遅れをきたしていました。

原因2 Gmail内部処理で時間がかかっている

もう一つ事例があるヘッダを見つけました。

こちらの送信時刻と、ほぼ同時にGmailサーバが応答しているのですが、実際にメールボックスに入った時間が30分遅れというものです。

送信日時

Received: from unknown (HELO DESKTGTBGEIF) (techlive@????.or.jp@**.*.*.*)
  by 0 with SMTP; 28 Apr 2022 06:53:11 +0900
From: <techlive@????.or.jp>

Gmailサーバ応答日時

X-Google-Smtp-Source: ABdhPJw612QGV7QhzvwVJJHlvTkdWfKQjdS8mWaAjoQcoVo0+awC/uFNLlhuyYyOw8Mut5Yb
X-Received: by 2002:a17:902:d54c:6a4:66e2 with SMTP id z12-20020a170902d54c00b0015d16a466e2m4156plf.65.1651096395033;
        Wed, 27 Apr 2022 14:53:15 -0700 (PDT)

メールサーバ格納時刻

Received: by 2002:a17:90b:36:0:0:0 with SMTP id ml4csp3400pjb;
        Wed, 27 Apr 2022 15:19:23 -0700 (PDT)

Gmailサーバの応答時刻は、送信日時の4秒後になっていますが、実際に処理がおわるのはそれからおよそ30分後です。

Gmailが原因

この場合、Gmailサーバ側で何かが起こっている事が予想されます。

考えられる事として、

Gmailサーバの過負荷

Gmail側で迷惑メールとして判断された

Gmail側で送信者からのメールが大量であり、遅延措置を受けた

無料で利用中のGmailでは明確なお答えはいただけないかもしれません。有料版のGoogle Workspaceなどを利用している場合はヘッダと共に問い合わせれば明確な回答があるかも。

無料でWordPressサイトにチャットを入れる-Tidio Live Chatの設定

洗練された無料のチャットツールが欲しい

WordPressサイトにチャットツールを導入したいと思います。

ダサい感じのAjaxチャットツールもありますが、今回紹介したいのはデザインの洗練されたチャットツール、しかも無料で利用可能です。

ユーザ登録し、外部サービスであるTidioのシステムを利用させていただく形になります。外部サービスへログインアカウントを作成しなければならないというところに抵抗を感じる方もいらっしゃるかもしれませんが、裏を返せば、アクセスが集中しても自分のサイトに負荷をかけずに、システム利用可能という事になります。

Tidio – Live Chat

WordPress Webサイト用の使いやすいライブチャットプラグインです。

多くの機能が無料で利用可能となっていて、一番最初に試すには良い条件になっています。

無料プランの機能について確認してみました。

  • 最大2人までチャットオペレーターの追加が可能
  • 月に100人までの訪問者にチャットボットメッセージを送信可能
  • メッセージのやり取りは無制限に可能

無料でこれだけ使えれば、私たちの使い方では十分です。

参照 Tidio価格表

こんなイメージで無料で使えます。

使いたいのは、Webサイトにチャット機能を付けたい。チャットボット機能もありますが、今やりたいのはオペレータとのやり取りだけです。

日本語表示可能で、デフォルトの表示文章も様々編集可能です。

テキストメッセージ送信時に、付随して本人情報を収集する事もできます。

オペレータは無料で2人まで登録ができ、WordPressサイトからそのオペレータでログインすると、以下のように返信する事ができるようになります。パソコンのwebサイト、WordPressの管理画面の中からTidio/Panelにログインすると、メッセージの返信から様々なカスタマイズが可能です。

オペレータからの添付ファイルや、スタンプも送信可能です。

メッセージの返信やりとりは、LINE上でのメッセージのやりとりな感じと同じで、写真やスタンプを送信できます。とっても洗練された画面なので今時使っていて

インストールから設定

新規のプラグイン追加にて、Tidioを検索します。

インストールすると初期ユーザ設定画面が表示されます。

メールアドレスと、初期パスワードを登録すると、初期設定ウィザードが表示されます。とりあえず、この辺は適当に済ませて大丈夫です。

この段階でチャットボットが有効になっています。

歯車の設定ボタンからChat Pageを開きます。

このページによって、企業ロゴや、ウェルカムメッセージを編集する事が可能です。

次に通知を設定します。

Notificationという設定画面になります。

最初通知を受け取れるようになっていないため、

Notifications are disabled.
You might miss some incoming chats.

Enable notifications をクリックして通知を可能な状態にします。

e-mailは利用する予定がなかったので向こうに師、Web communicationの欄において、New message,New chat request,Incoming visitorがあった時に通知するように設定します。

SAVEボタンをクリックして、設定を保存します。

対応時間をスケジュールする事も可能です。

Operationg Hoursの設定項目中の are disabledのスイッチをオンにすると、曜日ごとに対応時間を設定する事ができます。

チャットボット機能を無効にする

インストールすると、チャットボットが有効になっています。今回チャットボット機能は利用しないため無効にします。

チャットボットボタン→Generate leads のActiveになっているbotをオフにします。

開始時に名前を入力してもらえるようにする

Live Chat → Appearance

にて、メッセージ送信時に強制的に情報を入れていただけるようにします。

Name

Email

Phone Number

が選択可能です。

オンラインオフラインの切り替えは、右上のユーザステータス欄をクリックし、Offlineにします。

オフラインの時にはチャットルームを表示しない

Display the Chat When You’re Offline

をオフにします。

TidioはWordPressに負担をかけない

チャットツールが表示されている状態で、F12キーを押し、ソースを確認してみると、

tidio-chat-iframe

が表示されます。これは、そのまま外部サイトを利用している事だと思います。

つまりこのチャットは、外部サイトでやり取りしており、WordPressのPHPを利用したものではないのでアクセスが集中しても本体サイトに負担はかけないという事になります。

スマホで管理・返答が可能

驚く事に、無料でスマホアプリも提供があります。ログインしておくと、チャットが入った際の通知も来て、見逃す事がありません。

これは優れものです。

WordPressのページコピーをプラグインを使わず簡単に行う方法

プラグインを使わなくても簡単にコピー

ページを作成している時に、似通ったページを作成する時には、簡単にページコピーできたらいいなって思う事があります。

今まではページコピーにはプラグインを利用していました。

プラグインでコピーするのも確かに簡単なのですが、プラグインは必要最低限にしたいです。標準機能で手動でページをコピーする事ができます。

すべてのコンテンツをコピー

標準機能の中で、コピーしたいページを開き、右上のオプションボタンを押すとツールが開きます。

この中ですべてのコンテンツをコピーします。

新しいページを開いて右クリック→ペーストするだけで、コピーしたページのすべての要素を貼り付ける事が可能です。

ページコピーしたいけど、プラグインを使うほどでもないという時にためしてみてはいかがでしょうか?

物足りない時はプラグインで

複製回数が多い場合は、プラグインを利用するのも検討できます。

プラグインのいいところは、ボタンを一つクリックするだけでコピーページが作成されてしまう事です。複製する機会が多い場合は導入を検討して良いと思います。

私のサイトの中で複製ページをよく作るさいとでは

Duplicate Post

を利用しています。

有効インストール数が4,000,000以上の優秀なプラグインです。使い方も簡単。

「投稿の編集」 / 「ページの編集」で、投稿 / ページのタイトルの下にある「複製」リンクをクリックできます。これにより、すぐにコピーが作成され、リストに戻ります。

直感的に操作可能です。