osixia/openldap dockerコンテナの延命措置

2025年1月吉日時点、以下のosixia/openldapコンテナで認証環境を作った人は大変だ。このコンテナは高機能で中々代替は効かないのに、メンテが行わらず小手先の技では正常動作しなくなってしまったから。

https://github.com/osixia/docker-openldap

しかし調査と試行錯誤の結果延命措置が出来たので、その方法を説明する。ただし、サポート切れのOSイメージを使うことになるので、特に『自己責任』である点に注意すべきである。

1.アップデート元リポジトリの更新

OSイメージのリポジトリがなくなっているから新しいリポジトリに置き換える必要がある。

具体的対策としては /etc/apt/sources.list を置き換えれば良い。

sources.list

2.リポジトリの公開鍵取り込み

「1」のリポジトリは安心して使っても良いですよと示すため、公開鍵取り込みが要る。

具体的にはビルド処理を実行すればログにリポジトリの公開鍵情報が載る。このリポジトリの公開鍵を以下のコマンドのように対象公開鍵件数分取り込めば良い。

apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 0E98404D386FA1D9

※0E98404D386FA1D9の部分が公開鍵

ログは以下のように出力される。このエラー行では『6ED0E7B82643E131』と『605C66F00D6C9793』を取り込めば良いと判断できる。

build例

以下のようにDockerfileを作り docker build すれば処理が通った。

参考URL:

apt-get updateでthe public key is not available: NO_PUBKEY

Buffer Editorを用いたiPadのSSH端末利用

Buffer Editor はコード編集やSSH端末処理が出来るiPhone, iPadのアプリである。当記事はiPad AirでLinuxに公開鍵認証でSSH接続し、ターミナル利用するまでの特記事項を残した。

アプリのインストール

Buffer Editor – Code Editor

iPad であれば ↑ のリンク先でダウンロードして支払いをすれば良い感じに使える。2025年1月吉日時点で1500円。開発の幅が広がると考えればリーズナブルな印象だ。

公開鍵認証方式キーペアについて

キーペアの生成・設定については留意事項がある

1.暗号化方式

RSA, DSS, ECDSA_256, ECDSA_384, ECDSA_521, ED25519 の方式をサポートしている。

⇒それ以外はサポートしていない

2.秘密鍵ファイル形式

opensshのファイル形式で保存すること。

つまり、秘密鍵ファイルの頭が『—–BEGIN OPENSSH PRIVATE KEY—–』で始まる形式ならば合っている。

⇒Puttyの.ppk形式やssh.comの形式は使えない

3.ファイルの配置場所

Buffer Editor起動時、サイドメニューにある『Local files』より下層にフォルダ・ファイルを配置し、フォルダを指定すること。

例えば、以下の通り private.key を配置したとする。

Local files/keys/MyServer/private.key

この場合接続先情報を設定する『Keys path』には『/keys/MyServer』の値を設定すれば良い。なお、MyServerフォルダの中には private.key 以外にファイルを置かないよう留意すること。

ターミナル利用

サーバーに接続してから上図の①~②を辿りターミナルを表示する。

その後③の接続先を確認し、④の箇所でコマンド入力をすれば端末利用出来る。

iPadでのLaravel開発

iPad AirでLaravelの開発環境をインストールした2023年8月13日の検証備忘録。Laravel v8.83.27, PHP 8.0.24, のブラウザ上動作確認まで。

  • アプリケーション用意
  • 必要ライブラリインストール
  • 実行

の三本立てである。

アプリケーション用意

App StoreでiSH Shellをインストールする。

仮想化か何かをするアプリのようで、alpine linux環境がまんま使える様子。

インストールするとすぐに立ち上がってLinuxログイン後の状態から使えるのでエンジンスタートは非常に速い。ただ、パフォーマンスは期待出来ない(ライブラリインストール等気長に待つ)所感。

特記事項

1.どうにも困った時はホームに戻りアプリを消せばログインからになる

2.画面上での特殊なキーボード入力

画面左下に4つのキーボード入力ボタンがある。「→|」「^」「↑」「☩」なマーク。

一番左「→|」はタブだから入力補完に使える。

次にCtrlだから「^」を入力した後にCを入力すれば実行していた処理中断に使える。

その次は謎ボタン。電源っぽく見えるマークだから未使用。

その次は上下左右(フリックで入力)である。

3.文字処理

コンソール上テキスト部分をタップしたままにしておけば文字選択状態になる。

この機能でコピー・ペーストによる他アプリ連携が可能である。

必要ライブラリインストール

サクッと必要ライブラリをインストールする ※要:時間がかかる覚悟

apk add php8
apk add composer unzip openssl
apk add php8-openssl php8-mbstring php8-phar php8-dom php8-xml php8-xmlwriter php8-fileinfo php8-iconv php8-tokenizer php8-session
ln -s /usr/bin/php8 /usr/bin/php

本件用プロジェクトを用意する ※要:時間がかかる覚悟

cd
mkdir 20230813
cd 20230813
composer create-project laravel/laravel test
cd test

実行

composer install
php artisan serve

ここまですればアプリに必要なライブラリインストールの上テストサーバーが立ち上がる。画面上で案内されるように http://127.0.0.7/ にアクセスすればLaravelのアプリ動作をブラウザ上で確認できる。

特記事項

デフォルトのブラウザはセキュリティ上の都合でhttpsでないとアクセスしてくれないかもしれない。その場合別のブラウザをインストールして試そう。毎度履歴が消えるFireFox Focusが開発にオススメ。

作りたいものによってはPHPの設定変更が要るかもしれない。その場合 /etc/php8/php.ini を編集して使うのだ。

ブラウザからアクセスする時にiSH Shellアプリが停止状態では応答を得られない。php artisan serve でWEBサーバーを立ち上げた後、ブラウザ側で対象URLにアクセスする。その後応答を得られないようであればWindowを並べる・元のiSH Shellウィンドウに戻るなどしてiSH Shellの処理が続くように工夫してみてほしい。

この後したくなるのはDBインストール・連携だが、ここまでの経緯同様に好みのDBをapk addでインストール→好みのDBドライバをapk add php8-hogefuga→アプリ設定に書き足して実行すればなんとかなるはず。