3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ubuntu Server 20.04 LTSにGROWIをインストール

Last updated at Posted at 2022-03-24

はじめに

公式のドキュメントが古いバージョンで書かれていたため,最新版で作成.

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をインストールを参考にして環境構築を行った.

  1. Node.js 14.x, yarnをインストール
  2. Elasticsearch 7.xをインストール
  3. MongoDB 4.xをインストール
  4. 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ファイルをエクスポートする方法

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?