jira類(lèi)比工具
一 安裝
系統(tǒng):Centos6.9
Apache:2.4.41
php:7.2
禪道:ZenTaoPMS.11.5.1.zip
相關(guān)安裝包下載:
鏈接:https://pan.baidu.com/s/1mvzO-GlzGNAULp_vBU76qQ
提取碼:cp2a
采取LAMP編譯方式安裝禪道
Apache編譯安裝
1 編譯安裝apr:
./configure --prefix=/usr/local/apr
make && make install
2 編譯安裝apr-util:
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
3 編譯安裝pcre:
./configure --prefix=/usr/local/pcre
make && make install
4 安裝gcc-c++庫(kù):
yum -y install gcc-c++
5 安裝libtool庫(kù):
yum -y install libtool
ps:若在編譯過(guò)程中出錯(cuò),可執(zhí)行make clean重新進(jìn)行./configure
6 編譯安裝https
./configure --prefix=/usr/local/apache --with-ar=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make && make install
7 配置service自啟動(dòng),將啟動(dòng)腳本放在/etc/init.d/下面,就可以service httpd start 啟動(dòng)了,腳本參考最后
php編譯安裝
1 安裝依賴(lài)包
tar jxf libmcrypt-2.5.8.tar.bz2
./configure --prefix=/usr/local/libmcrypt
make && make install
2 依據(jù)所需要安裝php的功能,選擇不同的依賴(lài),將需要的擴(kuò)展庫(kù)安裝
yum -y install libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-dev freetype freetype-devle zlib zlib-devel glibc glibc-devel glib2 glib2-devel
yum install -y libxml2-devel libcurl-devel libpng-devel freetype-devel
3 配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-mysqli --with-pdo-mysql --enable-mbstring --with-zlib --enable-sockets --with-curl --with-pcre-regex --with-mcrypt=/usr/local/libmcrypt --with-gd --with-png-dir --enable-gd-native-ttf --enable-opcache
————————————
———————————--
--with-apxs2=/usr/local/apache/bin/apxs -建立于apache的關(guān)系
4 編譯安裝php7
make && make install
————————————
如果make報(bào)錯(cuò):
make ZEND_EXTRA_LIBS='-liconv'
make install
安裝后, 編輯apache配置文件
vi /usr/local/apache/conf/httpd.conf可以看到
LoadModule php7_module modules/libphp7.so
php自動(dòng)成為apache的模塊
將以下內(nèi)容加入到配置文件中(模塊后即可), apache將.php結(jié)尾的文件交由PHP處理
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
復(fù)制php配置文件,并編輯保存
cd /root/package/php-7.2.26
cp php.ini-development /usr/local/php/lib/php.ini 并根據(jù)需要編輯配置文件
重啟apache service httpd restart
測(cè)試 vi /usr/local/apache/htdocs/phpinfo.php
<?php
phpinfo();
如果能正常訪問(wèn)說(shuō)明配置成功
mysql數(shù)據(jù)庫(kù)
mysql安裝不再贅述,可參考之前的zabbix安裝中【http://www.itdecent.cn/p/5350b067bb54】
需要?jiǎng)?chuàng)建zentao數(shù)據(jù)庫(kù)即可
禪道安裝
參考官網(wǎng):
https://www.zentao.net/book/zentaopmshelp/101.html
1 將安裝包解壓到apache部署目錄/usr/local/apache/htdocs/下
[root@VM_0_211_centos htdocs]# ll /usr/local/apache/htdocs/
total 4
drwxrwsr-x 11 apache apache 4096 Jun 25 2019 zentaopms
2.重啟apache后,通過(guò)瀏覽器訪問(wèn)http://ip:端口/zentaopms/www/index.php,系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)入安裝程序
剩下參考官網(wǎng)安裝即可
3 遇到的問(wèn)題
1>

