目的・ゴール
Ubuntu Server 18.04上にGrowiを構築することを目的としています。今後、Ansible Playbookの作成やDockerfile作成を行うための手順整理として構築手順を自分なりにまとめています。
Growiとは?
Markdownで書けるオープンソースのWikiシステム
とのことです。詳細はGrowi.orgを参照ください。
Growiの構築手順
Growiの構築手順は以下のパッケージをインストールし、GrowiのパッケージをGitHubから取得してビルドします。
- nodejsとnpmのインストール
- yarnのインストール
- mongodbのインストール
注意 各パッケージにバージョン指定がさているものがあります。
- nodejsのバージョンは8.x系が指定
- npmのバージョンは5.x系が指定
- MongoDBのバージョンは3.x系が指定
オプションとして、RedisやElasticSearchを入れて連携することも出来るようですが、今回は割愛。
nodejsとnpmのインストール
Growiはnodejsで書かれたアプリケーションのようです。なのでnodejsとnpmをインストールします。インストール方法はここを参考にしました。以下の通りインストールします。
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt update && sudo apt install nodejs
$ nodejs --version
v8.11.3
$ npm --version
5.6.0
nodejsが8.x系であること、npmが5.x系であることを確認してください。
yarnのインストール
yarnはnpmと同様にjavascriptのパッケージマネージャです。ここを参考にしました。以下の通りインストールします。
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update && sudo apt install yarn
$ yarn --version
1.7.0
mongodbのインストール
GrowiのバックエンドはMongoDBのようです。Ubuntuの場合、MongoDBは特にレポジトリの追加なしでインストールできるようです。以下の手順でインストールします。
$ sudo apt install mongodb
$ mongo --version
MongoDB shell version v3.6.3
git version: 9586e557d54ef70f9ca4b43c26892cd55257e1a5
OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017
allocator: tcmalloc
modules: none
build environment:
distarch: x86_64
target_arch: x86_64
MongoDbは3.x系であることを確認してください。
Growiの起動
ここまで来れば、後はGrowiをGitHubから取得して起動するだけです。以下の手順でGrowiを立ち上げます。
$ cd /opt
$ sudo git clone https://github.com/weseek/growi.git
$ cd ./growi
$ sudo yarn
$ MONGO_URI=mongodb://MONGO_HOST:MONGO_PORT/growi sudo npm start
Growiはデフォルトで3000番ポートを使用しますのでhttp://HOSTNAME:3000/にアクセスし、以下のページが表示されるか確認します。
おまけ
Growiを80番ポートで起動するにはconfig/env.prod.js
ファイルを開き、PORTの行を以下のように追加します。
module.exports = {
NODE_ENV: 'production',
// FORMAT_NODE_LOG: false,
PORT: '80' //この行を追加
};