以前、Dockerでいじっていたツールが思いの外有用そうだったので、オンプレ環境で作りました。

導入:Growi

いわゆるナレッジベースツールです。すでに

すでにknowledgeベースは入れているものの

  • 階層化でWikiを作ってくれる
  • エディタ周りが高機能
  • 日々の記録に便利そう

ということで、早速入れてみます。

インストールした環境

  • Chuwi Herobox Pro

既に以下の環境を導入済み

  • Linux 20.04
  • Apache
  • MySQL
  • Zabbix
  • WebアルバムLychee

参考にした記事:
https://qiita.com/BigTree777/items/4a67d36c4111a1fb50e7

手順

Node.jsをインストールします。

cd /hoge/
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt install nodejs

npmを用いてyarnをインストールします。

sudo npm install -g yarn

Elasticsearchのインストール

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

Elasticsearchのメモリ変更

sudo vi /etc/elasticsearch/jvm.options
設定ファイル
# 任意の行に以下を追加
-Xms256m
-Xmx256m

ElasticSearchの自動起動有効化

sudo su -
systemctl start elasticsearch
systemctl enable elasticsearch

GROWIに必要なプラグインのインストール

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

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

MongoDBのバージョン固定

※これをやらないと全文検索がうまくいかないとのこと

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

GROWIのインストール

sudo git clone https://github.com/weseek/growi /opt/growi
cd /opt/growi

sudo git checkout -b v5.0.5 refs/tags/v5.0.5
sudo yarn

以降、参考にした記事:
https://qiita.com/hawk777/items/0916024c1bd7b24904ae

systemdスクリプトの作成

sudo vi /etc/systemd/system/growi.service
スクリプト内容
[Unit]
Description = growi
After=network-online.target mongod.service
ConditionPathExists=/opt/growi

[Service]
ExecStart=/opt/growi/growi-start.sh
Restart=no
Type=simple

[Install]
WantedBy=multi-user.target
chown root:root /etc/systemd/system/growi.service
chmod 644 /etc/systemd/system/growi.service

起動スクリプトの作成

sudo vi /opt/growi/growi-start.sh
スクリプト内容
#!/bin/sh
cd /opt/growi
MONGO_URI=mongodb://localhost:27017/growi \
ELASTICSEARCH_URI=http://localhost:9200/growi \
MATHJAX=1 \
PASSWORD_SEED=[任意の文字列] \
npm start

権限変更

sudo chmod +x /opt/growi/growi-start.sh

デーモン化、起動確認

sudo systemctl daemon-reload
sudo systemctl start growi.service
sudo systemctl status growi.service

※起動するまで5分ぐらいかかりました。

起動後、http://[アドレス]:3000

でログインできました。