vim /usr/local/php/lib/php.ini
##取消下一行注釋
session.save_path = "/tmp"
2>啟動(dòng)apache報(bào)錯(cuò)
解決apache啟動(dòng)錯(cuò)誤"httpd:Could not reliably determine..."
編輯httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80即可
二 使用
簡(jiǎn)化訪問(wèn)地址
感覺(jué)訪問(wèn)http://ip:端口/zentaopms/www/index.php 有些繁瑣
修改為:訪問(wèn)http://ip:端口/index.php
修改apache配置文件的根目錄即可
# vim /usr/local/apache/conf/httpd.conf
DocumentRoot "/usr/local/apache/htdocs/zentaopms/www"
<Directory "/usr/local/apache/htdocs/zentaopms/www">
禪道配置連接svn
參考:https://www.zentao.net/book/zentaopmshelp/137.html
原理:禪道機(jī)器上安裝svn客戶(hù)端,通過(guò)svn log來(lái)獲得所有的提交記錄,然后分析,得出相應(yīng)的id,寫(xiě)入數(shù)據(jù)庫(kù)
所以禪道所在機(jī)器必須和svn機(jī)器是互通的
1 禪道所在機(jī)器上安裝svn命令
# yum -y install subversion
2 配置svn模塊,地址用戶(hù)名密碼等
cd /usr/local/apache/htdocs/zentaopms/module/svn/
$config->svn->repos[$i]['path'] = 'https://192.168.100.200/svn/Test';
$config->svn->repos[$i]['encoding'] = 'utf-8';
$config->svn->repos[$i]['username'] = 'test';
$config->svn->repos[$i]['password'] = '123456';
3 代碼提交注釋
提交svn時(shí)添加注釋如:bug#005
4 執(zhí)行svn同步
cd /usr/local/apache/htdocs/zentaopms/bin
sh init.sh
.......
輸入php地址:/usr/local/php/bin/php
.......
輸入禪道的訪問(wèn)路徑:注意此地輸入的實(shí)際域名填寫(xiě)
執(zhí)行完init.sh就會(huì)出出現(xiàn)syncsvn.sh
執(zhí)行syncsvn.sh
[root@zabbix bin]# sh syncsvn.sh
2019-12-27 09:43:31 begin repo 1
2019-12-27 09:43:32 start from revision 0
2019-12-27 09:43:32 get 18 logs
2019-12-27 09:43:32 begin parsing logs
2019-12-27 09:43:32 parsing log 1
2019-12-27 09:43:32 comment is
...................................
......................................
----------
bug#005
----------
2019-12-27 09:43:32 extractstory: task: bug:005
2019-12-27 09:43:32 save revision 18
2019-12-27 09:43:32
出現(xiàn): task: bug:005 算是執(zhí)行成功

