マストドン鯖を引っ越したい(願望)

最近そもそもブログ自体あまり更新できていないけど、こちらのブログは特に更新が滞ってしまっている。 hugoのほうのブログに一本化したいみたいな気持ちは少しあるけどまだ具体的なアイディアは固まっていない。 それはさておき最近考えていることを適当に書き散らす。前もって断っておくが中身はないのであしからず。   “` 弊マストドン鯖関連 ワイルドカード証明書の自動更新スクリプトを設定したい しかし使ってるお名前ドットなんちゃらはDNS APIがないのでスクリプト化できない なのでAPIが提供されているDNSサービス、今回でいえばそもそもマストドンをConoHaでホスティングしているのでConoHaのDNSに乗り換えるかみたいな気持ちがある しかしそもそもConoHaを使っていて最近以下の不満・問題がある 弊マストドン鯖はIPv4/IPv6を利用しているがConoHaのVPS周辺サービスはIPv6非対応のものが結構ある 例えば:WAF, LB これらはIPv6非対応であるために利用していないが、本当は使いたい また弊マストドン鯖は以前 *適当に* Ubuntu 16.04から18.04にアップグレードしたが適当にやったおかげでいくらか変な状態になっているぽい 例えば:ネットワーク・インターフェースの設定をしたいがnetplan(Ubuntu 18.04では/etc/network/interfaces/*の代わりにこのnetplanというのを使うらしい)が正常に動かない。ネットワーク・インターフェースが設定できない (16.04時代にinterfaces/*で設定していたものがいまも正常に動いているがあれはどこで設定されているのだろうか?…) つまりいま弊鯖はいわゆるアンタッチャブル≒アウト・オブ・コントロール 全部クリーンインストールしてきれいに作り直したい  勉強がてら、AWSをもっと使いたいという気持ちがある EC2, ELB, Route53(API含む), S3, WAF “` ここまでの話まとめ -> 弊マストドンをお名前ドットなんちゃら+ConoHa構成から全部AWS構成に作り変えたい   し か し ドメインキープでクラウドベンダーを跨いで引っ越し? 冷静に考えて面倒くさすぎるだろjk… どうする。 いまの鯖潰して新しいドメインで新しく構成作って再スタートするか? いや。うーん。それは。。。   そんなことをモヤモヤ考えてるが、まだ結論は出ていない。今月中に方針くらいは決めたいな…   マストドンの引っ越しやった方は是非ブログ書いてください。そんでこのブログのコメントとか拙マストドン垢に直接メンションして教えたってください。   何卒よろしくお願い致します。

ConoHaのロードバランサーはIPv6に対応していますか?

eyecatch

Q. ConoHaのロードバランサーはIPv6に対応していますか? A. 対応していません   繰り返します。ConoHaのロードバランサーはIPv6には対応していません! (2018/10/10現在)   以下、ConoHaへの問い合わせログ   [ConoHa]お問い合わせにつきまして ご担当者 様 いつもご利用いただき、まことにありがとうございます。 ConoHa お客様センター中田です。 お問い合わせの件につきまして、大変恐縮ではございますが、 ConoHaにて提供しているロードバランサーについて、IPv6での ご運用は対応していないものとなります。 恐れ入りますが、何とぞ、ご確認くださいますよう よろしくお願いいたします。 今後ともConoHaをよろしくお願いいたします。 ───────────────────────────── GMOインターネット株式会社 ConoHa お客様センター FAQ/よくあるご質問  https://www.conoha.jp/faq/ お問い合わせ        info@conoha.jp ─────────────────────────────       おかげさまで22周年 すべての人にインターネット       ■ GMO INTERNET GROUP ■ https://www.gmo.jp/ ───────────────────────────── 機密情報に関する注意事項:このE-mailは、発信者が意図した 受信者のみが利用することを意図したものです。万が一、貴殿が このE-mailの発信者が意図した受信者でない場合には、直ちに 送信者への連絡とこのE-mailを破棄願います。 お世話になっております。 FAQ等確認させていただきましたが記載ないようでしたので、お伺いさせていただきます。 conohaのロードバランサーはipv6アドレスの設定は可能でしょうか? よろしくお願い致します。   所感 …

弊マストドン(mstdn.binfish.jp)の構成と費用について

