4
4

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 3 years have passed since last update.

EC2上のAmazon Linux 2へgrowiインストール

Last updated at Posted at 2019-12-30

1.GROWI環境構築目標

  • AWS EC2環境へインストールします
    • OS : Amazon Linux 2
    • インスタンス : micro
    • 必須:ElasticSearch, Mongo
    • 別途:PlantUML
  • 利用想定
    • 最大3名以下のクローズドな使い方
  • インストール方法
    • Dockerを使わずに、インストールしていきます
    • レガシーですが、それじゃ面白くないので...
    • インストール中は、スペックを上げて作業しています(small)
      • ビルドとかメモリ使いそうだし

1-1.インストール時のバージョン

name version
OS Amazon Linux 2
GROWI 3.6.3
node.js 12.14.0
openjdk 1.8.0_222
MongoDB 3.6.16
PlantUML 1.2019.13
Graphviz 2.42.2

2.まずはGROWI Docsを見ながら流れを確認

  • CentOS 7環境へのインストール手順があるので、基本はそれを踏襲します
  • バージョンは、同じく公開されてるdocker-composeのバージョンを踏襲していきます
  • このマニュアルでは、PlantUMLはインストールせずに外部のサーバーを指しているので、別途自前でインストールします
    • この内容は公式マニュアルに記載されていない内容ですので、動作保証はしません

3.node.js, npm, yarnのインストール

  • NodeJS 12.xのインストール
  • 事前準備
    • yum install gcc-c++ make
  • node.jsのインストール
    • curl -sl https://rpm.nodesource.com/setup_12.x | sudo bash -
    • sudo yum install nodejs
  • yarnのインストール
    • curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
    • sudo yum install -y yarn

4.Elasticsearchのインストール

  • OpenJDKのインストール
    • sudo yum install java-1.8.0-openjdk
  • Elasticsearch 6.xのインストール
  • 事前準備
  • インストール
    • sudo yum install elasticsearch
  • 割り当てメモリの設定
    • sudo vim /etc/elasticsearch/jvm.options
  • サービス化と自動起動
    • sudo systemctl start elasticsearch
    • sudo systemctl enable elasticsearch
    • sudo systemctl status elasticsearch
  • プラグインのインストール
    • sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
    • sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

5.MongoDBのインストール

6.PlantUMLのインストール

  • JREのインストール
    • sudo yum install java-1.8.0-openjdk-devel
  • graphvizのインストール
    • 事前情報
      • 2.30以後のバージョンがcentos向けにパッケージされていない
      • 調べる限り、2018年ごろに消えている?
      • ソースからmakeする必要
      • 2.39, 2.40はPlantUMLとの相性が良くないのでそれ以外
        • フォーラムによれば、2.40.1は直っている
    • 事前準備
      • sudo yum install expat-devel autoconf make automake libtool libtool-ltdl yacc byacc flex bison libtool-ltdl-devel
    • インストール(再現チェックしてません)
      • git clone https://gitlab.com/graphviz/graphviz.git
      • git checkout -b 2.42.2 refs/tags/2.42.2
      • cd ./graphviz
      • ./autogen.sh
      • ./configure --prefix=/opt/graphviz
      • sudo make
      • sudo make install
        • この対応により、PlantUMLに必要なDOTが下記に配置されます
        • /opt/graphviz/bin/dot
  • PlantUmlのインストール
    • 事前準備
      • sudo yum install tomcat maven
    • インストール
      • cd /opt/
      • git clone https://github.com/plantuml/plantuml-server.git
      • git checkout -b v1.2019.13 refs/tags/v1.2019.13
    • コマンド実行
      • mvn jetty:run -DGRAPHVIZ_DOT=/opt/graphviz/bin/dot
    • サービス化
      • sudo vi /etc/systemd/system/plantuml.service
        [Unit]
        Description=plantuml
        
        [Service]
        WorkingDirectory=/opt/plantuml-server
        ExecStart=/usr/bin/mvn jetty:run -DGRAPHVIZ_DOT=/opt/graphviz/bin/dot
        
        [Install]
        WantedBy=multi-user.target
        
      • この対応によりPlantUML-serverがlocalhost:8080で立ち上がっています

7.GROWIの実行

  • コマンド実行
    • sudo MONGO_URI=mongodb://growiuser:password@localhost:27017/growi ELASTICSEARCH_URI=http://localhost:9200/growi PLANTUML_URI=http://localhost:8080 PASSWORD_SEED=passwordseed FILE_UPLOAD=mongodb npm start
      • オプションとして下記を含めています
        • MongoDBの接続先(ID/PWを含む)
        • ElasticSearchの接続先
        • PLANTUML_URIの接続先
        • PASSWORD_SEEDは適当なランダム値がよい
        • FILE_UPLOADはGROWIにファイルを上げる時の保存先、S3やローカルへの設定が可
  • サービス化

8.リバースプロキシとHTTPS対応

  • GROWIはlocalhost:3000, PlantUMLはlocalhost:8080/plantumlで実行しています
  • これらを443で応答できるようにリバースプロキシの設定をし、証明書を適応することでHTTPS対応が行えます
  • また、異なるサーバーへ一部サービスを逃がす場合はそれらもHTTPS対応しておいた方がよいかもしれません
4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?