如何在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服务器
- 根特权
我们将要做什么
- 更新存储库和升级系统
- 安装Nodejs
- 安装和配置MongoDB
- 安装Wekan
- 在Ubuntu 16.04上运行Wekan即服务
- 安装并配置Nginx作为Wekan的反向代理
- 测试
第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。
第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
现在更新存储库并使用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身份验证已启用。
接下来,我们需要为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安装的数据库和用户已创建。
第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应用程序设置环境变量。
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服务器现在运行在8000端口下。打开您的Web浏览器并输入8000端口的服务器地址。Mine是http://192.168.33.10:8000/
您将获得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服务。
netstat -plntu
systemctl status 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
现在使用netstat命令检查HTTP端口,并确保它处于'LISTEN'状态。
netstat -plntu
Wekan Node.js应用程序的Nginx虚拟主机配置已完成。
第7步 - 测试
打开你的网页浏览器并在地址栏上输入Wekan安装URL,我的网址是http://wekan.hakase-labs.co/
您将被重定向到登录页面,点击“注册”链接。
现在输入您的用户名,电子邮件,密码,并将邀请代码留空。
点击蓝色的“注册”按钮。
而且您可能会收到'内部服务器错误'的信息 - 留下并返回到您的终端。 因为我们将从终端激活第一个用户。
打开你的终端并以'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示例项目。
使用MongoDB和Nginx Web服务器的Ubuntu 16.04上的Wekan安装已成功完成。