頁(yè)面會(huì)出現(xiàn)
問(wèn)題解決:
因?yàn)槲业膕vn時(shí)https不被認(rèn)證提示
svn: E230001: Server SSL certificate verification failed: certificate issued for a different hostname, issuer is not trusted
svn ls https://127.0.0.1:8888/svn/XXXXXXXX //這里是項(xiàng)目的svn地址
他會(huì)提示你輸入信息,這時(shí)輸入p,回車(chē)。
這個(gè)命令是讓忽略證書(shū),然后按提示走就行。
如果提示要輸入賬號(hào)密碼,那么輸入svn鏈接的賬號(hào)密碼即可
5 定時(shí)任務(wù)執(zhí)行 syncsvn.sh
crontab -l
*/3 * * * * /bin/bash /var/www/html/zentaopms/bin/syncsvn.sh > /dev/null 2>&1 &
6 修改為靜態(tài)網(wǎng)頁(yè)
https://www.zentao.net/book/zentaopmshelp/125.html
1>找到apache的配置文件,一般是在apache的目錄下面conf/httpd.conf。檢查下rewrite模塊是否加載。如果沒(méi)有加載,則將其打開(kāi)。然后重新啟動(dòng)apache服務(wù)器。
LoadModule rewrite_module modules/mod_rewrite.so。如果前面有#,將其去掉就可以了。
linux下面,根據(jù)實(shí)際的情況,來(lái)打開(kāi)rewrite。
檢查.htaccess文件的覆蓋選項(xiàng)
2> 打開(kāi)apache的配置文件,檢查 AllowOverride這樣的選項(xiàng),如果是 None的話,將其改為 All
3> 打開(kāi)config/my.php,將其中的 RequestType改成PATH_INFO就可以了
4> 重啟tomcat即可
7 其它使用規(guī)范
1> 產(chǎn)品線:對(duì)產(chǎn)品進(jìn)行一個(gè)簡(jiǎn)單的分類(lèi),沒(méi)有其他邏輯
所有人都只能維護(hù)一個(gè)產(chǎn)品線
2> 成為超級(jí)管理員
[https://www.zentao.net/book/zentaopmshelp/107.html?tdsourcetag=s_pctim_aiomsg](https://www.zentao.net/book/zentaopmshelp/107.html?tdsourcetag=s_pctim_aiomsg)
3> 任務(wù)完成和關(guān)閉區(qū)別
任務(wù)完成,默認(rèn)指派給任務(wù)的創(chuàng)建者,由創(chuàng)建者確認(rèn)。通過(guò)后,關(guān)閉下。
建議:開(kāi)發(fā)人員完成任務(wù),項(xiàng)目經(jīng)理審核后關(guān)閉任務(wù)
4> 員工負(fù)載表中的工作負(fù)載計(jì)算方法
員工負(fù)載表:負(fù)載是計(jì)算將來(lái)一段時(shí)間的壓力情況 工作負(fù)載= 總工時(shí) / (工作日天數(shù) * 每天工時(shí))
不足:計(jì)算的是未來(lái),不算今天,所以今天工作量會(huì)被計(jì)算到將來(lái)的負(fù)載中,負(fù)載會(huì)比正常工作量要大,比如1天8h完成,禪道計(jì)算時(shí)負(fù)載為116%,正常為1
5> 報(bào)表
自定義報(bào)表中,只有里邊列出的報(bào)表是可以自定義的嗎?比如統(tǒng)計(jì)——組織——任務(wù)完成匯總表就沒(méi)在自定義中,這個(gè)就沒(méi)法自定義。
完成匯總表,不是一個(gè)數(shù)據(jù)庫(kù)表,是通過(guò)程序?qū)崿F(xiàn)的
可以試試關(guān)聯(lián)下zt_task zt_effort zt_user表查下下呢?
admin登錄 后臺(tái) 二次開(kāi)發(fā) 數(shù)據(jù)庫(kù),有數(shù)據(jù)庫(kù)的介紹
6> 咨詢(xún)個(gè)問(wèn)題,我創(chuàng)建了一個(gè)項(xiàng)目,也把這個(gè)人添加到項(xiàng)目團(tuán)隊(duì)管理中了,但是他是看不到這個(gè)項(xiàng)目的,而分配任務(wù)了以后就可以看到項(xiàng)目?這個(gè)就是設(shè)置的嗎
一個(gè)項(xiàng)目,A成員加入了團(tuán)隊(duì)中,無(wú)論有沒(méi)有任務(wù),都可以訪問(wèn)到該項(xiàng)目的
7> 產(chǎn)品使用
需求的模板: 作為一名< 某種類(lèi)型的用戶(hù) >,我希望< 達(dá)成某些目的 >,這樣可以< 開(kāi)發(fā)的價(jià)值 >
產(chǎn)品權(quán)限:關(guān)聯(lián)了項(xiàng)目,那項(xiàng)目里所有人都可以看到這個(gè)產(chǎn)品,還有項(xiàng)目負(fù)責(zé)人等
創(chuàng)建產(chǎn)品——?jiǎng)?chuàng)建需求——?jiǎng)?chuàng)建項(xiàng)目——關(guān)聯(lián)需求——分配任務(wù)
需求的生命周期:
(1). 如果需求沒(méi)有關(guān)聯(lián)到項(xiàng)目,也沒(méi)有關(guān)聯(lián)到計(jì)劃,則需求的研發(fā)階段是"未開(kāi)始"。
(2). 如果需求關(guān)聯(lián)到了計(jì)劃,還沒(méi)有關(guān)聯(lián)到項(xiàng)目中,則需求的研發(fā)階段是"已計(jì)劃"。
(3). 如果需求關(guān)聯(lián)到了項(xiàng)目中,但還沒(méi)有分解任務(wù),則需求的研發(fā)階段是"已立項(xiàng)"。
(4). 如果需求關(guān)聯(lián)到了項(xiàng)目中,且進(jìn)行了任務(wù)分解:
如果有一個(gè)開(kāi)發(fā)任務(wù)進(jìn)行中,并且所有的測(cè)試任務(wù)還沒(méi)有開(kāi)始,需求的研發(fā)階段為“研發(fā)中”。
如果所有的開(kāi)發(fā)任務(wù)已經(jīng)完成,并且所有的測(cè)試任務(wù)還沒(méi)有開(kāi)始,則為“研發(fā)完畢”。
如果有一個(gè)測(cè)試任務(wù)進(jìn)行中,則視為“測(cè)試中”。
如果所有的測(cè)試任務(wù)已經(jīng)結(jié)束,但還有一些開(kāi)發(fā)任務(wù)沒(méi)有結(jié)束,則視為"測(cè)試中"。
如果所有的測(cè)試任務(wù)已經(jīng)結(jié)束,并且所有的開(kāi)發(fā)任務(wù)已經(jīng)結(jié)束,則視為"測(cè)試完畢"。
(5). "驗(yàn)收"階段是需要產(chǎn)品經(jīng)理手工來(lái)進(jìn)行確認(rèn)的。
(6). 產(chǎn)品→發(fā)布中關(guān)聯(lián)的需求后,需求的研發(fā)階段是“已發(fā)布”。
需告知項(xiàng)目經(jīng)理 8 項(xiàng)目中團(tuán)隊(duì)成員受限設(shè)置,受限代表只能看到自己的任務(wù),不受限可以看到整個(gè)項(xiàng)目下所有人的任務(wù),看看是否需要改
9> 工作量統(tǒng)計(jì)
組織:統(tǒng)計(jì)表得出
報(bào)表導(dǎo)出計(jì)算的是實(shí)際用時(shí),小時(shí),按照一天8h
8/8=1*350=350 可以自行開(kāi)發(fā)結(jié)合數(shù)據(jù)庫(kù),得找人看預(yù)計(jì)時(shí)間和消耗時(shí)間
10> 查看項(xiàng)目投入總時(shí)間
項(xiàng)目:項(xiàng)目投入統(tǒng)計(jì)表——可以看到一個(gè)項(xiàng)目的總耗時(shí),多個(gè)任務(wù)消耗總工時(shí)計(jì)算
需告知項(xiàng)目經(jīng)理13 長(zhǎng)期項(xiàng)目
建議:計(jì)劃時(shí)間寫(xiě)的長(zhǎng),但是預(yù)計(jì)時(shí)間不要寫(xiě),否則員工負(fù)載會(huì)非常高
11> 權(quán)限,何讓別人只看到自己的項(xiàng)目?
(1) 項(xiàng)目:不能選擇公開(kāi),有限用戶(hù)(只看到指派自己的,看不到別人的)
(2) 用戶(hù)的全局權(quán)限
創(chuàng)建項(xiàng)目——項(xiàng)目團(tuán)隊(duì)成員可見(jiàn)——如果某個(gè)團(tuán)隊(duì)成員設(shè)置為該項(xiàng)目的受限用戶(hù),那么該團(tuán)隊(duì)成員只能編輯該項(xiàng)目里與自己相關(guān)的任務(wù)、需求、bug等。
12>專(zhuān)業(yè)版新功能
甘特圖|代碼庫(kù)瀏覽|日歷功能|短信通知|統(tǒng)計(jì)報(bào)表,手機(jī)app很難用
13> 日歷不可共享,組織-用戶(hù),點(diǎn)擊真實(shí)姓名。如果不能滿(mǎn)足的話,目前沒(méi)有其他類(lèi)似的功能了
只能看日志查看已經(jīng)記錄的工作內(nèi)容,不能看到未來(lái)誰(shuí)的工作內(nèi)容,可以通過(guò)員工負(fù)載表查看未來(lái)一段時(shí)間某個(gè)員工的壓力情況
14> 通知
禪道提醒郵件默認(rèn)通知范圍(禪道9.8+版本,可以在后臺(tái)-消息-設(shè)置中設(shè)置哪些動(dòng)作需要發(fā)信):
(1)、Bug:指派給+抄送 添加,編輯,指派,確認(rèn)BUG,解決,激活,關(guān)閉,導(dǎo)入到項(xiàng)目。
(2)、需求:指派給+抄送 添加,編輯,變更,激活,評(píng)審,關(guān)閉,更改計(jì)劃,更改分支,更改階段,指派。
(3)、任務(wù):指派給+抄送 添加,編輯,指派,開(kāi)始,完成,激活,關(guān)閉,取消,重啟。
(4)、測(cè)試單:負(fù)責(zé)人+抄送 創(chuàng)建,編輯。
(5)、需求關(guān)聯(lián)到項(xiàng)目后需求變動(dòng)會(huì)給所有項(xiàng)目成員發(fā)郵件。
(6)、項(xiàng)目版本提交測(cè)試給測(cè)試負(fù)責(zé)人發(fā)郵件。
email:[http://www.zentao.net/book/zentaopmshelp/96.html](http://www.zentao.net/book/zentaopmshelp/96.html)
[http://www.zentao.net/book/zentaopmshelp/webhook-288.html](http://www.zentao.net/book/zentaopmshelp/webhook-288.html)
15 >任務(wù)完成匯總表
任務(wù)完成匯總表不能通過(guò)權(quán)限控制導(dǎo)出某些部分;可以導(dǎo)出后,excel中過(guò)濾下
導(dǎo)出報(bào)表中沒(méi)有父項(xiàng)目,只有子項(xiàng)目
統(tǒng)計(jì)報(bào)表有權(quán)限問(wèn)題,只要有了權(quán)限所有人項(xiàng)目都能看到
16 >備份
參考:[https://www.zentao.net/book/zentaopmshelp/42.html?tdsourcetag=s_pctim_aiomsg](https://www.zentao.net/book/zentaopmshelp/42.html?tdsourcetag=s_pctim_aiomsg)
目前設(shè)置備份每天備份附件和數(shù)據(jù)庫(kù)到cos上 /data/mysql_bak目錄下 mysql保留一個(gè)月
默認(rèn)有備份保留14天 目錄 /usr/local/apache/htdocs/zentaopms/tmp/backup
后期如果存儲(chǔ)不夠,可以將默認(rèn)備份刪除,后臺(tái)-數(shù)據(jù)—設(shè)置
17> log查看
zentao/config/my.php 中debug的值改成true 重新操作一下 看日志文件 zentao/tmp/log/php開(kāi)頭的今天的文件有什么報(bào)錯(cuò)。注:不要找sql開(kāi)頭的文件。
18> 通知
郵件通知
(1)需要將每個(gè)人的郵箱補(bǔ)全
(2)具體發(fā)送通知的內(nèi)容在后臺(tái)-通知-設(shè)置
(3)異步配置默認(rèn)5min,在后臺(tái)-系統(tǒng)-定時(shí)中,如果郵件配置為異步無(wú)法發(fā)送重發(fā)就可發(fā)送郵件說(shuō)明不是smtp設(shè)置問(wèn)題,執(zhí)行如下操作:“后臺(tái)-系統(tǒng)-定時(shí) 關(guān)閉 =》重啟apache服務(wù) =》 開(kāi)啟 后臺(tái)-系統(tǒng)-定時(shí)”即可正常發(fā)送郵件
(4)查看郵件發(fā)送情況:后臺(tái)-通知-email發(fā)信 選擇 異步 然后重新觸發(fā)一下發(fā)信動(dòng)作,5分鐘后看 后臺(tái)-發(fā)信-郵件列表中是否有記錄和結(jié)果
瀏覽器通知
三 升級(jí)到專(zhuān)業(yè)版
找禪道工作人員要安裝包和試用license
- 備份(重要)
備份zentaopms目錄
備份數(shù)據(jù)庫(kù) - 解壓ZenTaoPMS.pro8.7.update87.php7.2.zip,里面有升級(jí)說(shuō)明
cd /usr/local/apache/htdocs
unzip -o ZenTaoPMS.pro8.7.update87.php7.2.zip ##注意是解壓覆蓋,不是刪除再解壓
- 將授權(quán)文件 zentao_pro_license_jiufang.zip 解壓,最里面的2個(gè)文件, 放到web目錄zentao/config/license/目錄下
unzip zentao_pro_license_jiufang.zip
cp -r bizext/config/license/ zentaopms/config/
[root@zabbix htdocs]# ll zentaopms/config/license/
total 8
-rw-r--r-- 1 root root 778 Feb 12 11:33 bizext.txt
-rw-r--r-- 1 root root 2758 Feb 12 11:33 callback.php
4 打開(kāi)網(wǎng)頁(yè)
啟動(dòng)apache
/usr/local/apache/bin
./apachectl start
訪問(wèn)http://192.168.1.201/upgrade.php

按照提示創(chuàng)建ok.txt
出現(xiàn)

之后參考:
https://www.zentao.net/book/zentaopmshelp/300.html?tdsourcetag=s_pctim_aiomsg
下載
wget http://www.ioncube.com/loader-wizard/loader-wizard.zip
wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

解壓后訪問(wèn)
http://192.168.1.201/ioncube/loader-wizard.php


根據(jù)提示操作:
[root@VM_0_211_centos ioncube]# cp ioncube_loader_lin_7.2_ts.so /usr/local/php/lib/php/extensions/no-debug-zts-20170718
[root@VM_0_211_centos ioncube]# pwd
/usr/local/apache/htdocs/zentaopms/www/ioncube
vim /usr/local/php/lib/php.ini 在第一行添加
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20170718/ioncube_loader_lin_7.2_ts.so
[PHP]

修改完后重啟httpd服務(wù)
重新刷新http://192.168.1.201/upgrade.php




php安裝lib擴(kuò)展
禪道查看log報(bào)錯(cuò)

判斷是php缺少zip擴(kuò)展包
影響:導(dǎo)入導(dǎo)出 備份這塊 “可能” 有 “隱藏” 影響
判斷php是否安裝擴(kuò)展包:
1 php -m|grep zip
2 在zentaopms/www/目錄下創(chuàng)建test.php文件,輸出phpinfo()確認(rèn)
<?php
echo phpinfo();
?>
安裝phpzip擴(kuò)展包
1 安裝zip包
wget http://pecl.php.net/get/zip-1.15.3.tgz
tar -zxvf zip-1.15.3.tgz
cd zip-1.15.3
find / -name php-config
./configure --with-php-config=/usr/local/php/bin/php-config
此時(shí)會(huì)報(bào)錯(cuò):
報(bào)錯(cuò):configure: error: Please reinstall the libzip distribution
找不到libzip包
2 安裝libzip包,libzip需要安裝cmake
yum install -y cmake
yum remove libzip
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0.tar.gz
mkdir build && cd build && /usr/local/bin/cmake .. && make && make install
3 再次安裝zip包,回到1的步驟
報(bào)錯(cuò):
fatal error: zipconf.h: No such file or directory
解決:
find /usr/local -iname 'zipconf.h'
ln -s /usr/local/lib/libzip/include/zipconf.h /usr/local/include
再執(zhí)行,還報(bào)錯(cuò)
報(bào)錯(cuò):
/root/package/zip-1.15.3/php7/php_zip.c:3312: error: ‘LIBZIP_VERSION’ undeclared (first use in this function)
make: *** [php7/php_zip.lo] Error 1
4 上面的報(bào)錯(cuò)表示無(wú)法識(shí)別到libzip,再次回去安裝libzip,回到2
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make
make install
5 反復(fù)了好幾回,make和make install才不報(bào)錯(cuò),成功安裝
[root@VM_0_211_centos zip-1.15.3]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20170718/
6 最后修改php.ini
find / -name php.ini
vim /usr/local/php/lib/php.ini
extension= /usr/local/php/lib/php/extensions/no-debug-zts-20170718/zip.so
7 重啟apache即可生效
8 打開(kāi) http://域名/test.php后

四 專(zhuān)業(yè)版回退到開(kāi)源版
試用了一個(gè)月開(kāi)源版后發(fā)現(xiàn)不需要使用所有專(zhuān)業(yè)版功能,僅僅使用統(tǒng)計(jì)功能和日志功能即可,所以打斷買(mǎi)插件(插件一次性購(gòu)買(mǎi)終身使用,不限制人數(shù),會(huì)更實(shí)惠一些)
1 備份
備份/usr/local/apache/htdocs/zentaopms
備份數(shù)據(jù)庫(kù)
2 回退到開(kāi)源版
pro8.7 對(duì)應(yīng)的版本是 12.0
以linux一鍵安裝包為例:
1>、下載12.0源碼包:http://dl.cnezsoft.com/zentao/12.0/ZenTaoPMS.12.0.stable.zip
2>、找到禪道的文件,xampp/zentao,把zentao這個(gè)文件夾改名zentaopro87;
3>、把剛剛下載的12.0源碼包解壓得到zentaopms文件夾,把zentaopms改名zentao后拷貝到xampp/文件夾下
4>、把zentaopro87/config/my.php 拷貝到zentao/config/下面;
5>、把zentaopro87/www/data/upload整個(gè)文件夾拷貝到zentao/www/data/下面;
6>、把zentaopro87/www/下面的 .ztaccess .htaccess 拷給到zentao/www/下面;
7>、把xampp/zentao/www/ 下面的 install.php upgrade.php 刪除
8>、登錄數(shù)據(jù)庫(kù) zt_config 表 把版本號(hào)改成 12.0。
此時(shí)代碼已經(jīng)還原到12.0版本,但是數(shù)據(jù)庫(kù)保留pro8.7版本,可以正常使用。
9> chmod -R 777 /usr/local/apache/htdocs/zentaopms/www/data/ 否則創(chuàng)建任務(wù)寫(xiě)不進(jìn)去
3 安裝插件
首先在官網(wǎng)將插件包下載下來(lái)
https://www.zentao.net/extension-viewExt-30.html
后臺(tái)-插件-本地安裝即可

4 遇到的問(wèn)題
1>安裝統(tǒng)計(jì)插件后發(fā)現(xiàn)只有專(zhuān)業(yè)版的部分報(bào)表并且沒(méi)有導(dǎo)出按鈕
解決:因?yàn)橹恍枰蝿?wù)完成匯總表,所以直接頁(yè)面粘貼后到excel表實(shí)現(xiàn)
2>只安裝統(tǒng)計(jì)插件,專(zhuān)業(yè)版試用到期回退到開(kāi)源版,之前記錄的任務(wù)日志看不到了?
解決:專(zhuān)業(yè)版是日志功能,開(kāi)源版本是工時(shí)。兩個(gè)功能,保存的是兩個(gè)數(shù)據(jù)庫(kù)表,目前日志功能中的數(shù)據(jù)不能導(dǎo)入到工時(shí)表的(兩個(gè)完全獨(dú)立的功能)。
專(zhuān)業(yè)版日志功能和開(kāi)源版本工時(shí),不是存放在一個(gè)數(shù)據(jù)庫(kù)表中的。專(zhuān)業(yè)版日志記錄在:zt_effort表,日志插件和專(zhuān)業(yè)版是一個(gè)表zt_effort表,后續(xù)又安裝了日志插件,日志插件也很好用。
3>附件看不到
附件的文件名信息存儲(chǔ)在zt_file數(shù)據(jù)庫(kù)表中,物理文件在zentao/www/data/upload/1/目錄下
如果無(wú)法找到附件,檢查這個(gè)目錄是否copy過(guò)來(lái)
參考:
https://blog.csdn.net/liuyeluoqing/article/details/81697954
https://blog.csdn.net/qq_38557974/article/details/80238397
禪道升級(jí)
1 備份
/usr/local/apache/htdocs
cp zentaopms /root/
備份數(shù)據(jù)庫(kù)
2 上傳更新包后覆蓋
unzip -o ZenTaoPMS.12.4.3.zip
3 http://192.168.1.201/upgrade.php 訪問(wèn)
4 按照步驟操作即可,檢查插件是否可用
httpd自啟動(dòng)腳本 service httpd start
#!/bin/sh
# Startup script for the Apache Web Server
# chkconfig: 345 85 15
# Description: Startup script for Apache webserver on Debian. Place in /etc/init.d and
# run 'update-rc.d -f httpd defaults', or use the appropriate command on your
# distro. For CentOS/Redhat run: 'chkconfig --add httpd'
### BEGIN INIT INFO
# Provides: httpd
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts Apache Web Server
# Description: starts Apache Web Server
### END INIT INFO
# Author: licess
# website: https://lnmp.org
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Apache control script designed to allow an easy command line interface
# to controlling Apache. Written by Marc Slemko, 1997/08/23
#
# The exit codes returned are:
# XXX this doc is no longer correct now that the interesting
# XXX functions are handled by httpd
# 0 - operation completed successfully
# 1 -
# 2 - usage error
# 3 - httpd could not be started
# 4 - httpd could not be stopped
# 5 - httpd could not be started during a restart
# 6 - httpd could not be restarted during a restart
# 7 - httpd could not be restarted during a graceful restart
# 8 - configuration syntax error
#
# When multiple arguments are given, only the error from the _last_
# one is reported. Run "apachectl help" for usage info
#
ARGV="$@"
#
# |||||||||||||||||||| START CONFIGURATION SECTION ||||||||||||||||||||
# -------------------- --------------------
#
# the path to your httpd binary, including options if necessary
HTTPD='/usr/local/apache/bin/httpd'
PID='/usr/local/apache/logs/httpd.pid'
#
# pick up any necessary environment variables
if test -f /usr/local/apache/bin/envvars; then
. /usr/local/apache/bin/envvars
fi
ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
# -------------------- --------------------
# |||||||||||||||||||| END CONFIGURATION SECTION ||||||||||||||||||||
# Set the maximum number of file descriptors allowed per child process.
if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
$ULIMIT_MAX_FILES
fi
ERROR=0
if [ "x$ARGV" = "x" ] ; then
ARGV="-h"
fi
case $ARGV in
start|stop|restart|graceful|graceful-stop)
echo -n "$ARGV apache... "
$HTTPD -k $ARGV
if [ "$?" != 0 ] ; then
echo " failed"
else
echo " done"
fi
;;
configtest)
echo -n "test apache configure... "
$HTTPD -t
if [ "$?" != 0 ] ; then
echo " failed"
else
echo " done"
fi
;;
status)
if [ -f "$PID" ]; then
echo "Apache is running."
else
echo "Apache is stopped."
fi
;;
*)
echo $"Usage: $0 {start|stop|restart|graceful|graceful-stop|configtest|status}"
;;
esac
禪道遷移
1 需要新建LAMP環(huán)境,下載相應(yīng)的包,按照安裝文檔新建即可
2 搭建完畢直接將/usr/local/apache/htdocs/zentaopms 拷貝過(guò)去,直接訪問(wèn)提示

