昨日の決意表明もあって、前からブログで公言していたウハウハプロジェクトをやっとこさ進めることにしました。
《参考記事》 ビットコインの自動取り引きでウハウハ!!プロジェクト始動です
まずは、環境構築からと、前から持っていたラズベリーパイ(Raspberry Pi 2 Model B)を再活用し、プロジェクトサーバーにすることに決めました。
このラズベリーパイは、去年まで自宅サーバーとして大活躍していたのですが、メモリーが1GBと貧弱なこともあり、Webサーバーとしてはレスポンスがかなり重かったです。そのため、去年の後半にXServerに乗り換えてから、ずっと使っていませんでした。
SDカードを取り外していたので、あたらしくOSをインストールするところから始めました。
ということで、今回の記事では、普段使っているWindows7を使って、ラズベリーパイにUbuntu MATEをインストールするところまでを実況中継します。(なぜか、MacBookAir上のVirtualBoxVMです)
ちなみにMac使いの人は、こちらのブログの方が参考になるかと思います。
《参考》 Raspberry PiにUbuntu MATEをインストール + リモート接続
まずは「Ubuntu MATE」のイメージをSDカードに焼く
前にも使っていたので、使い慣れている「Ubuntu」を入れることにしました。別にサーバーとして利用するだけなので、GUIは必要ないんですが、とりあえず、簡単にセットアップできる「Ubuntu MATE」を使います。
「Ubuntu MATE」はARMプロセッサーも公式にサポートしてくれており、もちろんラズベリーパイでも使えます。
さすがにラズベリーパイでGUIを使うと少し重たいのですが、LibreOfficeなんかも入っているので、デスクトップとして使えなくもないです。
それにしても今更なんですが、これって「ウブントゥ マテ」と読むんですね。いままで、ずっと「メイト」と言っていました。おはずかしい!
OSのイメージファイルは下記からダウンロードできます。今のバージョンのサポート期間は2019年4月までです。
《参考》 ubuntu mateダウンロードサイト
私がダウンロードしたときは、「ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz」でした。
ただ、ファイルサイズが1.2GBもあるわりに、回線が細いのか、むちゃくちゃダウンロードが遅いです。最初、直接ダウンロードしようとしたのですが、ネットワークエラーでダウンロードできませんでした。
仕方がないので、BitTorrentを使うことに。
私は古い人なので、BitTorrentにはちょっと抵抗があります。違法アプリという固定概念があって、なるべく使わないようにしていました。昔は自分でも使っていた時期もあったのですが。。。
そのため、最近はBitTorrentを使ったことがなく、どのクライアントツールが安全なのか、よく分かりません。とりあえず、大丈夫そうな?「BitCommet」というものをWindowsにインストールして使いました。
すると、アプリの起動直後になぜか漫画の「ベイビーステップス」をダウンロードし初めるではないですか。慌ててストップして、そのファイルを削除しました。これ、完全に違法だと思うのですが、かなり怪しいソフトです。
でも、なぜ「ベイビーステップス」なのでしょうか。
もしかして、ダウンロードフォルダーにtorrentファイルでもあったのか???
詳細はよく分からなかったのですが、その後、上記サイトで落としたtorrentファイルをドラッグ&ドロップして「Ubuntu MATE」を無事ダウンロードできました。
さすがに速くて1.2GBが2,3分ほどでダウンロード完了しました。
それにしても、このアプリ、ヤバイやつですね。しっかりとアンインストールしておきました。
また、ダウンロードしたファイルは、xz形式という、見慣れない形式で圧縮されていました。xz形式ってなに?という状態です。
Lhaplusでも対応していなかったので、ネットで検索し、7-zipという解凍ツールをわざわざインストールして、このファイルを解凍しました。
ちなみに、xzファイルフォーマットはgzipなんかより圧縮率が高いそうで、それなりにメジャー?なんだそうです。
ただし、解凍後のファイルが4.6GBもあったので、デスク容量が足りずにPC上のファイルを消しまくるはめになりました。
最近のOSは巨大すぎますね。
imgファイルをSDカードに書き込む
やっとこさ取得したimgファイルを今度はSDカードに焼いていきます。
WindowsではDDコマンドもないので、下記のUSBWriterというフリーアプリを使用しました。
下記サイトで「USBWriter-1.3.zip」をダウンロードして使ってください。インストールも必要ないアプリなので、たぶん、悪さはしないはずです。
《参考》 USBWriter
ターゲットのところでSDカードが入っているUSBデバイスを選択し、Writeボタンを押すだけです。
数分かかりますが、Progressバーが伸びていって、完了するとOKです。
ラズベリーパイを起動する
焼いたSDカードをラズベリーパイにセットし、HDMIでモニター接続、マウス、キーボードを付けて、USB電源を差し込むと無事、Ubuntuが起動しました。
それにしても、ラズベリーパイは起動時に音も出ないので、起動しているのかいつも不安になります。
その後は、地域設定、ユーザー設定などを適当にやって、セットアップ完了です。
と、めずらしく完璧にいったと思ったのですが、そうは甘くありませんでした。
試しにFireFoxでブラウジングしようとすると、なぜか日本語が入力できません。
確か、前にラズベリーパイをセットアップした時も日本語のセットアップに手間取った記憶が。。。。
またかとウンザリしました。
なぜかデフォルトでは日本語が入力できない
今回のMATEでは初回起動時に言語選択画面があり、日本語の選択肢もあったので、すんなり日本語が使えるなんて、なんて素晴らしいんだと思っていたのですが、そうは甘くないですね。
なぜか、それだけでは日本語が使える状態にはならないようです。
ちょっと調べると、そのまんまのことが下記ページにありました。超有名な「IT女子のラズベリーパイ入門奮闘記」です。
《参考》 第49回「ラズパイ3×Ubuntu MATEで遊ぼう!(1)日本語入力の設定方法」
簡単に日本語セットアップ方法を書いておくと、
システム=>設定=>ユーザー向け=>言語サポート
と選択すると、言語関連のモジュールをインストールするか?と聞いてくるので、「インストール」を押すだけのはずでした。(最初に設定したパスワードが要求されます。)
ただし、私の場合には、なぜか途中でネットワークエラーになりました。失礼なことにお前のネットワーク回線を確認しろとまで言っていきます。
仕方がないのでエラー詳細を確認すると、FirefoxとThunderbirdのローカライズファイルがダウンロードできないようでした。
これは単純に、古いバージョンのファイルがリポジトリーにないだけではと、まずは、端末コンソールを立ち上げて、
$sudo apt update $sudo apt upgrade
でシステム全体のバージョンアップをしました。
ちなみに、システム=>システム管理=>Software Updater でもできます。
予想通り、大量のアップデートファイルが溜まっていたので、なにも考えずにすべてバージョンアップします。
あちらのネットワーク回線が遅いためか、これには、結構時間がかかりました。
その後、もう一度、あの日本語モジュールをインストールすると、今度はうまくいきました。やった!!
あとは「システム全体に適応」を押して、OSを再起動すると、日本が使えるようになっています。
ただし、再起動後に、もう一度、言語サポートダイアログを開き、「キーボード入力に使うIMシステム」を「fcitx」に変更し、再度、再起動する必要があります。
メンドクサイ!!
これでやっと日本語が使えるようになりました。逆にここまでしないと日本語が使えません。。。
ただ、ここで新たな問題が発生。なんとFireFoxがエラーで起動しなくなっていました。まあ、別に使わないからどうでもよいのですが。。。
念のため、もう一度、apt updateしたら、さらに更新が必要なアプリが見つかり、それもアップデートしたのですが、残念ながらFireFoxの問題は直りませんでした。仕方ないか。。。
Ubuntu MATE、ちょっと不親切なところがありますね。日本語表示までやっているなら、ついでに必要なモジュールを自動的にインストールしてくれればよいものを。。。
こんなちょっとしたことでも初心者はつまずくものです。
あとは、リモートから使えるようにSSHとRDPをセットアップする
基本、サーバーとして使うため、リモートからしか使いません。
個人的にはSSHだけでも良いんですが、簡単なので今回はついでにRDPのセットアップもやってみました。
まずは、SSHからです。
サービスは入っていたので、とりあえず起動時サービス起動するようにしておきます。
$sudo service ssh start $sudo systemctl enable ssh
RDPの方もパッケージをインストールしてサービス登録するだけですね。
$sudo apt install xrdp $sudo systemctl enable xrdp
これだけでWindowsからリモートデスクトップでつなげました。最近は便利になったもんです。
まとめ
これで、とりあえずプラットフォームは整いました。
それにしても、これだけやるのに半日も掛かってしまいました。いつもながら、OSセットアップには時間を取られます。
あとは、肝心のロジック構築なんですが、その前にAPIを使ったビットコイン取引について調査していきたいと思います。