Latest Publications

Big Surに乗り換えた時にやったこと

VS-codeにフルディスクアクセスの許可を追加

MacVimがチカチカなって使えなくなっていたので、設定から「Core Textレンダラを使用する」のチェック

カーソルの表示部分がなんかおかしい気がするし、使っていたMacVim-KaoriYaが数年メンテナンスされていないこともあり素のMacVimに乗り換え。
brew install macvim
ln -s $(brew –prefix macvim)/MacVim.app /Applications

localhostがIt works!になる。
自動起動を確認
sudo launchctl list | grep httpd
Mac標準のapacheを自動起動しないよう設定
sudo launchctl stop /System/Library/LaunchDaemons/org.apache.httpd.plist

Finderにつけていた、「新規テキスト作成」「ターミナルを開く」が動かなくなっていたので再設定。
Automatorで作ったアプリをFinderのヘッダーバーに設定。
ついでにアイコンがBig Surに合うように作り直して、設定。(情報を見るの左上にあるアイコン画像をクリックしてクリップボードから貼り付け)

VeraCyptが動かない→設定からmacFUSEのアップデート→再起動→VeraCript→セキュリティで許可→再起動

Big SurでVS-codeからphpunitを動かす

MacをBig Surにしたら不具合発生。

VS-codeのtasks.jsonで設定していたphpunitが動かなくなった。

No tests executed!

と表示される。
このため、原因調査。

調べてみると、標準で入っているPHPが古いバージョンなのでエラーが出るとのこと。

vs-codeのphpは /usr/bin/php にあるものだった。
これをterminalからリネームしようとしてもエラーでできない。
このディレクトリのものは変更できないとのこと。

vs-codeにパスを通そうと
terminal.integrated.env.osx
で設定しようとするも、反映されない。

echo $PATH をしてみると
/bin:/usr/local/bin:/usr/bin
となっているので、
/usr/local/bin に、現在の実行phpである
/usr/local/opt/php/bin/php
へのシンボリックリンクを作成し、そちらの方が先に読まれるようにしたら動いた。

Laravelのブラウザテストが動かなくなった場合はchromedriverを更新する

今まで動いていたブラウザテストが動かなくなった。
テストのエラーではなく、そもそも起動しない。

原因はchromedriverのバージョン。

Macの場合は、chromeのバージョンを確認した上で

php artisan dusk:chrome-driver 92
などバージョン指定する。OSは自動的に認識してくれるので、
vendor/laravel/dusk/bin/chromedriver-mac-intel
などが更新される。

DockerのLinux利用のchromedriverも更新する場合はそちらでも作業が必要。
Docker内で
php artisan dusk:chrome-driver
とする。バージョンを指定しないと、最新になる。これで
vendor/laravel/dusk/bin/chromedriver-linux
が更新される。

これらはgitでの管理ファイルではないので、他メンバーの環境は気にせず実行可能。

MacのMySQLが自動起動しなくなってしまった

brew upgradeしたせいかと。

~/Library/LaunchAgentsにあるhomebrew.mxcl.mysql.plistのシンボリックリンクが古いパスになって切れていたので張り直した。

Amazon SES で E メール送信履歴を保存する設定

(参考)
AMAZON SES でのメール送信ログを表示する
https://blog.denet.co.jp/amazon-ses-log/

Amazon SES で E メール送信履歴を表示するにはどうすればよいですか ?
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ses-email-sending-history/?nc1=h_ls

Amazon SES でメールの送信履歴を保存する方法を教えてください。

公式が準備している上記の通りに設定をすると、
SESのテスト送信にて作成したConfiguration setsを指定すると
ログが取れるところまではできた。

ただ、いくつか注意点があった。

1. Configuration setsを常に指定しておきたい。

テストメールや、プログラムからの送信の場合は
メールヘッダーにConfiguration setsを指定することでログ取得の対象となることがわかったが、
それ以外の場面(Gmailや既存のメール配信システム)でのログが取りたかった。

調べても見つからず、設定画面にもそれらしいものがなく、設定が無理なのかと思っていたが
SESのコンソールを新しいバージョンにしたら、設定箇所を発見。

メールアドレスごとの画面でデフォルトのConfiguration setsを設定できた。これで、システムだろうがGmailだろうが、SESを使って送信すればログが残るようになった。

2.高くなった

とりあえず動くことを目指して設定を色々といじっていて、なんとか動いたわけだが、それほど送信数も多くないし金額はたいしたことないと思っていた。稼働しはじめてから数日たってチェックしてみると、1日15ドル以上かかっていた。とりあえずのチェックくらいであれば、最小構成にするのがオススメ。

3.Kinbaへのアクセス