弊お一人様丼の構成が整ってきたので、ここらで一度構成や費用について簡単にまとめておく。 システム構成について ConoHa (東京リージョン) ロードバランサ リーストコネクション DSR方式 Web Server (App) OS: Ubuntu 18.04.1 LTS vCPU: 2 Core RAM: 1GB SSD: 50GB DB Server (DB) OS: Ubuntu 18.04.1 LTS vCPU: 2 Core RAM: 1GB SSD: 50GB AWS (東京リージョン) Amazon S3 (Media) その他特記事項 2つのドメインで運用 https://mstdn.binfish.jp https://binfish.social (ただしbinfish.socialはmstdn.binfish.jpにリダイレクトする) ConoHaのWebサーバとDBサーバはプライベートネットワークで接続 アプリサーバが1台ならバランサイラネーじゃんというのは、はい。そうです。なんですが、そこはまぁ遊び半分、勉強半分です。 あと過去に1回、バルス祭りのときに増強したことがあるので、まぁやろうと思ったらいろいろできるよというところで。   費用について ※参考値(2018年9月費用) ConoHa (App, DB) VPS …¥900 * 2 …

「すでにユーザーが作成されているため、SDカードに切り替えられません」

[2018/8/17更新] EMUI 5.0.1 (Android 7.0) で引き続き事象が発生することを確認. 最近HUAWEI P9を購入した。 HUAWEI P9はもともと32GBの内部ストレージがあるが、SDカードでストレージ容量を増設できるので、SDカードも合わせて購入。 【Amazon.co.jp限定】Transcend SDHCカード 32GB Class10 UHS-I対応 (最大転送速度90MB/s) TS32GSDHC10U1E (FFP) トランセンドジャパン 売り上げランキング : 3 Amazonで見る 楽天市場で見る Yahooショッピングで見る by カエレバ   早速SDカードを端末に挿してデフォルトのファイル保存先をSDに変更しようとしたところ、「すでにユーザーが作成されているため、SDカードに切り替えられません」と表示され設定できない。 ネットで調べてみてもこれというものが見つからず、悶々と過ごしていたが、基本に立ち返りエラーの内容をヒントに素直にユーザー設定を確認していたところ、「もしかして”ゲスト”ユーザーがいけないのか?」と思い立った。 ためしにゲストユーザーを削除し、改めてストレージ設定画面からデフォルト保存先を設定したところ、、、 無事にSDカードを設定できた!   尚、SDカード設定後にゲストユーザーを作成すればいいのかと思ったが「デフォルトの保存先がSDカードであるため、新規ユーザーを作成できません」と表示され、ゲストユーザーも他のユーザーも作成できなかった。   仕事でデバイスチェックを行う際、個人所有の端末を使うことも多く、端末を人に貸す機会もよくあったのでゲストユーザーが使えると便利だったのだけど、残念だ。(´・ω・`)

マストドンにGoogle Analytics Tracking Codeを埋め込む

分散SNSのマストドン(Mastodon)にGoogleアナリティクスのトラッキングコードを埋め込んだ際のメモ。 ソースコードをいじらないとだめかなと思ったけど、Nginxのngx_http_sub_module を利用することでソースコードをいじることなくGoogleアナリティクスのトラッキングコードを埋め込むことができた。 参考) Nginx公式ドキュメント 概要 nginxのngx_http_sub_moduleを利用し、HTTPレスポンスに含まれるHTMLタグを置換してGoogleアナリティクスのトラッキングコードを埋め込む。 前提 対象のマストドンインスタンスはConoHaでマストドンのアプリケーションイメージを使用して建てたもの マストドンを建てるにあたっては、上記手順にもあるConoHaのセットアップスクリプトを利用している (nginxの設定ファイルなどが上記セットアップスクリプトの利用の如何によって変わる) 各種バージョン Ubuntu 16.04.5 LTS (Xenial Xerus) Nginx nginx/1.10.3 (Ubuntu) Mastodon v2.4.3 実際のところマストドンのバージョンはなんとなく書いてみただけで、別になんでも良い. 重要なのはNginxで、今回利用するngx_http_sub_moduleのモジュールが含まれていることが必要となる。 モジュールが利用可能かどうかは下記のコマンドで確認することができる。 $ nginx -V nginx version: nginx/1.10.3 (Ubuntu) built with OpenSSL 1.0.2g 1 Mar 2016 TLS SNI support enabled configure arguments: –with-cc-opt=’-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2′ –with-ld-opt=’-Wl,-Bsymbolic-functions -fPIE -pie …

「30日でできる! OS自作入門」はじめました

eye catch

OSはじめました Yeah!めっちゃホリディ!ってことで夏休みなので普段やらないことやろうと思いまして、OS自作の本↓を買って作り始めました。   30日でできる! OS自作入門 川合 秀実 毎日コミュニケーションズ 2006-03-01 売り上げランキング : 43680 Amazonで見る 楽天市場で見る Yahooショッピングで見る by カエレバ   2006年が初版のようですが、いまだに名著との声が多かったのでやってみることにしました。 以下、2018年現在に上記の本に取り組む際の手順などをメモがてら残していこうと思います。 前提(開発環境) 以前レストアしたWindowsマシンを使って開発する。 OS Windows10 Pro 64bit RAM 16GB ※私の環境はこうですというだけで、別にWindows10やProであることが必須ではないです。 メモリも16GBもなくても問題ないと思います。 ただChrome等のブラウザで調べ物をしつつ後述のVirtualBox等仮想化環境を動かすとそれなりにメモリを食うので、たくさんあるに越したことはありませんね ツール(アプリケーション) BinaryEditorBz バイナリエディタ. この本の読者はテキストエディタよりも先にバイナリエディタに触れることになる…! Oracle VirtualBox VM(Virtual Machine, 仮想マシン). 本ではフロッピーディスクに作成したOSイメージを焼いてそのフロッピーからブートする手順が書かれているが、もちろん2018年にフロッピーディスクなんて使わない. 今回の肝はこのVirtualBoxを使ってどう作成したOSを動かすかというところ. 大まかな流れ 今回はとりあえずチャプター1「(一日目) PCの仕組みからアセンブラ入門まで」の前半、バイナリエディタでOSイメージファイルを作成してVirtualBoxでブートして画面に”Hello, world”と表示させるところまで. バイナリエディタ(Bz)でhelloos.imgファイルを作成 VirtualBoxで仮想マシンを新規作成し、手順1で作成したimgファイルをマウント OSを起動し画面に”Hello, world”が表示されるのを確認 という流れになる。尚、上記手順では前提となるツール(バイナリエディタBzとVirtualBox)のインストール作業は割愛している。 1 バイナリエディタ(Bz)でhelloos.imgファイルを作成 2 VirtualBoxで仮想マシンを新規作成し、手順1で作成したimgファイルをマウント …

fishシェル環境でjenvを使う

eye catch

ここ数日また猛暑日が続いていて本当に夜も寝苦しい感じですが、オフィスでは恒例のエアコンウォーズが繰り広げられておりまして、気づくと20度以下に設定されてたり27度前後に設定されていたり、本当にいろんな意味で身体が持ちません。どうしてそう極端なのか。 さてそれはそれとして、先日新たに作ったポエム日記でも少し書いたのですが、近頃職場のシステムリプレイスで新しいテクノロジーに触れる機会がありまして、目下JavaのPlayフレームワークをお勉強中です。 で、それにかこつけて新たにIntelliJ IDEAを使い始めたりしているのですが、環境構築周りでまぁやっぱりいろいろと躓いていますので、備忘でひとつひとつまとめて行きたいと思います。 今回はIntelliJやPlayフレームワーク以前の、Java開発環境のセットアップに関するメモです。 開発環境 OS macOS High Sierra Version 10.13.16 brew Homebrew 1.7.1 Homebrew/homebrew-core (git revision 92d5; last commit 2018-08-01) jenv 0.4.4 前提 パッケージやアプリは全部brewコマンドで管理したい 先日の記事にも書いたけど、最近ようやくHomebrew + brew-cask + brew-bundleによるパッケージマネジメントの手法が自分の中で確立されてきたので、今回の件も含めて今後パッケージやアプリの追加は極力brewやbrew caskといったHomebrewコマンドを使って管理していきたい 最近fishシェルを使い始めた 特段カスタマイズしなくてもzshのようなモダンライクないい感じのシェル環境が構築できて概ね気に入っているのだが、bashでいうところの.bashrcのような設定ファイルの配置やシェルスクリプトの構文が独特で、スクリプト周りの悩みも多い…(それで結局いつもbashに戻っちゃうんだけどね. 今回はもう少し頑張りたい) これらの前提の上で、Java開発のために複数のJDKバージョンを管理することを目的としてjEnvを導入していくのが今回の目的です。 jEnvとは – What’s jEnv ? “jEnv is a command line tool to help you forget how to set the …

俺のBrewfileが完成したので晒す

eye catch

「ぼくのかんがえたさいきょうの」的な釣りタイトルにしようかと思ったけど、結局のところなにが最強かはその人の使い方次第だしね。 というわけで俺のBrewfileです。 https://gist.github.com/yutarot/600feb83f305302a4fc61f5640ca2be8 補足 以下、補足です。 HomebrewはmacOS用のパッケージマネージャーです。 $ brew install python   のようにターミナルから実行することで、主にCLI環境で使用するパッケージをインストールします。 また、Homebrewにはcaskというオプションコマンドが組み込まれており、これを利用することでCLI向けのパッケージ以外の、通常のアプリケーションもインストールすることができます。 たとえばGoogle Chromeをインストールしたい場合、 $ brew cask install google-chrome   という具合にしてインストールすることができます。 google-chrome のような、インストール対象の実際の識別子は最初知らない場合が多いと思いますが、そのような場合には以下のようにsearch のオプションコマンドを使って検索することができます。 $ brew search chrome ==> Formulae chrome-cli chrome-export ==> Casks chrome-devtools chrome-remote-desktop-host chromedriver dmm-player-for-chrome epichrome google-chrome mkchromecast homebrew/cask-versions/google-chrome-beta homebrew/cask-versions/google-chrome-canary homebrew/cask-versions/google-chrome-dev   Formulaeはbrew install を使ってインストールするCLI環境向けパッケージ、Casksはbrew cask install を使ってインストールするGUI環境向けのアプリケーションです。 これらsearchコマンドによる検索結果を頼りに、自分のインストールしたいアプリの識別子を見つけていくことになります。(今回はgoogle-chromeが正解) さらにさらに、masというコマンド/パッケージをインストールすることで、Mac App Storeで配布しているアプリケーションもコマンドでインストールすることができるようになります! $ mas search …

Google日本語入力でかな入力中に英数キー2回押すと英数字に変換してくれるアレ

eye catch

英数キー2回押すと英数字に変換してくれる便利なアレをGoogle日本語入力で使いたい Mac標準の日本語入力、”ことえり”はアホな日本語変換で基本的に使い物にならないですが、日本語入力中に”英数”キーを2回押すと英数字に変換してくれる機能があり、あれだけは素晴らしいです。 MacやAndroid等、各デバイスでGoogle日本語入力が使えるようになってからは、私はもっぱらGoogle日本語入力のお世話になっていますが、当初はことえりのように英数キー2回で入力中の日本語を英数字に変換するような機能はなく、それだけが長らく不満だったのでした。 (Google日本語入力のヘルプフォーラムを検索してみると過去に同様のトピックがいくつかみつかります。例えばこちら) そして、2013年8月ごろ、ついに待望の英数キー2回による英数変換と日本語入力確定後のかなキー2回による日本語再変換が対応されたのでした!オッケーグーグル!👌 Google 日本語入力の安定版をアップデートしました。(1.11.1515.x) ただ、久々に新しいMacを買ってさっそくGoogle日本語入力を入れたところ、このギミックが動作しなくて最初すこし戸惑ったので、備忘としてそちらの機能を有効にする方法を残しておきます。 USキーボード環境では2ステップの設定で英数キー2回が動作可能に 結論からいうと、英数キー2回で入力中の日本語を英数に変換したり、かなキー2回で確定した日本語を再変換する機能を有効するのに特別な設定は必要ないですが、Macのシステム設定→キーボード→入力ソースから、”ひらがな (Google)”と”英数 (Google)”が追加設定済みになっている必要があります。 つまり、英数キー2回で入力中の日本語を英数に変換したり、かなキー2回で確定した日本語を再変換する機能は、Google日本語入力のひらがな入力⇔英数入力の間で実現されているため、たとえば上の図のような、筆者の環境でいうところのHiragana(Google)⇔U.S.(標準英字キーボード)の間では実現できず、英数キーを2回叩いても変換してくれない、ということなのでした。 さらに、これもまたややこしい話なのですが、筆者の環境のようにU.S.(標準英字キーボード入力)が有効になっている場合(英字キーボード環境ではデフォルトのU.S.入力が設定から削除できない)、上記のようにGoogle日本語入力の”ひらがな (Google)”と”英数 (Google)”をシステム設定で適切に追加・設定したとしても、英数キーを押した際の英数入力で”U.S.”が優先になっていると、英数キー2回の機能がうまくいきません。 この場合はシステム設定から”ひらがな (Google)”と”英数 (Google)”を設定した後、右上のキーボード入力切り替えアイコンから”英数 (Google)”を一度選択して、”英数 (Google)”の英数入力の優先度が”U.S.”よりも高くなるようにしてあげるとうまくいきます。 まとめると、 システム設定→キーボード→入力ソースから、”ひらがな (Google)”と”英数 (Google)”を追加 右上のキーボード切り替えアイコンから”英数 (Google)”をタップ としてやれば、次回から日本語入力中に英数キーを2回叩いた際、ちゃんと”英数 (Google)”での英数入力になり、入力中の文字も英数字に変換してくれるはずです。   というわけで、Google日本語入力において英数キー2回で英数字に変換してくれるアレを有効化する方法でした。 筆者が英字キーボード環境の手前、説明文と画像が一致していなくてすみません。。(また、表記等が正確でなかったらごめんなさい。。orz) 願わくはみなさんのトラブル解決に少しでもお役に立てているといいのですが。   ではでは。

AMPでアバター画像が表示されない (WordPress)

eye catch image

ずっとブログをAMPで表示した際にアバターが表示されないなーと思っていたんだけど、解決したのでメモ。 先に結論だけ書くと、Gravatarに登録してプロフィール画像を設定するとそれを表示してくれる模様。 事象:AMPでアバターが表示されない ソースコードを確認してみると、なにやらGravatarから取得しようとしている様子。 さっそくGravatarに登録しに行ってみる 早速アカウント登録から…と思っていたら、”WordPress.com ログイン”の表示が。 ブログを開始したころに登録したWordPress.comのアカウントでログインすると、Gravatarの設定画面に。 Gravatarにプロフィール画像を設定 プロフィール画像の登録まで完了。 次はなにをすればいいのかな?と思っていたら… あら不思議、無事にアバターが表示されていました。 AMPプラグインに設定が見つからなかったので、ソースコードをゴニョゴニョしないといけないのかなーと思っていたけど、そんな必要はありませんでしたとさ。 どうやってGravatarと著者を紐付けてるの? これでめでたしめでたし。なんだけど、ちょっと待てよ。どうやってGravatarのアカウントとブログの著者を紐付けてるのだろうか? その答えはGravatarの公式ページに説明がありました。 Gravatar は基本的にアバターと同じものですが、1つのサーバーで管理され、MD5 アルゴリズムによって暗号化されたユーザーのメールアドレスによって呼び出されます。そのため、利用者は訪れたフォーラムやブログごとにアバターを設定する代わりに、どこでも同じアバターを利用できるようになります。 Gravatar_の使い方 ははぁ、メールアドレスからキーを生成しているのね。 というわけで、ブログのユーザーに設定しているメールアドレスとGravatarアカウントのメールアドレスが違うとうまく表示できないようなので、ご注意を。 所感 このブログのAMP表示はAMP for WP – Accelerated Mobile Pagesというプラグインを利用しているのだけど、そちらの設定画面をいくらさがしてもプロフィール画像の設定に関する項目が見当たらない。 よくよく追っていくとGravatarとWordPressは関係が深い雰囲気(WordPress.comのアカウントでログイン、など)なので、おそらくWordPressに習熟した人たちから見ればプロフィール画像をGravatarで設定するのは当たり前すぎる話なのかもしれないけど、それを知らない人たちからするとちょっとわかりづらいのではないかな…。AMPの設定画面にGravarへのリンクと説明くらいあっても良さそうな。おもてなしを求めすぎ? とりあえず、大した手間をかけずにちゃんと設定できてよかった、よかった。   ではでは。