Help us understand the problem. What is going on with this article?

個人用のWikiをGrowiを用いて構築

GROWI v3.4 から必要なミドルウェアのバージョンが変更になった為、本ページは参考になりません。

構築目的と背景

自分用のまとめを効果的に残す方法を探していました。
テキストやExcelなどではファイルの数が増え、サイズも大きくなり
自分のナレッジを引き出すのが面倒になった経験があります。
ただ、薄い内容や調べればすぐわかる内容をQiita等に公開するのは気が引けます。
そんな時にGrowiを見つけました。

Growiとは

  • Markdownで記事記載が可能
  • ファイルのアップロードをサーバへ簡易的にできる
  • Vim/Emacs/Sublime Text のキーマップをサポート。
  • Elasticsearch を利用した検索が可能
  • などなど

■リンク
https://growi.org/
公式デモサイト

Growiを構築する上で必要なもの

今回構築した場所は社内の仮想マシン内(CentOS7.6)に構築しました。

必要なミドルウェア等のバージョンを確認します。
Growi GitHub

必要なもの Version
node 8.x (DON'T USE 9.x)
npm 6.x
yarn -
MongoDB 3.x
Redis 3.x
Elasticsearch 5.x
Japanese (kuromoji) Analysis plugin -
ICU Analysis Plugin -
git -

構築

必要なものを上からインストールしていきます。
※外部公開しない為、SELinuxは無効にしてあります。

Node.js

curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -

すると以下のメッセージがでます。

## Run `sudo yum install -y nodejs` to install Node.js 8.x LTS Carbon and npm.
## You may also need development tools to build native addons:
     sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
     curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
     sudo yum install yarn

なので指示通り以下を実行

yum -y install nodejs
  • gcc-c++ make
yum install gcc-c++ make
  • yarn
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
yum install yarn

MongoDB

vi /etc/yum.repos.d/mongodb.repo

内容は以下です。

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
yum -y install mongodb-org

Redis

yum -y install epel-release
yum -y install redis

systemctl start redis
systemctl enable redis

java-1.8.0-openjdk

※Elasticsearchを動作させる為にJavaが必要です。

yum -y install java-1.8.0-openjdk

Elasticsearch

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
vi /etc/yum.repos.d/elasticsearch5.repo 

内容は以下です。

[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
yum -y install elasticsearch

Japanese (kuromoji) Analysis plugin

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

ICU Analysis Plugin

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

サーバのメモリが少ない場合
Elasticsearchはデフォルトで2GBのメモリを確保する設定になっています。
もし、AWSの安価なEC2を使うと起動出来ない為、以下の設定が必要となります。

vi /etc/elasticsearch/jvm.options

以下を削除またはコメントアウト

-Xms2g
-Xmx2g

任意のメモを割り当て(例:最大、最小ともに1GB)
※公式手順では256m

-Xms1g
-Xmx1g

git

yum install git

Growi

1.インストールするディレクトリへ移動

cd /usr/local/bin

2.Growiのインストール

git clone https://github.com/weseek/growi.git
cd growi
yarn

3.lsxプラグイン追加

yarn add growi-plugin-lsx

4.環境変数の設定

vi /etc/sysconfig/growi

内容は以下です。

PORT=3000
NODE_ENV=production
MONGO_URI="mongodb://localhost:27017/growi"
REDIS_URL="redis://localhost:6379"
ELASTICSEARCH_URI="http://localhost:9200"
#SECRET_TOKEN=
PASSWORD_SEED="`openssl rand -base64 128 | head -1`"
FILE_UPLOAD=local

5.systemctlコマンドでstart stopできるように設定

vi /etc/systemd/system/growi.service

内容は以下です。

[Unit]
Description=Growi
After=network.target mongod.service

[Service]
WorkingDirectory=/usr/local/bin/growi
EnvironmentFile=/etc/sysconfig/growi
ExecStart=/usr/bin/npm start

[Install]
WantedBy=multi-user.target

systemd の設定の再読み込み実施

systemctl daemon-reload

Firewallの設定

firewall-cmd --add-port=3000/udp --zone=public --permanent
firewall-cmd --add-port=3000/tcp --zone=public --permanent
firewall-cmd --reload

色々起動

systemctl start elasticsearch
systemctl enable elasticsearch

systemctl start mongod
systemctl enable mongod

systemctl start growi
systemctl enable growi

 起動確認

以下へアクセスすると管理者情報の登録画面が表示されます。
http://サーバIPアドレス:3000
1.PNG

任意の情報を登録するとログイン画面が表示され、先ほどのIDとパスワードでログインが可能です。

終わりに

Wikiを構築したことで個人PCに散乱していたメモなどをジャンルごとに整理することができました。
自社環境では外部アクセスはできませんが、社内からはアカウント登録なしでも閲覧自体は可能な為、
案件の振り返りやナレッジの共有に活かすことができればと考えています。

参考リンク

公式手順
AWS 上の CentOS7 に Growi をインストールする
CentOS7.5にGrowiをインストール
CentOS7にGrowi(旧Crowi-Plus)をインストールする方法

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした