HAProxy

HAProxy インストール (Ubuntu 20.04 LTS) $ sudo apt update $ sudo apt full-upgrade $ sudo apt autoremove $ sudo apt install haproxy 設定ファイルのテスト $ sudo haproxy -c -V -f /etc/haproxy/haproxy.cfg Let’s Ecrypt 基本は,こちらに従う インストールと certbot コマンドは,以下の通り また,certbot コマンドを打つ前に,設定ファイルに追記した内,https の関係する部分は,コメントアウトしておく $ sudo snap refresh core $ sudo snap install --classic certbot $ sudo systemctl restart haproxy $ $ # 正常に起動したら,つぎを実行 $ $ sudo certbot certonly --standalone --preferred-challenges http --http-01-address 127.0.0.1 --http-01-port 9080 -d hoge. [続きを読む]

TLS

TLS (Transport Layer Security) Certbot インストール方法は,公式サイトを参照 https://certbot.eff.org/ しかし $ sudo certbot --nginx がエラーになってしまう とりあえず $ sudo nginx -t $ sudo nvim /etc/nginx/sites-enabled/default managed by Certbot となっている行をすべてコメントアウト その後 $ sudo systemctl restart nginx $ sudo certbot --nginx サブコマンドとオプション certonly 証明書の取得のみを行う renew 期限の残りが 30日未満 の証明書を更新 --dry-run 実際には,証明書の更新を行わない --force-renewal すべての証明書を期限の残りにかかわらず,強制的に更新 --manual Nginx とかを使わずに手動で認証 DNS の場合 (ConoHa DNS) 最も重要な点として,DNS サーバが API による操作に対応していなければならない ここでは,ConoHa の DNS サーバを利用することにする 初回のやり方は,つぎのとおり $ sudo certbot certonly --manual --preferred-challenges dns -d hoge. [続きを読む]

IPv6

IPv6

Server OS: Ubuntu 20.04 Client OS: Windows 10

IPv6 が有効になっているか調べる

$ ip -6 a

コマンド プロンプト から IPv6 アドレスに ping する

>ping {IPv6 address}

SSH Server が IPv6 を受け入れるようにする

$ sudo nvim /etc/ssh/sshd_config
#ListenAddress ::

ListenAddress ::

に変更する

コマンド プロンプト から IPv6 アドレスに SSH で接続する

>ssh {user name}@{IPv6 address}

Hy

Midnight Hy Way 必ず理解しておくべきこと バージョン $ hy -v hy 0.19.0 REPL $ hy --repl-output-fn=hy.contrib.hy-repr.hy-repr ~/.bashrc に alias hyr="hy --repl-output-fn=hy.contrib.hy-repr.hy-repr などとしておき $ hyr で起動するのがいいだろう 言語基礎 演算 => (+ 7 3) 10 => (- 7 3) 4 => (* 7 3) 21 => (/ 7 3) 2.3333333333333335 => (% 7 3) 1 変数 => (setv x 42) => x 42 入れ子操作 リスト [‘1 ‘2 ‘3 ‘4 ‘5] と区別するため ‘(1 2 3 4 5) のことを [続きを読む]

systemd

systemd systemctlとserviceの違い プロセスの確認 $ ps aux $ pstree Unit の一覧と自動起動するかを見る $ systemctl list-unit-files -t service Unit の一覧と起動状態を見る $ systemctl list-units -t service Unit の状態を確認する $ systemctl status [unit-name] Unit の自動起動を有効にする $ systemctl enable [unit-name] Unit の自動起動を無効にする $ systemctl disable [unit-name] Unit を起動する $ systemctl start [unit-name] Unit を停止する $ systemctl stop [unit-name] Unit を再起動する $ systemctl restart [unit-name] $ systemctl daemon-reload $ systemctl show hoge.timer $ journalctl -f -u hoge.service もっといい感じにまとめてくださっている人がいました [続きを読む]

Raspberry Pi

Raspberry Pi CPU の温度を見る $ cat /sys/class/thermal/thermal_zone0/temp 単位は,ミリ度 SPEEDTEST CLI インストール $ speedtest Firefox $ sudo apt install firefox-esr-l10n-ja ALSA (Advanced Linux Sound Architecture) とりあえず “PulseAudio 音量調節” をインストールすること $ sudo apt install pavucontrol 起動は [RasPi] -> [サウンドとビデオ] -> [PulseAudio 音量調節] マイクの音量を 100% を超えて設定したりできる 使用したハードウェア スピーカ: サンワサプライ株式会社 USBスピーカー MM-SPU8BK マイク: USB Microphone MI-305 PCM (Pulse Code Modulation) テスト用の音源をダウンロード (Thank 東京都市生活 + 真空管Audio + 視線入力 + 音楽 + 英国車) $ curl -OL http://www. [続きを読む]

Git

Git GitHub CLI GitHub CLI インストール $ sudo snap install gh 補完の設定 ~/.bashrc に追記 eval "$(gh completion -s bash)" gh auth まずは,認証する $ gh auth login 認証の状態を表示 -t, –show-token でトークンも表示する $ gh auth status -t gh ssh-key GitHub に登録されている公開鍵の一覧を表示 まず権限を付与する $ gh auth refresh -s read:public_key 表示する $ gh ssh-key list GitHub に公開鍵を追加する まず権限を付与する $ gh auth refresh -s write:public_key 追加する $ gh ssh-key add ~/.ssh/id_rsa.pub gh repo リポジトリの一覧を表示 -L, –limit int は,表示する最大数を指定 [続きを読む]

Kubernetes

Kubernetes (1.22, Single Node, Ubuntu 20.04 LTS, ZFS, Conoha) (Almost IPv6 Only) クラスタの構築 (といってもシングルノードだが) kubeadmのインストール kubeadmを使用したシングルコントロールプレーンクラスターの作成 を参考にしていく Swap をオフにする $ sudo nvim /etc/fstab swap の行の先頭に # を置いて,コメントアウトすればいい br_netfilter モジュールを読み込ませる $ sudo nvim /etc/modules つぎを追記する br_netfilter sysctl の設定 $ sudo nvim /etc/sysctl.d/k8s.conf つぎのように net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 書いて $ sudo sysctl --system iptables をレガシーモードにする $ sudo apt install iptables arptables ebtables $ sudo update-alternatives --set iptables /usr/sbin/iptables-legacy $ sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy $ sudo update-alternatives --set arptables /usr/sbin/arptables-legacy $ sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy Docker をインストールする はじめに注意だが,/var/lib/docker を ZFS で構築するのは,おすすめできない [続きを読む]