团队协作软件私有部署设置需要满足前提条件:条件1:java运行环境:jdk 8;条件2:数据库:MySql 5.6以上版本(包含了5.6版本);条件3:域名1个,这里用的是阿里云域名等。
一、团队协作软件私有部署设置
前提条件
条件1:java运行环境:jdk 8
条件2:数据库:MySql 5.6以上版本(包含了5.6版本)
条件3:域名1个,这里用的是阿里云域名
条件4:云服务器一台(尽量选linux系统),用的是阿里云服务器
条件5:云服务器上安装宝塔面板
【强烈建议使用Linux服务器安装】,windows环境需要安装cmder
windows服务器:安装cmder工具,再通过cmder执行下面命令和运行shell脚本
条件1可以参考教程:Linux安装jdk8以及配置环境变量
条件2安装MySql5.6可以选择自己在Linux系统手动安装,也可以选择用宝塔面板来一键安装。
由于想简单点,主要是想节省时间和精力,我就在宝塔面板上安装好了LNMP架构环境,其中的mysql选5.6以上版本。
不知道在Linux服务器上安装和使用宝塔面板的可以参考我写的经典教程:基于阿里云Linux服务器搭建宝塔面板完整图文教程
正式安装
curl-L-okooteam.tar.gz ‘https://www.kooteam.com/home/download.do?app=kooteam&type=install’
注意事项:一定要先切换到你的目标目录之后,再执行上面的命令。上面的命令是下载kooteam.tar.gz 这个压缩文件的。
tar -xvf kooteam.tar.gz。
执行 sh ./start.sh 脚本启动服务。
宝塔面板提前创建好一个mysql数据库。
浏览器中访问kooteam,输入地址: http://服务器IP:7053/。
处理二级域名与端口转发问题。
正常的,我们都不希望通过“域名”+“端口号”的方式给别人用吧。常见的做法就是用二级域名+Nginx处理下端口转发问题。
没处理之前,我们是这样访问:“https://tast.vpssw.com:7053/”
处理之后,我们可以这样访问:“https://tast.vpssw.com”
Nginx配置
server
{
listen 80;
listen 443 ssl http2;
server_name task.vpssw.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/task.vpssw.com/res;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:7053;
}
ssl_certificate /www/server/panel/vhost/cert/task.vpssw.com/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/task.vpssw.com/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security “max-age=31536000”;
error_page 497 https://$host$request_uri;
include enable-php-74.conf;
include /www/server/panel/vhost/rewrite/task.vpssw.com.conf;
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
location ~ \.well-known{
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
proxy_pass http://127.0.0.1:7053;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log /dev/null;
proxy_pass http://127.0.0.1:7053;
access_log off;
}
access_log /www/wwwlogs/task.vpssw.com.log;
error_log /www/wwwlogs/task.vpssw.com.error.log;
}
为系统设置ssl安全证书。
系统完美部署成功。
延伸阅读:
二、为什么要私有部署
1. 安全性一直是SAAS模式的软件绕不过去的坎,尤其在国内更是如此,但是我们也惊喜的看到近几年来有很多小团队的思维在逐步转变,越来越多的团队接受SAAS模式的应用。自己部署数据一定安全吗?答案是不一定,数据备份如何做?是不是还需要专门的人进行维护,需要自己架设服务器,自己制定备份策略。这些都是需要成本的。
对于SAAS类应用来说,安全性主要体现在两个方面:一是数据不能丢,这个我想不用再多讨论,云存储、异地灾备等各种技术的成熟,数据不能丢是一个SAAS团队最基本的能力;二是数据不能被偷窥,这就需要大家一起努力,共同打造良好的生态环境,在几年前,没人想象会把源代码放在github上。
2. 二次开发我个人认为这只是一个美丽的谎言,真正在redmine等开源项目上做二次开发的团队没有几个,对于中小团队之间的协作和项目管理,解决团队成员之间的任务跟踪、成员沟通、文件文档资源的共享这几个点足以。
3. 升级更新现在的互联网产品都讲究小步快跑,快速迭代,这就意味着产品会频繁的升级改进,如果自行部署就需要有人去做专门的维护,不断的进行升级。
4. 移动端支持企业应用必将在互联网和移动互联网的趋势下被重构,对于中小团队而言更是如此。自行部署,要做到随时随地的可用,也不是一件简单的事情。