突然需要在服务器上部署蝉道,一脸懵逼啊!上网找了一下,大多数不全,想了想还是自己写一个吧,留给有缘人!
全程terminal执行命令后,不需要安装多余的软件(看到有人说需要什么xftp,有可能有用,但是这里不需要)
从头开始,一步步来,慢一点细心一些,不会有问题!
送上传送门:
Linux 系统升级蝉道 和 蝉道配置邮件发信 和 蝉道配置域名访问
一、安装mysql
参考之前的连接!
二、部署蝉道
-
安装之前首先判断一下Linux版本:
使用uname -a
:linux系统版本
使用cat /etc/redhat-release
:查看Linux服务器版本信息
我的服务器是64位的系统 -
进入 /opt 目录下 使用wget命令下载开源版安装包(下面两条任选一个即可,版本不同):
wget http://dl.cnezsoft.com/zentao/11.6.4/ZenTaoPMS.11.6.4.zbox_64.tar.gz wget http://dl.cnezsoft.com/zentao/9.8.2/ZenTaoPMS.9.8.2.zbox_64.tar.gz
ok!下载完成!
使用ls命令查看一下:
ok!果然,下载完成!
- 解压安装包到/opt目录下
tar -xzvf ZenTaoPMS.9.0.1.zbox_64.tar.gz
别慌,等待即可!这一步没有任何问题!
看一下,都解压出来啥了
哎!多了一个 zbox 目录 ,没错了,这就完成了!
- 进入到zbox目录,修改配置文件 (为了不占用Server上默认的80、3306端口,我们修改禅道自带的apache、mysql端口)(这一步可以根据自己的喜好来修改端口)
进入zbox目录
cd zbox
(1)修改端口
1)修改禅道自带的apache端口:
/opt/zbox/zbox -ap 9000
2)修改禅道自带的mysql端口:
/opt/zbox/zbox -mp 9001
如果报错可以查看一下端口号是不是被占用:
netstat -nlp |grep :9000
(2)也可以修改 app/zentao/config/my.php
配置文件中的port 修改为9001;
vi app/zentao/config/my.php
修改 etc/mysql/my.cnf
的配置文件,将port修改为9001;
vi etc/mysql/my.cnf
上面的两种方法都可以使用(自己按照喜好自选)
- 启动禅道服务
/opt/zbox/zbox start
或
./zbox start
(可以通过 /opt/zbox/zbox stop
命令终止服务,也可通过 /opt/zbox/zbox restart
命令重启以上服务)
ok!启动成功!
你以为这就结束了吗?no,单纯的少年!继续看下去!
- 配置iptables规则,允许端口访问,这样才可以访问:
iptables -A INPUT -p tcp --dport 9000 -j ACCEPT
iptables -A INPUT -p tcp --dport 9001 -j ACCEPT
- 重启iptables,使上述规则生效:
service iptables save
service iptables restart
20200526-新增说明
此处可能会报错
「注」CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。service命令只保留下了极少部分使用,大部分命令都要改用systemctl使用(即service命令使用systemctl代替)。
失败!!什么鬼?
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
【解决方法】:用如下命令安装后,即可restart iptables service:
yum install iptables-services
- 设置禅道服务自动启动(保证每次服务器重启后禅道能够正常运行)
1)编辑 rc.local 文件
vim /etc/rc.local
在文件末尾添加禅道重启命令
/opt/zbox/zbox start
:wq
保存后退出
【注】:由于默认情况下rc.local文件无执行权限,故必须使用
chmod +x /etc/rc.local
修改为可执行权限
2)重启服务器后,使用ps命令查看禅道服务是否自动启动
ps aux | grep zbox
咦?报错了是不是
--defaults-file=/opt/zbox/etc/mysql/my.cnf --basedir=/opt/zbox/run/mysql --datadir=/opt/zbox/data/mysql --plugin-dir=/opt/zbox/run/lib/mysql/plugin --user=nobody --log-error=/opt/zbox/logs/mysql_error.log --pid-file=/opt/zbox/tmp/mysql/mysqld.pid --socket=/opt/zbox/tmp/mysql/mysql.sock --port=9001
解决办法
vi /etc/my.cnf
修改配置文件 - 修改pid-file路径:
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/lib/run/mysql/mysqld.pid
改成
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/lib/mysql/mysqld.pid
然后在运行:
(建立软链接:具体用法是:ln -s 源文件 目标文件。
当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间,文件都保持同步变化。)
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
- selinux要检查
还忘记了一步,一定要记得除了iptables还有selinux要检查!
首先要查看是否运行
/usr/sbin/sestatus -v
SELinux status: enabled就是开启的; disabled就是关闭
我们这里设置为永久关闭:
vim /etc/sysconfig/selinux
SELINUX=enforcing` 改为 `SELINUX=disabled
2)重启服务reboot
3)重启服务器后,使用ps命令查看禅道服务是否自动启动
ps aux | grep zbox
嗯?什么?
Start Apache fail. You can see the log /opt/zbox/logs/apache_error.log
什么鬼,竟然没有安装Apache!!!好吧,安上!
yum install httpd
重启服务器后,使用ps命令查看禅道服务是否自动启动
ps aux | grep zbox
成功!!!
打开浏览器,输入你的网址即可访问禅道
http://你的ip:9000/zentao/
okk!!!大功告成!
还有新手教程!?
管理员登录的默认账号和密码:admin;123456
禅道软件在Linux服务器上的部署已全部完成了!
批量修改用户密码:
UPDATE `zt_user` set password = 'e10adc3949ba59abbe56e057f20f883e';
蝉道没有批量重置所有用户密码的功能,一定需要的话可以到数据库直接修改 zt_user表,把password的值改成 e10adc3949ba59abbe56e057f20f883e
登录密码就是123456
【知识小结】
- SELinux
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。它虽然很杰出,但是,在很多时候觉得他是多于的,比防火墙还难产。在自己玩的linux基本上是把这个关掉的,不然,对于各种服务器可能会出现一些莫名其妙的权限访问错误。开启的时候我们还需要看它的模式(Current mode),它有三种模式
enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type了;
permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取。
disabled:关闭,SELinux 并没有实际运作。
要关闭它分为两种:临时和永久(一般都是永久关闭,实在是没啥用)
enforcing 和 permissive 模式可以通过 setenforce 1|0 命令快速切换。
临时关闭:
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
永久关闭:
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled
- Iptables
Iptables 是用来设置、维护和检查Linux内核的IP包过滤规则的。防火墙在做数据包过滤决定时,有一套遵循和组成的规则,这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链(chain)中。而netfilter/iptables IP 数据包过滤系统是一款功能强大的工具,可用于添加、编辑和移除规则。
查看iptables规则的话,就用iptables -L
这个命令
关闭,可以有两种命令
一种是敲击 /etc/init.d/iptables stop
另一种是 services iptables stop
chkconfig iptables off
(设置自动启动为关闭)
chkconfig iptables on
(设置自动启动为启动)
chkconfig --del iptables
(移除开启自启动)
chkconfig --add iptables
(增加开启自启动)
如果你也是技术宅,来关注我吧,我们一起努力进步!!!
你觉得写的不错、对你有用,那就给点支持吧!!!