在CentOS 7.6上运行GROWI的步骤记录

背景- 背景

我有减少以下类似繁琐的动机。

    • その彼が困ってるやつ、10秒でやれる方法あるから教えたいけど時間がない。誰か教えてあげて。

 

    • 調べるのが面倒で質問してきたんだろうけど、回答するときに改めて調べ直すからこっちの手も止まるんだよ。

 

    • 議事録はあのNASのあのディレクトリ掘りまくったところに・・・

 

    仕様書はあのsvnのあの辺の配下に・・・

因此,我决定尝试使用GROWI。我认为如果每个人都可以轻松地发布和搜索信息,情况可能会好转。我希望能够稳定地运行它,并先试运行一下,以确认其功能。如果能够熟练地使用它并感受到便利,我会很高兴。

写字

我们将在CentOS 7.6上安装GROWI,并确认了创建第一个账户的界面。下面是安装步骤。这次我们将逐个安装GROWI所需的组件。听说使用docker-compose很方便,下次试试。

我选择Growi的原因

    • オンプレで動かせるので、弊社が持つクラウドへの謎の警戒心に阻まれない。

 

    • Markdownで書けるからネ申Excelを量産しなくて済む。

 

    • オープンソース

 

    • 分かりやすい情報がたくさんある。

 

    なんとなくCrowiより活発そう

关于GROWI的详细信息如下。

GROWI.org- 通过Markdown进行编写的开源Wiki系统的介绍
我们发布了基于最强大的Wiki软件”Crowi”的分支版本”GROWI(前称crowi-plus)”的消息。

环境

在VirtualBox上安装好的CentOS7.6,作为一个WEB服务器进行了安装后,可以通过SSH连接。另外,防火墙和SELinux也已经被禁用。这些都需要好好处理一下才行。防火墙已经被正确的设定。

实际操作时,我们会找到适当的机器并使用它们。

安装

参考 GROWI Docs 安装到 Ubuntu。
这次全部使用 root 用户操作,只是为了练习。实际上应该使用适当的用户操作。

为了运行GROWI而安装的软件清单

在GROWI Docs中也有一个列表。
基本上是要安装这些工具。

    • node.js 8.15.0

 

    • npm 5.6.0

 

    • yarn 1.13.0

 

    • MongoDB 3.6

 

    • OpenJDK 1.8.0_191

 

    • Elasticsearch 5.6

 

    • git 1.8.3.1 ←growiをgithubからcloneする時に。無かったので。

 

    growi 3.3.8

Node.js is a JavaScript runtime environment.

