RASPIで開発系を構築

閲覧数: 57(0)

転職」を機にメイン端末(Mac)を買替えた。ついでにiPad(Air)も買ったのだがその話はまた別の機会に。MacBook Proの最新機種でスペックは16GB Memory/1TB SSDというハイスペック、当然CPUはIntelからApple Silicon(M1)へと変更されている。Microsoft OfficeなどのOA系はApple Silicon(M1)でもほとんど問題なく使える。。。肝心なのはVMwareが稼働するかどうかだが、残念ながら現時点ではVMware FusionのM1対応はRosetta経由でUbuntuのARM64は稼働しない。何が困るかというとブログとウィキの開発環境が無くなること。本体のバージョンアップの確認やプラグインやエクステンションなどの拡張機能のバグ修正と日本語対応などの作業をいきなり本番環境で実施して不具合を起こすと閲覧不可になる可能性もあり、作業や確認の為の環境は個人サーバーであっても必須。

VMwareのTechPreview 2021 M1といういわゆるベータ版が公開されていたでの、早速ダウンロードしてインストールしてみる。VMware自体は稼働するものの、Ubuntuのインストールでいろいろと不具合が発生する。バージョンを上げてみたり、ググってみたりと試行錯誤するものの安定稼働には程遠い(トホホ)。VMware Fusionは正式対応するまで待つことにする。そこで3台目を手に入れたラズベリーパイに挑戦してみることに。ちなみにラズベリーパイもApple Siliconの基になったARMアーキテクチャベースのCPUを使用している。OSの導入までは前回の「記事」を参照のこと。

OSが無事インストールされ、アップデートも安定的に実行可能な環境になったところで、開発機としてのセットアップをする。

nginx
mariaDB
PHP7.4
WordPress
Mediawiki
Elasticsearch

辺りをインストールして設定したいところである。リポジトリ類の追加で選択するアーキテクチャを「ARM64」にすることに注意すればほとんど問題無いと思っていたが、一番力を入れている「Elasticsearch」が以下の公式リポジトリでは「ARM64」に対応していないことが判明、ここから多少の迷走が始まる(笑)。ちなみに公式リポジトリでも7.xバージョンは対応しているのだが、Mediawikiの7.x対応がまだ未完のため当面は6.xを使う必要がある。WordPress(ElasticPress)は7.x対応済みだった。

deb https://artifacts.elastic.co/packages/6.x/apt stable main

とりあえず公式から以下のファイル(6.8.23)をダウンロードする。適当なところに解凍して設定ファイルを編集する。今回は公式リポジトリで指定される「/usr/share/elasticsearch」に解凍することにする。設定ファイルも公式に合わせ「/etc/elasticsearch」とする。シンボリックリンクなどを貼っておくと後々何かと便利なのでやっておく。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.23.tar.gz
tar -xvf elasticsearch-6.8.23.tar.gz -C /usr/share/
ln -s /usr/share/elasticsearch-6.8.23 /usr/share/elasticsearch

設定ファイルは公式に合わせ以下の内容とする。「ARM64」では非対応の機能を設定ファイルの最後に以下の一行追加することで停止対応する。

...
xpack.ml.enabled: false

公式の「elasticsearch.service」設定ファイルに合わせてインストール先を調整する。以下は参照する設定ファイルの一部なので注意。

...
[Service]
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64"
RuntimeDirectory=elasticsearch
PrivateTmp=true
Environment=ES_HOME=/usr/share/elasticsearch
Environment=ES_PATH_CONF=/etc/elasticsearch
Environment=PID_DIR=/var/run/elasticsearch
EnvironmentFile=-/etc/default/elasticsearch

WorkingDirectory=/usr/share/elasticsearch

User=elasticsearch
Group=elasticsearch

ExecStart=/usr/share/elasticsearch/bin/elasticsearch -p ${PID_DIR}/elasticsearch.pid --quiet
...

Elasticsearch本体のインストールが完了したらプラグインを追加する。使用するプラグインは従来通りの4種類である。

Analysis-ICU
Analysis-Kuromoji
Analysis-Sudachi
Ingest-Attachment

「Analysis-Sudachi」はプラグインを作成してファイルからのインストールとなるが、ここで多少手間取った(笑)。Sudachiの公式から対応するバージョンのコードをダウンロードしてコンパイルするだけのはずが、何故か上手くいかない。中身をみてみると、どうやらバージョン違いをダウンロードしてしまっているようだったので、改めてバージョンを指定してZIP形式でダウンロードし直すことでプラグインのコンパイルに成功した。4つのプラグインを追加したら、WordPressとMediawikiからインデックスを作成する。確認用の単語で検索をかけて期待値が得られれば正常稼働ということにしている。詳細は後日ということで、RASPIでの開発環境の構築成功を祝すこととする。

カテゴリーIT閑話, 公開タグ, , ,
ElasticPress日本語設定

前回の「検索結果の期待値」では「日本人としては長い休み」で検索出来ないと言うところまで話をしました。  続きを読む

RASPI4を再購入
blank

新型コロナが社会に与える影響の一つにグローバルな半導体不足がある。身近なところではクルマの納期が遅れ  続きを読む

Sudachiプラグイン
blank

このサイトで最も力を入れている設定が「検索」です。初稿である「検索に悩む」から既に8年弱が経過し、当  続きを読む

ElasticPress 3.0
blank

ここのところElasitcsearch関連の話が多いなと思っていたら「ElasticPress」がバ  続きを読む

年末の大事件?
blank

明けましておめでとうございます。新年早々ですが、年末の大事件(?)をお伝えします。花巻のリモートワー  続きを読む

ラズパイ4のメンテナンス
blank

海外からの接続用として大活躍しているラズベリーパイなのですが、以前使っていたバージョン3から現在は4  続きを読む

スポンサーリンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください