目的和目标
禅道是个不错的开源软件,可以发布任务,bug,管理流程,所以决定自己部署一套服务管理自己,记录业余生活轨迹。为了仿造公司级服务环境,需要将禅道部署到vmware上linux环境下,并且跟主机在同一局域网的机器也可以访问禅道。
部署文档
禅道:https://www.zentao.net/book/zentaopmshelp/90.html
版本说明
vmware: VMware® Workstation 14 Pro
centOS: CentOS-6.6-x86_64-bin-DVD1.iso
禅道: ZenTaoPMS.11.4.1.zbox_old.64.tar.gz
IP和端口
说明:自动分配的选项不需要改成固定IP;手动配置的选项一定要改成固定IP,但软件可能帮你配置好,即使这样,你一定要自己再检查一遍
手提电脑: 192.168.1.102(主机,自动分配)
安卓手机: 192.168.1.101(跟主机连同一局域网,自动分配)
主机的vmnet8: 192.168.139.1(手动配置,DNS为8.8.8.8,网关可以不配置)
虚拟机vmnet8子网地址:192.168.139.0(手动配置)
虚拟机vmnet8网关地址:192.168.139.2(手动配置)
centos地址:192.168.139.100(手动配置,网关192.168.139.2,DNS为8.8.8.8)
禅道apache端口:8088
禅道mysql端口:3308
虚拟机vmnet8端口转发:主机端口随意,虚拟机IP地址和端口要和实际一致
精华
- 安装vmware
vmware的虚拟网络编辑器中修改NAT配置,并设置端口转发(目的是禅道服务对外由主机发布,本文章中的安卓手机请求的地址看起来像主机的服务)。 - 安装centOS操作系统
如果连接外网,貌似可以不用装DVD2,如果缺少命令或者服务,请继续装DVD2。 - 设置网络
su root
ifconfig 找到名字eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改或者加入:
service network restart(可选,后续改完配置一起reboot) - 防火墙开放端口给主机
vi /etc/sysconfig/iptables
service iptables restart(可选,后续改完配置一起reboot) - 关闭selinux
vi /etc/selinux/config
reboot - 按官网文档安装禅道(补充自启动操作)
vi /etc/rc.d/rc.local
测试
上述步骤之后,可能就可以访问禅道,最好别用IE,IE需要允许访问的设置。
主机使用非IE浏览器访问如下地址:
http://192.168.1.102:8088(主机的IP变化导致不可用)
http://192.168.139.100:8088(可加入浏览器收藏夹长期使用)
http://localhost:8088(可加入浏览器收藏夹长期使用)
虚拟机访问如下地址:
http://192.168.1.102:8088(主机的IP变化导致不可用)
http://192.168.139.100:8088(可加入浏览器收藏夹长期使用)
http://localhost:8088(可加入浏览器收藏夹长期使用)
安卓手机
http://192.168.1.102:8088(主机域防火墙和专用防火墙同时关闭或匹配防火墙规则才可能访问)测试点:切换不同的WIFI;重启虚拟机;重启主机
防火墙规则
主机需要在防火墙设置规则允许部分用户访问,但如果局域网IP动态分配或者切换网络,需要修改防火墙规则。
navicat连接mysql
- IP写127.0.0.1,不能写虚拟机IP,端口上面配置过,这里是3308,用户名和密码是默认root/123456,用你创建的用户也可以
- 主机IP配虚拟机的IP,端口没改的话是22,用户名和密码是虚拟机操作系统的。
未完待续
恶心的失败场景频现:
- 重启电脑之后,虚拟机http://192.168.139.100:8088服务可以访问,主机http://192.168.1.102:8088服务在浏览器不可以访问,但curl可以访问,安卓手机自然也访问不了。
解决办法:打开fiddler工具立刻就好了!我本来想抓包看下curl和浏览器有啥区别,机缘巧合竟然试出来。可是WHY?
我的猜测是fiddler.exe做了什么,希望有大神可以指点下,我觉得禅道算装成功了,耗费2天时间,真的不顺利。