需要重新安裝https://www.zentao.net/book/zentaopmshelp/300.html
注意將loader-wizard.zip這個(gè)包放到/usr/local/apache/htdocs/zentaopms/www
因?yàn)閍pache根目錄設(shè)置的是
DocumentRoot "/usr/local/apache/htdocs/zentaopms/www"
<Directory "/usr/local/apache/htdocs/zentaopms/www">
這樣http://192.168.1.201/ioncube/loader-wizard.php
loader-wizard.zip解壓后可直接訪問(wèn),根據(jù)提示安裝即可
[root@VM_0_211_centos ioncube]# cp ioncube_loader_lin_7.2_ts.so /usr/local/php/lib/php/extensions/no-debug-zts-20170718
[root@VM_0_211_centos ioncube]# pwd
/usr/local/apache/htdocs/zentaopms/www/ioncube
vim /usr/local/php/lib/php.ini 在第一行添加
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20170718/ioncube_loader_lin_7.2_ts.so
[PHP]
再次刷新就可以正常登陸了
3 官網(wǎng)提示這邊安裝的收費(fèi)的插件,需要重新授權(quán),我這邊直接copy進(jìn)去沒(méi)有進(jìn)行這一步,這個(gè)后續(xù)需要查看會(huì)不會(huì)有其他問(wèn)題