在CentOS7上搭建Growi
在 CentOS7 上构建 Growi
尝试常规构建 Growi (似乎也可以在 Docker 中构建)。
确认版本
请在Growi的官方Git中查找可用的版本。
2019年2月24日目前的版本如下:
項目バージョンnode8.x (DON’T USE 9.x)npm6.xyarn-MongoDB3.x
创建安装环境
这次我们要在AWS上创建一个实例。
項目バージョンOSCentOS Linux release 7.6.1810 (Core)インスタンスタイプt3.small (2コア 2GB)ストレージ10G空けたポートHTTP/HTTPS/ssh
制作 SSH 密钥
- WindowsなのでCygwinを使う(Git Bashなどでもよい)
创建一个制作钥匙的目录
$ mkdir c:\Users\<user_name>\.ssh
制造钥匙
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/<user_name>/.ssh/id_rsa): /cygdrive/c/Users/
<user_name>/.ssh/id_rsa [Enter]
Enter passphrase (empty for no passphrase): ※ 自分のパスワード[Enter]
Enter same passphrase again: ※ 上と同じパスワード[Enter]
Your identification has been saved in /home/<user_name>/.ssh/id_rsa.
Your public key has been saved in /home/<user_name>/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxx <user_name>@LAPTOP-C47JTLB4
The key's randomart image is:
+---[RSA 2048]----+
<略>
+----[SHA256]-----+
将已生成的公钥文件(id_rsa.pub)放到 AWS 的.ssh 目录里。
目标路径为/home/user_name/.ssh/authorized_keys。
使用Teraterm通过SSH登录到实例。
在AWS的控制台上启动实例并获取IP地址,然后使用Teraterm工具登录AWS实例。使用之前使用过的ssh密钥进行访问。

使用超级管理员权限
由于安装过程麻烦,建议在进行安装时使用sudo。
$ sudo -i
安装MongoDB 3.x
仓库注册
注册存储库。最新版本是4.x,但Growi是3.x,因此将其更新为3系列的最新版本。
注册内容请确认官方网站v3.6的步骤。
- リポジトリ
# 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 mongodb-org
服务启动和自动启动设置
# systemctl start mongod.service
# systemctl enable mongod.service
Node.js和Yarn的安装
安装Node.js 8
确认如何安装Node.js 8版本。
yum install gcc-c++ make
yum install yarn -y nodejs
安装yarn
注册存储库并安装yarn。
Node.js 8的设置方法中也包含了安装yarn的步骤。
# curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
# yum install yarn
确认版本
由于Node.js的版本不同,有人提到需要确认版本才能运行。
# yarn -v
1.13.0
# node -v
v8.15.0
# npm -v
6.4.1
安装Growi
Git -> Git是一个版本控制工具
由于需要将源代码放入git中,所以需要安装git。
# yum install git
成长
同时克隆并安装Growi的源代码
# cd /usr/local/bin
# git clone https://github.com/weseek/growi.git
# cd growi
# yarn
服务的设置
*服务
# vi /etc/systemd/system/growi.service
- 内容
[Unit]
Description=Growi
After=network.target mongod.service
[Service]
WorkingDirectory=/usr/local/bin/growi
EnvironmentFile=/etc/sysconfig/growi
ExecStart=/usr/bin/npm start
[Install]
WantedBy=multi-user.target
- コンフィグファイル
# vi /etc/sysconfig/growi
-
- 内容
- とりあえず、ポートは80にする
PORT=80
NODE_ENV=production
PASSWORD_SEED="`openssl rand -base64 128 | head -1`"
MONGO_URI="mongodb://localhost/growi"
FILE_UPLOAD=local
服务启动和自动启动设置
# systemctl daemon-reload
# systemctl start growi
# systemctl enable growi
访问
http://<IP or FQDN>
通过登录并设置管理员。
// 由于启动过程中,无法访问数分钟。
备份
我根据以下链接的参考进行了备份设置:
https://qiita.com/yuki476/items/85d1625d5df503dc710b