CentOS上にGrowiのv5.xを立ててみました。
構築した環境
- CentOS: 7.9
- nodejs: v14.21.1
- npm: 6.14.7
- yarn: 1.22.19
- elasticsearch: 7系(Growiのv5.x以降はelasticsearchの6系でも動くらしいが将来的なことを考えて7系にしました)
- Mongodb: 4.4
- Growi: 5.0.12
node.js&yarnのインストール
作業ディレクトリはホームディレクトリです
node.jsのインストール
今回はv14をインストールします。
curl -sL https://rpm.nodesource.com/setup_14.x | bash -
yum install gcc-c++ make
yum install nodejs
yarnのインストール
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
yum install yarn
elasticsearchのインストール
elasticsearchは全文検索の機能を使うのに必要なものらしいです。
- JDKのインストール
yum install java-1.8.0-openjdk
- RPM公開鍵のインポート
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
- yumにリポジトリを認識させる
vi /etc/yum.repos.d/elasticsearch7.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
- elasticsearchのインストール
yum install elasticsearch
yum list installed | grep elasticsearch
正しくインストールできているかを確認する
- elasticsearchの自動起動の設定をする
systemctl start elasticsearch
systemctl enable elasticsearch
systemctl status elasticsearch
*ここでもしかしたら[job for ○○]というエラーが出るかも?(原因不明)
- 推奨されているelasticsearchプラグインをインストール
rpm -ql elasticsearch | grep bin | grep plugin
--------------------------------------------------
/usr/share/elasticsearch/bin/elasticsearch-plugin(多分これと同じものが出る)
--------------------------------------------------
上に表示されているものと下は同じにする
/usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
/usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
MongoDBインストール
- リポジトリの作成
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
*私はこの部分のタイポに気づかずに引っ掛かりました
- mongodbのインストール
yum install mongodb-org
- インストール出来ているか確認
yum list installed | grep mongodb
- mongodbの自動起動の設定をする
systemctl start mongod
systemctl enable mongod
systemctl status mongod
Growiのインストール
今回は/opt配下にインストールします。
Growiのリポジトリをクローンするのにgitが必要なのでインストールします
yum install git
cd /opt/
git clone https://github.com/weseek/growi /opt/growi
cd /opt/growi/
git tag -l
git checkout -b v5.○○ refs/tags/v5.○○
この時v5.0以降じゃないとGrowiのページツリーの実装がされてないので注意!!
cd /opt/growi/
yarn
起動確認
MONGO_URI=mongodb://localhost:27017/growi \
ELASTICSEARCH_URI=http://localhost:9200/growi \
npm start
*ここで少し時間がかかります
systemdでのGrowi自動起動
vi /etc/systemd/system/growi.service
[Unit]
Description=Growi
After=network.target mongod.service
[Service]
WorkingDirectory=/opt/growi
Environment=PORT=3000\
MONGO_URI=mongodb://localhost:27017/growi\
ELASTICSEARCH_URI=http://localhost:9200/growi
ExecStart=/usr/bin/npm start
[Install]
WantedBy=multi-user.target
systemctl start growi
systemctl enable growi
systemctl status growi
これで挿入は完了です。
http://127.0.0.1:3000 でつながると思います。
最後に
Growiはバージョンによって依存関係が変わってくるのでその際は適宜変更することを注意してください
この記事が誰かの役に立てば幸いです。
参考記事