WP mail SMTPエラー「Peer certificate CN=`*.****.jp' did not match expected」

ワードプレスプラグインで「WP mail SMTP」ってあると思います。
このプラグインからメールを送信する際の下記エラーに遭遇したので回避策を紹介したいと思います。
「Peer certificate CN=`*.****.jp' did not match expected」
今回も参考にさせて頂いた記事に感謝を述べたいと思います。
ありがとうございます。
qiita.com

原因

暗号化されたすべてのクライアントストリームで、ピア検証がデフォルトで有効になりました。 デフォルトでは、OpenSSL のデフォルト CA > バンドルを使ってピア証明書を検証します。 たいていの場合は、正しい SSL 証明書を持つサーバーと通信するならこれを変更する必要> はありません。 OpenSSL が、よく知られた CA バンドルを使うように設定されているからです。

解決策

SSL証明書を用意するか、functions.phpプログラムの修正を行うかです。
今回はfunctions.phpの修正で対応いたします。
下記コードをそのままfunctions.phpの最下部に張り付けてください。

function my_wp_mail_smtp_custom_options ( $phpmailer ) {
    if ( isset( $phpmailer->SMTPAuth ) ) {
        if ( $phpmailer->SMTPAuth == true ) {
            $phpmailer->SMTPOptions = array('ssl' =>
array(
 'verify_peer' => false,
 'verify_peer_name' => false,
 'allow_self_signed' => true));
        }
    }
    return $phpmailer;
}
add_filter("wp_mail_smtp_custom_options", "my_wp_mail_smtp_custom_options");

その後、Apacheのリスタートを実行。

systemctl restart httpd

上手く送信できていれば下記のように表示されます。
f:id:kyamisama:20210108184548j:plain

「Hook execution failed: SSL_connect returned=1 errno=0 state=error: wrong version number」エラーの解決方法

GitLabのWebhook設定時にSSLコネクションエラーに遭遇。。。
エラー→「Hook execution failed: SSL_connect returned=1 errno=0 state=error: wrong version number
f:id:kyamisama:20210107114114j:plain

原因

推測ですが、今回利用しているGitLabが自前のGitLabでSSL化しておりませんでした。
なのでSSLでのwebhookアクセスが失敗したのでは無いでしょうか。

解決

じゃぁSSL辞めようよ。
と言う事で、webhookのURLの「HTTPS」を「HTTP」に修正しちゃいます。
私の場合これで200OKのレスポンスが返ってきました。
f:id:kyamisama:20210107114427j:plain

GitLabとJenkisの連携時エラー「Urlis blocked: Requests to localhost are not allowed」の解決方法

前置き

今回GitLabとJenkinsを連携させてCI/CDパイプラインを構築した際に出くわしたエラーについての紹介です。
エラーはこちらです。→「Urlis blocked: Requests to localhost are not allowed
f:id:kyamisama:20210107112057j:plain

原因

今回の構成が1台のCentOSマシン上にGitLabとJenkinsを両立させたためアクセス先がローカルホストになってしまったことでした。

解決方法

「GitLabの管理者設定」>「設定」>「ネットワーク」へ進みます。
f:id:kyamisama:20210107112930j:plain
「アウトバウンドリクエスト」タグで「webフックおよびサービスからのローカルネットワークへのリクエストを許可する」にチェックを入れます。
f:id:kyamisama:20210107112940j:plain
以上でエラーが解決されるはずです。

GitLab待ち受けポート変更方法

/etc/gitlab/gitlab.rbの修正

external_urlで指定しているIPアドレスの後ろに任意のポート番号を追記します。
今回は8080番にします。

[root@localhost jenkins]# cat /etc/gitlab/gitlab.rb | grep 8080| head -1
external_url 'http://192.168.250.75:8080'
[root@localhost jenkins]#

設定変更を反映させる

gitlab-ctl reconfigure

正常に反映が完了した場合下記文言が表示される。

           ~略~
gitlab Reconfigured!
[root@localhost jenkins]#

改めてブラウザで8080ポートでアクセスし無事アクセスできることを確認する。

TerraformでOCI インスタンス(CentOS7)を構築してみる

Terraformの記述はHCLで決まっているので大体似たような内容になると思いますけど簡単に紹介させていただきます。
より詳細に知りたい方はこちらをご参照ください。

instnace.tfの中身

resource "oci_core_instance" "instance1" {
    #Required
    availability_domain = "${data.oci_identity_availability_domain.ad1.name}"
    compartment_id      = "${var.compart-ocid}"
    display_name        = "instance1"

    #Optional
    shape               = "${var.instance-shape5}"
    create_vnic_details {
        assign_public_ip = false
        private_ip  = "10.0.1.2"
        subnet_id      = "${oci_core_subnet.subnet.id}"
    }
    source_details {
        source_type = "image"
        source_id   = "ocid1.image.oc1.ap-tokyo-1.aaaaaaaahklxhfmawzo4adpq74egsnjirfh5ttbtkwoael6bgkkivmqmv6ja"
    }
    metadata = {
        ssh_authorized_keys = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQA*******"
    }
}
variable "compart-ocid" {
    default = "ocid1.compartment.oc1..aaaa*****************"
}
variable "instance-shape5" {
    default = "VM.Standard.E2.1"
}

※subnet_idの指定が別ファイルでしているのでここでは割愛させていただきます。
多かれ少なかれ大体こんな書き方になるんじゃないでしょうか。

sql文を一括で実行するスクリプト

以前数百行ほどのSQL分を実行するお仕事があり、チマチマ実行するのも面倒なので一括で実行できる方法が無いかググって簡単な方法があったので紹介したいと思います。

スクリプト中身

[oracle@test ~]$ cat sql.sh
#!/bin/bash
tempsqlfile=./DBCreate.sql
sqlplus system/password#@testdb01 @${tempsqlfile}

DBCreate.sqlに数百行分のSQLを格納している。
あとはこのスクリプトを実行するだけ。

sh sql.sh

これだけ。おしまい!