RASPIで開発系を構築

閲覧数: 53(1)

転職」を機にメイン端末(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)タグ, , ,
ElasticsearchとWordPr...

(とついでに「Mediawiki」)関連情報があちこちにとっちらかっちゃったので、一旦整理する意味で  続きを読む

ElasticPress日本語設定201...
blank

ElasticsearchをWordPressで使用するために導入しているプラグイン「Elastic  続きを読む

Elasticsearch Plugin
blank

検索用に使っている「Elasticsearch」をメインのサーバーから専用のサーバーへ移行するのと同  続きを読む

ElasticPress 3.5
blank

Elasticsearch用のプラグインであるElasticPressがメジャーバージョンアップ(3  続きを読む

ElasticPress 4.3
blank

ElasticPressは、WordPressでElasticsearchを使うためのプラグインとい  続きを読む

Elasticsearch 6.8.11
blank

2017年末に「2.4.6」から「5.6.5」へバージョンアップして以来の大幅バージョンアップです。  続きを読む

スポンサーリンク

コメントを残す

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