如何在Ubuntu 18.04/CentOS 7上安装Wiki.js
本指南将引导我们完成在Ubuntu 18.04和CentOS 7上安装Wiki.js NodeJS Wiki应用程序的步骤。
Wiki.js是基于Node.js,Git和Markdown构建的开源,现代且功能强大的Wiki应用程序。
Wiki.js在Linux,macOS和Windows操作系统上运行。
在Wiki.js中,我们可以使用内置的可视化编辑器以广泛使用的简单Markdown格式编写所有内容。
内容直接保存到Markdown(.md)文件中,并自动与远程Git存储库同步。
所有内容都可以直接从Git存储库中读取。
Wiki.js的功能
为简单的Markdown格式的现代webEdit内容设计精美,具有集成访问控制–本地数据库或者外部身份验证提供程序,例如Microsoft帐户,Google ID,Facebook,GitHub,Slack或者LDAP(活动目录)。
内置的搜索引擎免费使用且开源
服务器要求
Node.js 6.9.0或者更高版本MongoDB 3.2或者更高版本Git 2.7.4或者更高版本兼容Git的存储库(公共或者私有)(可选)
注意版本 git
CentOS 7储存库中可用的版本有点旧,请使用指南如何在CentOS 7上安装最新版本的Git(Git 2.x)安装最新版本的git。
我们将使用Nginx代理Wiki.js访问和 pm2
在启动时启动应用程序。
步骤1:安装Node.js 10.x和Nginx
在CentOS 7上
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash sudo yum install -y nodejs nginx gcc-c++ make curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo sudo yum -y install yarn
对于Ubuntu 18.04/Ubuntu 16.04
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash sudo apt -y install nodejs
步骤2:安装MongoDB
Wiki.js将管理数据(例如用户,权限和资产元数据)存储在MongoDB数据库中。
文章内容和上传内容均未存储在数据库中。
相反,它们存储在磁盘上并与我们选择的远程git存储库自动同步使用我们的指南来安装MongoDB如何在CentOS 7上安装MongoDB 4如何在Ubuntu 18.04/Ubuntu 16.04上安装最新的MongoDB
步骤3:下载并安装Wiki.js
创建一个项目目录
mkdir /srv/wikijs
切换到项目目录
cd /srv/wikijs
安装Wikijs
VERSION=$(curl -L -s -S https://beta.requarks.io/api/version/stable) curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/wiki-js.tar.gz | tar xz -C . curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/node_modules.tar.gz | tar xz -C .
创建Wiki配置文件
cp -n config.sample.yml config.yml
要查看已安装的版本,请使用
# node wiki --version 1.0.102
步骤4:配置Wiki.js
通过运行以下命令来启动配置向导:
node wiki configure
要使用自定义端口,请使用以下命令:
node wiki configure 1234
其中1234是自定义端口。
举例来说,我将Wiki.js配置为使用端口 8080
在我的服务器上
node wiki configure 8080
将此终端保持活动状态,然后打开一个新的终端会话以配置nginx
sudo vim /etc/nginx/conf.d/wikijs.conf
为了 http
没有ssl的连接,添加:
# Wikijs Nginx configuration file server { listen 80; server_name wiki.example.com; location/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_next_upstream error timeout http_502 http_503 http_504; } }
以下配置代码段用于http和https,但具有从http到https的重定向。
# Redirect http to https server { listen 80; server_name wiki.example.com; return 301 https://$server_name$request_uri; } # Serve https traffic server { listen 443 ssl http2; server_name wiki.example.com; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl on; ssl_certificate /etc/letsencrypt/live/wiki.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/wiki.example.com/privkey.pem; ssl_session_timeout 5m; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_next_upstream error timeout http_502 http_503 http_504; } }
重新开始 nginx
服务并确保将其设置为在启动时启动
sudo systemctl restart nginx sudo systemctl enable nginx
现在打开链接 http://wiki.example.com/
并按照安装向导进行操作:
确保依赖性检查返回成功
设置标题
设置MongoDB数据库连接如果MongoDB与Wiki.js安装在同一主机上,请使用:连接字符串: mongodb://localhost:27017/wiki
成功安装后,我们应该已准备好开始使用该页面。
登录到Wiki.js仪表板以开始添加内容
要停止Wiki.js,请运行以下命令:
node wiki stop
重新启动Wiki.js要重新启动Wiki.js,请运行以下命令:
node wiki restart
在配置向导中输入的所有设置都保存在文件中 config.yml
步骤5:将Wiki.js配置为在启动时启动
默认情况下,Wiki.js在系统重启后不会自动启动。
为了使其在启动时启动,我们需要进行设置 pm2
作为全局npm模块并将其设置为启动服务:PM2是具有内置负载均衡器的Node.js应用程序的生产过程管理器。
npm install -g pm2
现在,我们需要告诉pm2将其自身配置为启动服务。
pm2 startup
最后,通过运行以下命令保存当前的pm2配置:
pm2 save
要通过以下方式删除初始化脚本:
pm2 unstartup systemd