如何在Ubuntu 16.04上安装Wekan Trello-like Kanban

Wekan是一个基于Meteor Javascript框架的开源trello-like看板。它是一个基于网络的管理工具,可以让您创建...

如何在Ubuntu 16.04上安装Wekan Trello-like Kanban

Wekan是一个基于Meteor Javascript框架的开源trello-like看板。 这是一个基于网络的管理工具,可让您为项目协作创建一个板子。 通过Wekan董事会,您只需邀请您的成员加入董事会,您就可以出席。 在健康板上,您可以创建基于卡片的任务和待办事项管理,然后将其分配给您的成员。

在本教程中,我们将向您介绍如何在Ubuntu 16.04上逐步安装和配置Wekan Trello-like看板。 我们将使用MongoDB作为数据库,并使用Nginx Web服务器作为Wekan应用程序的反向代理。 本教程将详细介绍一些主题,包括保护MongoDB数据库和将Nginx配置为反向代理。

先决条件

  • Ubuntu 16.04服务器
  • 根特权

我们将要做什么

  1. 更新存储库和升级系统
  2. 安装Nodejs
  3. 安装和配置MongoDB
  4. 安装Wekan
  5. 在Ubuntu 16.04上运行Wekan即服务
  6. 安装并配置Nginx作为Wekan的反向代理
  7. 测试

第1步 - 更新和升级系统

使用您的ssh登录连接到服务器。

ssh root@192.168.33.10

现在更新系统中的所有存储库,然后使用下面的apt命令升级所有软件包。

sudo apt update
sudo apt upgrade

第2步 - 安装Nodejs

Wekan是一个基于nodejs的应用程序,它需要nodejs 4.8版本。 在本教程中,我们不会从Ubuntu存储库安装nodejs,而是使用nvm Node Version Manager来安装nodejs 4.8。

在安装nodejs之前,使用下面的命令添加新的系统用户'wekan'。

useradd -m -s /bin/bash wekan
passwd wekan

以'wekan'用户身份登录,然后下载并运行nvm安装程序脚本。

su - wekan
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

该命令将在'wekan'用户下安装nvm,并向'.bashrc'配置文件添加新配置。 重新加载'.bashrc'文件。

source ~/.bashrc

现在使用下面的nvm命令进行测试。

command -v nvm
nvm --version

你可以看到系统上安装的nvm'0.33.8'。

接下来,使用nvm Node Version Manager安装nodejs 4.8。

运行下面显示的nvm install命令。

nvm install v4.8
nvm use node

安装完成后,检查节点版本。

node -v

你应该在'wekan'用户下安装Ubuntu 16.04上的nodejs 4.8。

安装Node.js

第3步 - 安装和配置MongoDB

在这一步中,我们将安装和配置MongoDB NoSQL数据库。 Wekan要求安装MongoDB 3.2.x。

运行下面的命令,将MongoDB密钥以及存储库添加到系统中。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

安装和配置MongoDB

现在更新存储库并使用apt命令安装MongoDB。

sudo apt update
sudo apt install -y mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools

安装完成后,启动MongoDB服务并使其每次在系统引导时启动。

sudo systemctl start mongod
sudo systemctl enable mongod

MongoDB 3.2已经安装在Ubuntu 16.04系统上。

接下来,我们需要配置MongoDB身份验证。 登录到mongo shell并创建一个新的'admin'超级用户。

登录到mongo shell。

mongo

使用密码“MyAdminPassword”创建一个新的'admin'用户并将角色设置为'root'。

运行下面的MongoDB查询。

