はじめに
公式のドキュメントが古いバージョンで書かれていたため,最新版で作成.
2022/05/26
- 全文検索機能が動いていないことが発覚
[原因] 調査したところ,ElasticSearchのバージョンとGROWIのバージョンが合っていなかった
[対処] GROWIのバージョンをv5.0.5に変更
[修正箇所] 4.を修正
[参照] バージョンアップの参考サイト: GROWI v5.0.x へのアップグレード - 数式が入力できない
[対処] 起動コマンドにMATHJAX=1を追加
[修正箇所] 4.を修正
TL;DR
Ubuntu Server 20.04 LTSにオープンソースのwikiツールであるGROWIをインストールする.
必要最低限の設定であり,ローカルネットワーク内での利用を想定している.
Ubuntu18.04にGrowiをインストールを参考にして環境構築を行った.
- Node.js 14.x, yarnをインストール
- Elasticsearch 7.xをインストール
- MongoDB 4.xをインストール
- GROWIをインストール
1. Node.jsとnpm,yarnのインストール
Ubuntu 20.04にNode.jsをインストールする方法 | DigitalOceanを参考にしてインストール
$ cd ~
$ curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
$ sudo bash nodesource_setup.sh
$ sudo apt install nodejs
// CHECK
$ node -v
$ npm -v
npmを使ってyarnをインストール
$ sudo npm install -g yarn
// CHECK
$ yarn -v
2. Elasticsearchのインストール
Install Elasticsearch with Debian Package | Elasticsearch Guide [7.17] | Elasticを参考にインストール
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
$ sudo apt-get install apt-transport-https
$ echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
$ sudo apt-get update && sudo apt-get install elasticsearch
// CHECK
$ dpkg -l | grep elasticsearch
Elasticsearch に割り当てるメモリを調整
$ sudo vim /etc/elasticsearch/jvm.options
// -Xms256m
// -Xmx256m
// ↑の2行を追加
Elasticsearchの自動起動の有効化および動作確認
$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch
// CHECK
$ sudo systemctl status elasticsearch
GROWI に必要な Elasticsearch プラグインのインストール
// CHECK PATH OF elasticsearch-plugin
$ dpkg -L elasticsearch | grep bin | grep plugin
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
3. MongoDBのインストール
MongoDBを参考にインストール
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
$ sudo apt update
$ sudo apt install -y mongodb-org=4.4.13 mongodb-org-server=4.4.13 mongodb-org-shell=4.4.13 mongodb-org-mongos=4.4.13 mongodb-org-tools=4.4.13
バージョンの固定
$ echo "mongodb-org hold" | sudo dpkg --set-selections
$ echo "mongodb-org-server hold" | sudo dpkg --set-selections
$ echo "mongodb-org-shell hold" | sudo dpkg --set-selections
$ echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
$ echo "mongodb-org-tools hold" | sudo dpkg --set-selections
4. GROWIのインストール
最新版のインストール (2022/03/23時点の最新版はv4.5.15) (2022/05/26時点の最新版は4系がv4.5.21, v5.0.5)
$ sudo git clone https://github.com/weseek/growi /opt/growi
$ cd /opt/growi
// CHECK VERSION
$ sudo git tag -l
$ sudo git checkout -b v5.0.5 refs/tags/v5.0.5
$ sudo yarn
5. 起動確認
$ sudo MONGO_URI=mongodb://localhost:27017/growi ELASTICSEARCH_URI=http://localhost:9200/growi \
MATHJAX=1 PASSWORD_SEED=(任意の文字列) npm start
数分待つと以下のように表示される.
> growi@5.0.5 start /opt/growi
> yarn app:server
http://(IP address):3000に接続して起動確認ができたら終了
最後に
今回はこの記事を作成するためにdockerやherokuを利用しない環境構築を行った.
それらを利用した方が楽にできると思われる.
おまけ
別のwikiツールに移植するときなどのために,以下を参考にしてGROWIの記事をMarkdownで出力するコードを作成したいと考えている.
Growi Pathに従ってMarkdownファイルをエクスポートする方法