安装Growi在Fedora上的方法是什么?
最近我非常喜欢使用Fedora操作系统,所以我决定将以前在CentOS上搭建的Growi迁移到Fedora上。
环境
Fedora 30 Server
Growi v3.5.0
安装Fedora Server
按照安装程序的指示,普通地进行安装。
由于没有做任何特殊操作,故省略。
安装MongoDB.
为了安装和启动Growi 3.5.0,需要安装MongoDB 3系。请参考MongoDB官方文档。
# vi /etc/yum.repos.d/mongodb-org-3.6.repo
# dnf install mongodb-org
# systemctl start mongod.service
# systemctl enable mongod.service
在Fedora的情况下,如果不修正$releasever部分,可能无法正确运行。我先将其修改为7并试一试。
[mongodb-org-3.6]
name=MongoDB Repository
#baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
安装Node.js和npm。
由于Growi 3.5.0需要Node.js 10系和npm 6系,因此需要进行安装。
参考:Node.js官方安装步骤。
# curl -sL https://rpm.nodesource.com/setup_10.x | bash -
# dnf install nodejs
# npm info npm versions | grep -F "6." | tail -5 ※npm6系の最新版の確認
# npm install -g npm@6.9.2
安装yarn
由于Growi 3.5.0版本需要yarn才能安装,所以请安装。由于没有指定版本,因此安装了最新版本。
参考:yarn官方安装步骤。
# curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
# dnf install yarn
Growing的设置
我会从GitHub上获取Growi主体并进行工作,直到可以作为服务启动。这次我将其放置在根目录下,但并不意味着必须放在这里。在过程中会生成用于密码加密的种子值,建议严格保管,因为它在从备份恢复时会用到。
# dnf install git
# pwd
/root
# git clone https://github.com/weseek/growi.git
# cd growi
# git ls-remote --tags | grep -F "v3.5" ※Growi 3.5系の最新版をチェック
# git checkout refs/tags/v3.5.0
# yarn
# vi /etc/systemd/system/growi.service
# openssl rand -base64 128 | head -1 ※パスワードのためのシード値生成
ランダムな文字列
# vi /etc/sysconfig/growi
# systemctl daemon-reload
[Unit]
Description=Growi
After=network.target mongod.service
[Service]
WorkingDirectory=/root/growi ※Growiをgit cloneした場所
EnvironmentFile=/etc/sysconfig/growi
ExecStart=/usr/bin/npm start
[Install]
WantedBy=multi-user.target
在这里使用之前生成的种子值。
PORT=3000
NODE_ENV=production
PASSWORD_SEED="ランダムな文字列"
MONGO_URI="mongodb://localhost/growi"
FILE_UPLOAD=local
在防火墙中允许端口
如果firewalld被启用,所有的流量都会被阻止,因此我们需要允许Growi的服务端口TCP:3000。
# firewall-cmd --add-port=3000/tcp --permanent
# firewall-cmd --reload
Growi开始运行。
终于准备就绪了,马上开始启动!由于启动需要一段时间,所以请耐心等待。大约需要2到3分钟。
# systemctl start growi
给Growi增加全文搜索功能
由于某种原因(可能是为了避免系统变慢),默认情况下没有搜索功能,因此将其引入。
根据Growi 3.5.0似乎使用Elasticsearch 6系实现了全文搜索。
参考:Elasticsearch官方安装步骤。
# systemctl stop growi
# vi /etc/yum.repos.d/elasticsearch-6.x.repo
# dnf install java-1.8.0-openjdk ※Elasticsearchの動作にはJDKが必要です
# dnf install elasticsearch
# cd /usr/share/elasticsearch
# bin/elasticsearch-plugin install analysis-kuromoji
# bin/elasticsearch-plugin install analysis-icu
# cp -p /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
# vi /etc/elasticsearch/elasticsearch.yml
# systemctl start elasticsearch
# systemctl enable elasticsearch
# vi /etc/sysconfig/growi
# systemctl start growi
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
在我的环境中,Elasticsearch在启动后不久崩溃了。参考页面:X-Pack ML功能被禁用后,它开始正常工作。
※最終行に追記
xpack.ml.enabled: false
※追記
ELASTICSEARCH_URI="http://localhost:9200"
在Growi中安装插件。
即使在正常状态下,Wiki系统已经非常出色,但是通过安装插件可以进一步提高其易用性。我首先会安装两个必备插件,即lsx(树形显示)和pukiwiki-like-linker(类似于PukiWiki的链接插入)。
# systemctl stop growi
# cd /root/growi ※Growiをgit cloneした場所
# yarn add growi-plugin-lsx
# yarn add growi-plugin-pukiwiki-like-linker
# systemctl start growi
我馬上在適當的頁面上試試看。真不錯。
验证备份和恢复
坚持积累的知识非常有价值。请务必参考以下页面,并确认备份和恢复的步骤:
https://qiita.com/SkyLaptor/items/d02b702764428a08e3f5