db.createUser(
  {
    user: "admin",
    pwd: "MyAdminPassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)

MongoDB管理员用户已创建。

现在我们需要编辑配置文件'/etc/mongod.conf'来启用身份验证。

使用vim编辑配置文件'mongod.conf'。

vim /etc/mongod.conf

取消注释'安全'行并添加如下所示的配置。

security:
 authorization: enabled

保存并退出。

现在重新启动MongoDB服务。

systemctl restart mongod

MongoDB身份验证已启用。

MongoDB认证

接下来,我们需要为Wekan创建新的数据库和用户。 我们将创建一个名为'wekan'的新数据库,其中用户'wekan'的密码为'WekanPassword'。

以admin用户身份登录到mongo shell。

mongo -u admin -p

输入管理员密码'MyAdminPassword'。

当你得到mongo shell时,运行下面的MongoDB查询。

use wekan
db.createUser(
    {
      user: "wekan",
      pwd: "WekanPassword",
      roles: ["readWrite"]
    }
 )

用于wekan安装的数据库和用户已创建。

数据库和用户wekan安装

第4步 - 安装Wekan

以'wekan'用户身份登录。

su - wekan

使用wget命令下载最新版本的wekan源代码并提取它。

wget https://github.com/wekan/wekan/releases/download/v0.63/wekan-0.63.tar.gz
tar xf wekan-0.63.tar.gz

你会得到一个名为'bundle'的新目录。 转到该目录并使用npm命令安装Wekan依赖关系,如下所示。

cd bundle/programs/server
npm install

所有安装完成后,您将得到如下所示的结果。

安装Wekan

接下来,我们将尝试在系统上运行Wekan。

运行以下命令为Wekan应用程序设置环境变量。

export MONGO_URL='mongodb://wekan:WekanPassword@127.0.0.1:27017/wekan?authSource=wekan'
export ROOT_URL='http://192.168.33.10/'
export MAIL_URL='smtp://user:pass@mail.hakase-labs.co:25/'
export MAIL_FROM='wekan@hakase-labs.co'
export PORT=8000

现在进入'bundle'目录并运行Wekan Node.js应用程序。

cd ~/bundle
node main.js

wekan nodejs应用程序

Wekan服务器现在运行在8000端口下。打开您的Web浏览器并输入8000端口的服务器地址。Mine是http://192.168.33.10:8000/

您将获得Wekan登录页面,如下所示。

Wekan登录

Wekan现在已成功安装在Ubuntu 16.04上。

第5步 - 将Wekan配置为服务

我们将在Ubuntu系统上运行Wekan应用程序作为服务。 所以我们需要在systemd目录下创建新的服务文件。

在创建Wekan服务文件之前,我们需要创建环境变量文件。

以'wekan'用户身份登录。

su - wekan

转到'bundle /'目录并使用vim创建新的环境变量文件'.env'

cd bundle/
vim .env

在那里粘贴以下配置。

MONGO_URL='mongodb://wekan:WekanPassword@127.0.0.1:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.hakase-labs.co'
MAIL_URL='smtp://user:pass@mail.hakase-labs.co:25/'
MAIL_FROM='wekan@hakase-labs.co'
PORT=8000
HTTP_FORWARDED_COUNT=1

保存并退出。

现在回到你的根终端,进入'/ etc / systemd / system'目录,然后创建一个新的服务文件'wekan.service'。

cd /etc/systemd/system/
vim wekan.service

在那里粘贴以下配置。

[Unit]
Description=Wekan Server
After=syslog.target
After=network.target

[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/home/wekan/.nvm/versions/node/v4.8.7/bin/node bundle/main.js
EnvironmentFile=/home/wekan/bundle/.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/home/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan

[Install]
WantedBy=multi-user.target

保存并退出。

使用systemctl命令重新加载systemd系统。

systemctl daemon-reload

启动Wekan服务并使其每次在系统启动时启动。

systemctl start wekan
systemctl enable wekan

Wekan服务

现在使用下面的命令检查Wekan服务。

netstat -plntu
systemctl status wekan

以下是结果。

Wekan开始了

Wekan现在运行在8000端口下,作为Ubuntu 16.04系统上的服务运行。

第6步 - 安装Nginx作为Wekan的反向代理

在这一步中,我们将安装Nginx Web服务器并将其配置为在端口8000下运行的Wekan服务的反向代理。

使用下面的apt命令从Ubuntu存储库安装Nginx Web服务器。

sudo apt install nginx -y

安装完成后,转到'/ etc / nginx / sites-available'目录并创建一个新的虚拟主机文件'wekan'。

cd /etc/nginx/sites-available
vim wekan

在那里粘贴以下虚拟主机配置。

server {
    server_name wekan.hakase-labs.co;
    listen 80;

    access_log /var/log/nginx/wekan-access.log;
    error_log /var/log/nginx/wekan-error.log;

    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $host;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection 'upgrade';
        proxy_cache_bypass $http_upgrade;
        proxy_pass         http://127.0.0.1:8000;
    }
 
}

保存并退出。

现在激活虚拟主机并运行测试nginx配置,并确保没有错误。

ln -s /etc/nginx/sites-available/wekan /etc/nginx/sites-enabled/
nginx -t

假设一切正常,现在重新启动Nginx服务并使其每次在系统启动时启动。

systemctl restart nginx
systemctl enable nginx

配置并启动Nginx

现在使用netstat命令检查HTTP端口,并确保它处于'LISTEN'状态。

netstat -plntu

Nginx开始了

Wekan Node.js应用程序的Nginx虚拟主机配置已完成。

第7步 - 测试

打开你的网页浏览器并在地址栏上输入Wekan安装URL,我的网址http://wekan.hakase-labs.co/

您将被重定向到登录页面,点击“注册”链接。

Wekan  - 登录

现在输入您的用户名,电子邮件,密码,并将邀请代码留空。

用户名和密码

点击蓝色的“注册”按钮。

而且您可能会收到'内部服务器错误'的信息 - 留下并返回到您的终端。 因为我们将从终端激活第一个用户。

打开你的终端并以'wekan'用户身份登录到mongo shell。

mongo -u wekan -p --authenticationDatabase "wekan"

现在使用下面的查询激活用户。

use wekan
db.users.update({username:'hakase'},{$set:{isAdmin:true}})

从mongo shell退出。

蒙古壳

返回浏览器并再次打开Wekan网址安装。

http://wekan.hakase-labs.co/

输入您的用户名和密码,然后点击“登录”按钮。

签到

现在你应该得到Wekan用户仪表板。

Wekan仪表板

下面是wekan示例项目。

wekan示例项目

使用MongoDB和Nginx Web服务器的Ubuntu 16.04上的Wekan安装已成功完成。

参考