如何在CentOS 7上安装和配置Wekan Trello-like Kanban
Wekan是一个基于Meteor Javascript框架的开源Trello样看板。 这是一个基于网络的管理工具,可让您为项目协作创建一个板子。 通过wekan板,您只需邀请一名成员加入董事会,您就可以出席。 在健康板上,您可以创建基于卡片的任务和待办事项管理,然后将其分配给成员。
在本教程中,我将逐步向您展示如何在CentOS 7服务器上安装和配置Wekan Trello-like Kanban。 我们将使用MongoDB作为数据库,并将Nginx Web服务器用作Wekan应用程序的反向代理。 本教程将详细介绍一些主题,包括保护MongoDB数据库服务器以及将Nginx配置为反向代理服务器。
先决条件
- CentOS 7服务器
- 根特权
我们将要做什么
- 安装Nodejs
- 安装和配置MongoDB
- 安装Wekan
- 在CentOS 7上运行Wekan即服务
- 安装并配置Nginx作为Wekan的反向代理
- 测试
第1步 - 使用NVM节点版本管理器安装NodeJS
Wekan是一个基于nodejs的应用程序,它需要nodejs版本4.8。 在本教程中,我们不会从CentOS存储库安装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命令安装nodejs 4.8。
nvm install v4.8
nvm use node
安装完成后,检查节点版本。
node -v
你会看到nodejs 4.8安装在'wekan'用户下的CentOS 7服务器上。
第2步 - 安装和配置MongoDB
在这一步中,我们将使用官方存储库安装MongoDB 3.2.x,然后配置MongoDB NoSQL数据库服务器的基本安全性。
转到'/etc/yum.repos.d./目录并使用vim编辑器创建一个新的.repo文件。
cd /etc/yum.repos.d/
vim mongodb-org-3.2.repo
将以下MongoDB存储库粘贴到那里。
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
保存并退出。
现在使用下面的yum命令安装MongoDB。
yum -y install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools
安装完成后,启动MongoDB服务并使其在系统引导时启动。
systemctl start mongod
systemctl enable mongod
MongoDB 3.2已经安装在CentOS 7系统上。
接下来,我们需要配置MongoDB身份验证。 登录到mongo shell并为超级用户访问创建一个名为'admin'的新用户。
登录到mongo shell。
mongo
现在创建一个新的'admin'用户,密码为'MyAdminPassword',角色为'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安装的数据库和用户已创建。
第3步 - 安装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应用程序。
cd ~/bundle
node main.js
Wekan服务器现在在端口8000下运行。打开您的Web浏览器并使用端口8000键入您的服务器地址。
http://192.168.33.10:8000/
您将获得Wekan登录页面,如下所示。
Wekan现已成功安装在CentOS 7服务器上。
第4步 - 在CentOS 7上运行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现在在CentOS 7系统上作为8000端口服务运行。
第5步 - 安装并配置Nginx作为Wekan的反向代理
在这一步中,我们将安装Nginx Web服务器并将其配置为端口8000下运行的wekan服务的反向代理。
在安装Nginx Web服务器之前,添加新的EPEL(Enterprise Linux的额外软件包)存储库。
yum -y install epel-release
现在使用下面的yum命令从epel存储库安装nginx。
yum -y install nginx
安装完成后,进入'/ etc / nginx /'配置目录,在'conf.d'目录下创建新的虚拟主机文件'wekan.conf'。
cd /etc/nginx
vim conf.d/wekan.conf
在那里粘贴以下虚拟主机配置。
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配置并确保没有错误。
nginx -t
如果没有错误,请启动Nginx服务并使其在系统引导时启动。
systemctl start nginx
systemctl enable nginx
现在使用netstat命令检查HTTP端口,并确保它处于'LISTEN'状态。
netstat -plntu
Wekan的Nginx虚拟主机配置已经完成。
第6步 - 测试
打开您的网络浏览器并在地址栏中输入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服务器在CentOS 7系统上安装Wekan已成功完成。