根据此链接(https://github.com/nodesource/distributions#installation-instructions-1),我使用的是Node.js的8.x版本(请勿使用9.x)。

使用curl命令下载安装脚本并执行(并未详细查看脚本内容)。

# curl -sL 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进行安装。

# yum install -y nodejs
# node -v
v8.15.0

好的。

npm 是一个广泛使用的开源软件包管理工具。

既然安装了Node,应该也可以使用npm。

# npm -v
6.4.1

不是指定的5.x版本。虽然可能可以继续进行,但为了放心起见,我选择安装5.6版本。

# npm install -g npm@5.6.0
~
# npm -v
5.6.0

好的。

纱线

在安装Node时,按照脚本指示的方式进行。

# curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo
# yum install yarn
# yarn -v
1.13.0

好的。

MongoDB (蒙高数据库)

MongoDB的版本为3.x系列。安装方法请参考以下链接:
https://docs.mongodb.com/v3.6/tutorial/install-mongodb-on-red-hat/

为了通过 yum 进行安装,需要添加软件源。

# vi /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/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

安装和版本确认

# yum install -y mongodb-org
# systemctl start mongod.service
# mongo
MongoDB shell version v3.6.10

好的。

开放JDK

在查找并安装yum存储库之后,确认版本。

# yum search java-1.8.0-openjdk
# yum install java-1.8.0-openjdk-devel

# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
# javac -version
javac 1.8.0_191

好吧。

弹性搜索

Elasticsearchのインストール方法はこちらを参照した。
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/rpm.html

安装公钥。

# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

添加存储库→安装

# vi /etc/yum.repos.d/elasticsearch.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 install elasticsearch

個人用の場合、ElasticsearchのJavaヒープ最小・最大は256MBで十分らしいので設定。
初期値は2gだった。


-Xms256m
-Xmx256m

systemctlリロード後、自動起動の設定と起動。さらにプラグイン2つ追加。

# /bin/systemctl daemon-reload
# /bin/systemctl enable elasticsearch.service

# [root@growi ~]# systemctl start elasticsearch.service 
# [root@growi ~]# systemctl status elasticsearch.service 

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

git

正常安装完成。

# yum install git
# git --version
git version 1.8.3.1

好了好了。

成长

终于安装了GROWI。

从Github上将其clone到/opt/growi目录中。

# git clone https://github.com/weseek/growi /opt/growi

从标签中选择版本并检出分支使用。

# cd /opt/growi
# git tag -l
v3.3.6
v3.3.7
v3.3.8

# git checkout -b v3.3.8 refs/tags/v3.3.8
# git branch
  master
* v3.3.8

用yarn进行安装
非常酷的网站yarn。

# cd /opt/growi
# yarn

[5/5] Building fresh packages...
Done in 151.78s.

好的。

确认启动

确认已安装的内容

既然已经完成了安装,那就启动并确认一下。
用下面的命令先启动。

# cd /opt/growi
# MONGO_URI=mongodb://localhost:27017/growi ELASTICSEARCH_URI=http://localhost:9200/growi npm start

请在浏览器中访问并确认。

/* xxxにサーバのIPアドレス */
http://xxx.xxx.xxx.xxx:3000/
スクリーンショット 2019-02-11 0.37.08.png

用systemctl启动的配置

请使用systemctl来启动/停止。

# vi /etc/systemd/system/growi.service

写入。WorkingDirectory是指定安装(=git clone)的位置的地方。

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

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

[Install]
WantedBy=multi-user.target

维护MongoDB的IP等设定。

# vi /etc/sysconfig/growi

根据环境的不同进行描述

PORT=3000
NODE_ENV=production
PASSWORD_SEED="`openssl rand -base64 128 | head -1`"
MONGO_URI="mongodb://localhost/growi"
ELASTICSEARCH_URI="http://localhost/growi"
FILE_UPLOAD=local

如果从系统控制中心启动,然后在浏览器上可以看到,那就成功了!

# systemctl start growi.service 

确认自动启动功能。

确认重新启动后能否自动启动。

# reboot
スクリーンショット 2019-02-11 21.19.59.png

检查是否自动启动。

# systemctl status growi
● growi.service - Growi
   Loaded: loaded (/etc/systemd/system/growi.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

检查设置,发现没有启动。

# systemctl is-enabled growi.service 
disabled

我忘记设定了。
确认并设定自动启动。

# systemctl enable growi.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/growi.service to /etc/systemd/system/growi.service.
# systemctl is-enabled growi.service 
enabled

这一次终于。在重启之后自动启动确认。

# systemctl status growi.service 
● growi.service - Growi
   Loaded: loaded (/etc/systemd/system/growi.service; enabled; vendor preset: disabled)
   Active: active (running) since 月 2019-02-11 22:05:31 JST; 3min 26s ago
 Main PID: 3566 (npm)
   CGroup: /system.slice/growi.service
           ├─3566 npm
           ├─3740 npm
           ├─3781 node /opt/growi/node_modules/.bin/env-cmd config/env.prod.js node src/server/app.js
           └─3787 node src/server/app.js

可以。

但是还不能在浏览器中打开。连接被拒绝了。
停掉防火墙后就可以运行了。

# systemctl stop firewalld.service

既然如此,防火墙也要进行设置。
这里借鉴了一下,或者说是模仿了这个。
https://qiita.com/yuki476/items/122bd5cc10355ce02b68
意识到自己写了差不多相同的内容… 这是给自己做的备忘录,所以还好。

$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources: 
  services: ssh dhcpv6-client growi

从浏览器访问也可以。
重启后也没问题。

完成了!

终于

现在来使用吧。
希望找时间尝试使用docker-compose。

广告
将在 10 秒后关闭
bannerAds