内网安装Wekan3.36

前言

由于需要更方便的查看任务进度,需要在内网搭建Wekan。

搭建的内网环境是一台KVM虚拟机,2核4G,Ubuntu16.04,不可连外网,在网关处有配置apt-get源代理,可使用apt-get。

本次安装需要:

  • nodejs 8.16.1
  • mongodb 3.05
  • Wekan 3.36

由于内网不能连外网,所以这三个都只能手动安装,Wekan安装后还需要连网安装依赖包,所以这里还需要一台外网机辅助。

步骤

一、内网安装nodejs环境

Nodejs需要编译安装,首先需要安装gcc与gcc-c++:

1
2
sudo apt-get install build-essential
sudo apt-get install g++

安装后,官网下载nodejs 8.16安装包并传到内网,内网编译安装:

1
2
3
4
5
6
cd /data/software
tar -zxvf node-v8.16.1.tar.gz
cd node-v8.16.1
./configure
make -j2
sudo make install

安装成功后用node -v查看版本,成功即可。

二、内网安装mongodb

Mongodb比较好装,不需要编译,只要下载包,解压即可用。
下载mongodb包,传到内网。

解压并软链接:

1
2
3
4
5
6
cd /data/software
tar -zxvf mongodb-linux-x86_64-3.0.5.tgz
mv mongodb-linux-x86_64-3.0.5 mongodb
cd mongodb
sudo ln -s /data/software/mongodb/bin/mongo /usr/bin/mongo
sudo ln -s /data/software/mongodb/bin/mongod /usr/bin/mongod

建目录/data/db/mongo用于存放数据与日志,并写个简单的配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vi /data/software/mongodb/mongo.cnf
systemLog:
destination: file
logAppend: true
path: /data/db/mongo/mongod.log
storage:
dbPath: /data/db/mongo
journal:
enabled: true
processManagement:
fork: true
pidFilePath: /data/db/mongo/mongod.pid
net:
port: 27017
bindIp: 127.0.0.1

运行mongod

1
mongod -f /data/software/mongodb/mongo.cnf

外网安装nodejs环境与wekan

在外网测试服上安装是为了实现wekan安装后的连网安装依赖,等安装后依赖后再打包转移到内网。

安装nodejs环境,这里不用编译方式,直接使用nvm方式安装:

1
2
3
wget -qO- https://raw.github.com/creationix/nvm/v0.33.11/install.sh | sh
重启或另开Xshell终端,安装Node.js
nvm install stable

安装后还是node -v查看版本,外网版本先忽略,我安装时没有出现问题,但不能确保其它人使用时会不会有版本冲突。

wekan官网下载最新版本,这里下载的是wekan-3.36.zip。
解压并安装wekan依赖包:

1
2
3
4
5
# 解压得到bundle目录
cd /data/software
unzip wekan-3.36.zip
cd bundle/programs/server
npm install

把安装好依赖包的wekan再压缩传到内网:

1
2
cd /data/software
tar -zcvf wekan.tar.gz bundle

最后

在内网再解压wekan.tar.gz:

1
tar -zxvf wekan.tar.gz

解压出bundle,移动并重命名:

1
mv /data/software/bundle /data/wekan

写启动脚本:

1
2
3
4
5
6
7
cd /data/wekan
vi start.sh
#!/bin/bash
export MONGO_URL='mongodb://127.0.0.1:27017/wekan'
export ROOT_URL='http://192.168.2.2:8080'
export PORT=8080
node main.js &

如果ROOT_RUL后面不加端口,会出现打开卡片URL就转到80端口的情况。
由于内网中不支持邮件服务,所以上面没配MAIL_URLMAIL_FROM。如果外网且有邮件服务,上面脚本可以加上:

1
2
export MAIL_RUL='smtp://user:pass@mail.testurl.com:25/'
export MAIL_FROM='service@testurl.com'

启动:

1
cd /data/wekan && sh start.sh

内网服务器没开防火墙,所以最后登陆http://192.168.2.2:8080,注册用户后即可使用,注册的第一个用户即为管理员。

安装中遇到的报错

外网安装wekan依赖时,报了个”bcrypt@3.0.6 install: node-pre-gyp install --fallback-to-build“的错误,解决方法是npm install -g node-pre-gyp

补充

突然想到我的安装步骤错了,其实应该是先外网安装好nodejs,看安装的nodejs版本,再在内网中安装对应版本的nodejs,这样更好。
我是由于公司内网机的gcc与gcc-c++版本较低,装不了nodejs太高版本,在测试node-v8.16.1时发现可用,就直接拿来用了。
按上面步骤来,不是nodejs版本相差太大,大概率也不会出错,懒得改了。


- - END - -


腾讯云
0%