ブログを書くまでが Fukuoka.rb です
#100 のブログでこんな事を書いてしまった手前、ブログを書かないと行けないような気がしてきて自分で自分の首を絞めてしまった。
今日やったこと
- onemdm-client のビルド
- onemdm-server のあれこれ
そもそも何してんの?
先日以下のようなニュースがあった。
この記事には以下のような一文がある。
この標的型攻撃キャンペーンでは、攻撃者は登録端末を制御するオープンソースMDM(mobile device management)システムを使用していたようです。
「そんなものがあるのか!」と思い調べてみた。
https://www.quora.com/Is-there-any-open-source-project-solution-for-MDM-mobile-device-management
OneMDM[6], by Multunus, is an Android MDM written in Ruby. It is no longer actively maintained.
Ruby で書かれている!対応デバイスは Android のみ(≒機能が少なそう)!そして何より長いことメンテされておらず放置気味!遊べそう!
そんな訳で個人的興味から OneMDM でガチャガチャやってみようと思った次第です。
環境構築
onemdm-server
README の Quick Start をやってみる。ちなみに自分の環境は CentOS Linux release 7.4.1708 (Core) である。apt-get なんか見えた気がするが気にしない。
で、個人的に超久々の PostgreSQL である。PostgreSQL のインストール自体はできたが、サービスが一向に立ち上がってくれなかった。さっさと諦めて MySQL にした。ちなみにバージョンは 8.0.12 にしてみた。
MySQL は MySQL で 5 系とずいぶん様変わりしたようでそこそこ苦労した。root ユーザーのデフォルトパスワードは速攻で変更しなきゃ何もできなかったり、SET PASSWORD FOR が使えなくなっていたり。そこそこエラーは出るが、ぐぐればすぐ答えにたどり着くのでさほど大変ではなかった。
その後、gem をインストールし、rake db:create を実行しようとするとこれまたコケた。
- inet 型とやらでコケる
→ PostgreSQL にある型で MySQL にはない。string に変更 - rake db:create でコケる
→ rails 4.2.4 + mysql2 0.4.3を使う時のトラブル
→ Rails 4.2.10 にしたが解決せず。mysql2 が 0.5 系を使おうとしているのがダメだったようなので、0.4 系を使うように変更 - factory_girl が deprecated になってた
→ いつの間に…。factory_bot_girls を使うように変更
覚えているのはこのくらい。メモを残していない自分が恨めしい。まぁ、こんな感じで修正しています。
と、ここまでは昨日までの作業で今日やったものではありません。
onemdm-client
久々に Android Studio を起動した。いっぱいバージョンアップが走った。全然ビルドできなかった…。
ここら辺までは対応したが、未だ実機にアプリをインストールできず…。Android も様変わりしすぎてよく分からん…。
諦めが肝心、さっさと次へ
ひとまずクライアントのビルドは一旦諦め、onemdm-server の挙動でも追ってみようかと動かしながらログを眺める。するとよく知らないものに遭遇。
Active Admin | The administration framework for Ruby on Rails
こんなものがあるんですな。さくっと管理者作れていいのでは?と思いつつ、DB の中身を覗いてみる。コンソールから生 SQL 叩くと、まー見づらいのは百も承知なので、Sequel Pro から覗く。
ここでなんと落とし穴。Sequel Pro は MySQL 8 系にはまだ対応していないのでつながらない!仕方がないので久々に phpMyAdmin をインストールする。で、環境構築途中で時間切れ。
最後に
かっぱさんが今日の成果報告をされていたので、何となく自分もやってみた。
今日は awspec に新しいリソースタイプを追加するプルリクエストを作成しました. https://t.co/KtdW4t5F9B #fukuokarb
— Yohei Kawahara(かっぱ) (@inokara) August 1, 2018
成果報告というより進捗報告なのだが、何かアウトプットしていればどこかの誰かがフィードバックくれたりするだろう、という他力本願な気持ちで今日は終わりにする。