ログを見るにはElastic searchの画面でリンクが準備されているKinbaにアクセスする必要があるが、AWSのユーザーで認証をかけて見れるようにしようとあれこれ試したがうまくできず、結局IPアドレスでの許可しかできなかった。IPアドレスが違う環境や変わった時などは設定から変える必要があるので面倒。

SiteGuard WP Pluginを入れたらWordPressにログインできなくなった

たくさん管理しているワードプレスにアタックが多いので
wp-login.phpを無効にすべく
SiteGuard WP Pluginを入れて「ログインページ変更」を設定した。

ほとんどのサイトがうまく動いたけど、ひとつだけ
新しくできたログインページにアクセスしても404エラーがでてログインできない。
当然元のログインも無理。

調べたら.htaccessを消すとかって情報がたくさんあったけどなんか嫌なので
他の方法を模索。

データベースをチェックしてみると
wp_optionsの中に
option_name = siteguard_config
に設定項目を発見。

その中で、
“renamelogin_enable”;s:1:”1″
という項目を探して
“renamelogin_enable”;s:1:”0″
に変更すると、元のwp-login.phpでログインできた。

AWSのSESエラー

いつも送信しているメールを送ったら、下記のエラーメールが届いた。

535 Signature Version 2 is deprecated for use with SES from March 26, 2021. From that date on, we are progressively rejecting such requests. To resolve the issue, you must migrate to Signature Version 4. If you created your SMTP credentials in the SES Console, please create new credentials and replace the former ones. If you are deriving Signature Version 2 credentials from a IAM user, please start using the Signature Version 4 algorithm:

Google日本語翻訳をしたものが下記。

535署名バージョン2は、2021年3月26日からSESでの使用が非推奨になりました。その日以降、このような要求は段階的に拒否されます。 この問題を解決するには、署名バージョン4に移行する必要があります。SESコンソールでSMTP資格情報を作成した場合は、新しい資格情報を作成し、以前の資格情報を置き換えてください。 IAMユーザーからSignatureバージョン2の資格情報を取得する場合は、Signatureバージョン4アルゴリズムの使用を開始してください。

3月26日以後も送れてたんだけど、少し後のタイミングでエラー。
SES の SMTP Settings で新しいCredentialsを設定し、そのIDとPWでメール送信を再設定したら問題なく送信できた。

CircleCIとSlackの連携

連携方法はOrbs v4。Webhookとかって書いてある情報は前のバージョンなので無視。

[CircleCI側]

Project Settings → Environment Variables

SLACK_ACCESS_TOKENとSLACK_DEFAULT_CHANNELを設定

SLACK_DEFAULT_CHANNELは、ブラウザ版Slackでアクセスした時のURLでチャンネルIDを確認して登録。

https://app.slack.com/client//

という形式になっている。

[Slack側]

管理ユーザーで下記にアクセス

https://api.slack.com/apps

自分で create app したアプリ(CircleCI)を選択。

サイドバーのOAuth & Permissions

User OAuth TokenとBot User OAuth Tokenがある。
Slack通知をどちらにさせたいかで、CircleCIのSLACK_ACCESS_TOKENに入れるトークンを変える。

Macの全ブラウザが遅い、重い時の対処

MacのOSをアップデートしたら、いつからかブラウザの表示が極端に遅くなった。

最初はブラウザのせいかと思い、キャッシュをクリアするなどしても改善せず。
他のブラウザでも同じ症状なので、ブラウザのせいではないことが判明。

次にネット環境を疑ったが、localhostのページ表示まで遅いので関係ない。
セーフブートなどを試しても改善せず。

結果、Macのネットワーク設定で、
Wi-Fiの「使ったことのあるネットワーク」に大量に溜まっていた
過去にアクセスしたSSIDをほとんど削除し、再起動したら直った。

Gmailの容量を空ける

GmailはGoogleアカウントの管理画面から、データをエクスポートできる。
その際、エクスポートするlabelを選択することができるので
まとめてどこかに移動したいメールに特定のlabelを設定する。

labelの付け方としてはフィルタを設定し、
「既存のスレッドにも適用」のチェックを入れておくと
既に届いているメールにも適用される。

ダウンロードしたメールデータはmbox形式で保存される。
見たいときにはWindows MBox Viewerを使えばメールソフト風のUIでメールをチェックできる。
https://sourceforge.net/projects/mbox-viewer/

データをダウンロードした後は、Gmailでのメール削除。
フィルタを設定し、特定のlabelを条件にして「ゴミ箱に移動」を選択。
その際、「既存のスレッドにも適用」のチェックも入れることで大量のメールもまとめてゴミ箱に移動できる。

ゴミ箱に移動させた後は、そのフィルタは削除しないと今後もゴミ箱に入ってしまうので注意。
ゴミ箱を空にすれば、容量確保。