LoginSignup
2

More than 3 years have passed since last update.

FedoraにGrowiをインストールする方法

Last updated at Posted at 2019-06-29

最近Fedoraがマイブームなので、これまでCentOSで立てていたGrowiをFedoraで立てることにしました。

環境

Fedora Serverのセットアップ

インストーラーの指示に従い、普通にインストールします。
特別なことは何もしていないため割愛。

MongoDBのインストール

Growi 3.5.0 はMongoDB 3系が必要であるためインストールして起動しておきます。
参考: MongoDB公式ドキュメント

# vi /etc/yum.repos.d/mongodb-org-3.6.repo
# dnf install mongodb-org
# systemctl start mongod.service
# systemctl enable mongod.service

$releasever部分を、Fedoraの場合だと修正しないとうまく動かない模様。とりあえず7にしてみました。

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

Node.jsとnpmのインストール

Growi 3.5.0 はNode.js 10系とnpm 6系が必要であるためインストールします。
参考: Node.js公式インストール手順

# curl -sL https://rpm.nodesource.com/setup_10.x | bash -
# dnf install nodejs
# npm info npm versions | grep -F "6." | tail -5   ※npm6系の最新版の確認
# npm install -g npm@6.9.2

yarnのインストール

Growi 3.5.0ではyarnが必要であるためインストールします。なお、バージョン指定がなかったので最新のものを入れました。
参考: yarn公式インストール手順

# curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
# dnf install yarn

Growiのセットアップ

Growi本体をGitHubから取得して、サービスとして起動できるようになるまで作業します。今回は/root直下に置きましたが、ここでなきゃダメという意味ではありません。
途中でパスワード暗号化に使用するシード値を生成していますが、バックアップからの復元に必要になるので厳重に保管しておくことを推奨します。

# dnf install git
# pwd
/root
# git clone https://github.com/weseek/growi.git
# cd growi
# git ls-remote --tags | grep -F "v3.5"     ※Growi 3.5系の最新版をチェック
# git checkout refs/tags/v3.5.0
# yarn
# vi /etc/systemd/system/growi.service
# openssl rand -base64 128 | head -1        ※パスワードのためのシード値生成
ランダムな文字列
# vi /etc/sysconfig/growi
# systemctl daemon-reload
/etc/systemd/system/growi.service
[Unit]
Description=Growi
After=network.target mongod.service

[Service]
WorkingDirectory=/root/growi          ※Growiをgit cloneした場所
EnvironmentFile=/etc/sysconfig/growi
ExecStart=/usr/bin/npm start

[Install]
WantedBy=multi-user.target

生成しておいたシード値をここで使用します。

/etc/sysconfig/growi
PORT=3000
NODE_ENV=production
PASSWORD_SEED="ランダムな文字列"
MONGO_URI="mongodb://localhost/growi"
FILE_UPLOAD=local

ファイアウォールにてポートを許可する

firewalldが有効の場合、もれなくブロックされてしまいますのでGrowiのサービスポートであるTCP:3000を許可します。

# firewall-cmd --add-port=3000/tcp --permanent
# firewall-cmd --reload

Growiの起動

ようやく準備が整ったので早速起動します!起動には結構時間がかかるので気長に待ちます。2-3分くらい。

# systemctl start growi

問題なく起動していれば、http://サーバIP or FQDN:3000/にアクセスすると以下のような画面が表示されます。
管理者ユーザーを作成してログインします。
growi-initlogin.png

ログインすると設定画面が表示されますので、いい感じ(適当)に設定します。
growi-settings.png

Growiに全文検索機能を付ける

検索機能がなぜかデフォルトではついていない(重くなるから?)ので導入します。
Growi 3.5.0 はElasticsearch 6系を用いて全文検索を実装している模様です。
参考: Elasticsearch公式インストール手順

# systemctl stop growi
# vi /etc/yum.repos.d/elasticsearch-6.x.repo
# dnf install java-1.8.0-openjdk     ※Elasticsearchの動作にはJDKが必要です
# dnf install elasticsearch
# cd /usr/share/elasticsearch
# bin/elasticsearch-plugin install analysis-kuromoji
# bin/elasticsearch-plugin install analysis-icu
# cp -p /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
# vi /etc/elasticsearch/elasticsearch.yml
# systemctl start elasticsearch
# systemctl enable elasticsearch
# vi /etc/sysconfig/growi
# systemctl start growi
/etc/yum.repos.d/elasticsearch-6.x.repo
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

自分の環境では、Elasticsearchが起動して少し経った後に落ちてしまいました。→ 参考ページ
X-Pack MLなる機能を無効にしたら動いたので参考として載せておきます。

/etc/elasticsearch/elasticsearch.yml
※最終行に追記
xpack.ml.enabled: false
/etc/sysconfig/growi
※追記
ELASTICSEARCH_URI="http://localhost:9200"

Growi起動後にも少し作業がありますので忘れずに実施します。
Growiの設定画面に入り、「全文検索管理」の中にある「Build Now」をクリックしてエラー表示がなければ完了です。
growi-elasticsearch-enable.png

画面左上にある検索窓に検索文字を入力し、検索できることを確認します。
growi-search.png
検索できました。
growi-search-result.png

Growiにプラグインを導入する

ノーマル状態でも素晴らしいWikiシステムなのですが、プラグインを導入することでさらに使い勝手が良くなります。
とりあえず自分的に必須なlsx(ツリー表示)、pukiwiki-like-linker(PukiWikiのようなリンク挿入)プラグインを導入します。

# systemctl stop growi
# cd /root/growi   ※Growiをgit cloneした場所
# yarn add growi-plugin-lsx
# yarn add growi-plugin-pukiwiki-like-linker
# systemctl start growi

さっそく適当なページで試してみます。goodですね。

growi-plugin-test.png

バックアップとリカバリを検証する

コツコツ貯めたナレッジは非常に価値のあるものです。以下のページなどを参考にバックアップとリカバリ手順を必ず確認しておきましょう。
https://qiita.com/SkyLaptor/items/d02b702764428a08e3f5

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
2