Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑


  • 本篇博客將分享本人在使用禪道是遇到的很多問題希望對大家有所幫助
  • 有些問題只是發現了但現在的能力沒辦法解決希望大佬能提提意見給點幫助

參考文獻:
http://www.zentao.net/



注:官網上也可直接下載,在官網上有四個連接,國際版的大家可以隨意,個人覺還是本土的好用,但在站點一和站點二兩個路徑下載的zentao包安裝上在初次使用和文件上傳中還是有點差別的,站點一在上傳帶有大附件的東西是,我們看不到是否點擊成功,但站點二的可以直觀的看到,所以推薦下載站點二的:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

這裏我們直接安裝最新版的禪道10.0版本的,此版本中僅僅優化了圖形界面,還填補了許多以前版本的bug

首先我們需要安裝lrzsz:

yum -y install lrzsz

把我們準備好的按轉包導入/usr/local/src中

解壓文件:

tar zxf /usr/local/src/ZenTaoPMS.10.0.stable.zbox_64.tar.gz.tgz -C /opt/
  • 注:這裏我安裝的是Linux一鍵安裝包官方給出的方法就是直接解壓到/opt/目錄下直接啓動就行,若解壓到其他目錄下可能目錄權限可能出現問題,直接給777權限都不行,所以我們還是別整那些幺蛾子,自己找官方的指示進行即可,若是有目錄規定強行要求可以參考官網其他安裝方法

解壓到此目錄下我們就可以直接啓動禪道了

  • 下面是禪道的基本操作命令
    啓動禪道:
    sh /opt/zbox/zbox start

    關閉禪道:

    sh /opt/zbox/zbox stop

    重啓禪道:

    sh /opt/zbox/zbox restart

    修改默認Apache端口:

    sh /opt/zbox/zbox -ap [port]

    修改默認mysql端口:

    sh /opt/zbox/zbox -mp [port]

注:一鍵安裝包是把http和mysql都集成到zentao安裝中的(默認http端口是80,mysql是3306,肯能會有端口衝突所以建議修改默認端口),所以不用我們額外安裝,若不想使用自帶的mysql數據庫,可以選擇其他的安裝方式
首先我們修改Apache port和mysql port:

sh /opt/zbox/zbox -ap 9090
sh /opt/zbox/zbox -mp 3307

啓動zentao:

sh /opt/zbox/zbox start

如下:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

顯示success表示我們成功了,但是真正成功我們得抓端口監聽:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
這是表示我們已經成功了,我們可以通過訪問web來查看了:

若修改了Apache端口的訪問:

http://ip:[Apache port]

若沒修改直接訪問IP即可(web默認即爲80):

http://ip

訪問成功如下:(點擊開源版我們就可以開啓禪道之旅了)
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

進入後我們可以設置語言環境:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
當然默認中文就好使了,這時候有人就會有疑問了,怎麼還需要登錄用戶和密碼呢,我沒創建過啊,是不是我點錯了啊,不小心創建了,或者省略了哪一步啊,既然你看到了這邊文檔那我告訴你,這都不叫事,在禪道10.0版本後爲了加強安全性,在首次登錄我們需要初始密碼,當然網上也可以看到,但是好多都是瞎扯的,正確的用戶名和麪是:

user:admin
password:123456

登錄後系統會讓我們修改密碼的
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
原密碼就是我們初始密碼:123456

這時候我們安裝部署就到此結束了可以使用了,下面要說的就是排坑及一些擴展性的東西


啓動禪道時報錯:
首先我們需要查看mysql和Apache日誌信息有是否有報錯
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
如果有報錯,根據報錯進行排查,但一般啓動失敗有一下幾個問題:

  • 啓動的用戶權限不夠,要麼使用root,要麼sudo(個人建議)
  • 查看是否Apache和MySQL端口被佔用
  • tar包解壓的位置有問題,沒有放在/opt目錄下

禪道啓動後errror_log中有大量error信息
如:

[Tue Aug 02 10:07:44.338117 2017] [mpm_event:alert] [pid 746:tid 2913958720] (11)Resource temporarily unavailable: apr_thread_create: unable to create worker thread
[Tue Aug 02 10:07:44.342509 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342585 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342590 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342593 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342598 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342604 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342609 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342613 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342616 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342620 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed
[Tue Aug 02 10:07:44.342623 2017] [mpm_event:crit] [pid 746:tid 2901408576] (22)Invalid argument: ap_queue_pop failed

解決思路方向:

  • 一般這種情況爲服務器部署的防護腳本或者資源限制,服務器拒絕了禪道對資源進行申請

禪道數據庫問題

  • 禪道啓動後本地mysql數據庫掛了
  • 禪道啓動時數據庫啓動報錯
  • 禪道啓動後mysql有端口監聽但沒有進程ID(這種情況一般在docker容器裏面較爲常見)

解決思路方向:

  • 本地數據庫啓動的是3306端口,禪道一鍵安裝包啓動的也是3306端口,所以啓動的時候出現端口衝突
  • 還有在執行sh /opt/zbox/zbox restart 顯示報錯:
    Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
    我們先執行:

    sh /opt/zbox/zbox stop
    在執行:
    sh /opt/zbox/zbox start
  • 禪道啓動時數據庫時報錯,若在沒有端口衝突的情況下還報錯,那麼可能是mysql庫的目錄權限不對,需要保證mysql的權限如下:
    Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

  • 在docker中部署禪道,啓動和日誌均沒有報錯,但是在抓端口監聽時發現Apache並沒有異常,但是mysql卻只有端口監聽並沒有端口監聽對應的進程ID,如:
    Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
    此圖中可以看出Apache是正常的,但mysql極端異常,但是去不影響禪道的正常使用,這個問題我查找了特別多資料都沒找到原因和解決辦法,若有人遇到相同的問題希望相互探討下

修改禪道默認附件上傳大小
默認在禪道附件上傳大小爲50M,大於50M時候就無法上傳

解決辦法:
修改php.ini文件

vim /opt/zbox/etc/php/php.ini

需要修改的地方:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
修改配置文件:

cd /opt/zbox/app/zentao/www/

修改兩個配置文件,這兩個配置文件是影藏的,查看方式:

ll -a /opt/zbox/app/zentao/www/

如下:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

兩個配置文件分別需要修改的地方:
.htaccess
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
.ztaccess
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

重啓禪道即可:

sh /opt/zbox/zbox restart

查看是否修改成功:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
此時附件已經顯示可以上傳500M

禪道附件已經修改了大小但依舊上傳失敗顯示網絡超時或者網絡錯誤
如下:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑

解決問題思路:
在解決問題的之前我們需要了解下Ajax,這個問題是由於網速導致Ajax默認30超時導致失敗
Ajax:

Ajax使用 JavaScript 向服務器提出請求並處理響應而不阻塞用戶!核心對象XMLHTTPRequest。通過這個對象,您的 JavaScript 可在不重載頁面的情況與 Web 服務器交換數據,即在不需要刷新頁面的情況下,就可以產生局部刷新的效果。
Ajax 在瀏覽器與 Web 服務器之間使用異步數據傳輸(HTTP 請求),這樣就可使網頁從服務器請求少量的信息

默認Ajax時間響應時間爲30S,當我們上上傳文件大小除以沒秒上傳的帶寬大於30的時候就會報錯連接超時,網絡連接失敗這種類型的錯誤
着需要我們修改Ajax的默認響應時間即可

使用nginx解析域名登錄禪道上傳附件有問題,但使用IP和port登錄上傳卻沒有問題

當我們上傳一兩兆附件的時候頁面都會顯示網絡錯誤,或者超時

解決辦法思路:
當出現這種情況是,我們程序裏的log是沒有error信息的,所以我們只能通過瀏覽器查看瀏覽器做出的動作(建議使用google,右擊查看或者按F12也行)如:
Linux部署禪道及默認端口修改和附件大小限制修改和使用過程各種排坑
在這裏面我們可以看到頁面返回信息是nginx的,並且信息爲too large
此時我們應該明白了問題出在那了,nginx上傳文件大小默認是1M,所以我麼只要修改下配置即可:
編輯nginx主配文件,在http{}字段添加一行配置:

client_max_body_size 100m;
  • 把上傳大小改成100M,但是實際情況還要根據網速來定,因爲Ajax默認時間爲30S
    修改後重新載入nginx即可:

    nginx -s reload
  • ok,整片博客到此結束,希望看完這篇博客後在玩禪道時候可以少走點彎路,如果遇到問題,或者文檔中有錯誤的地方歡迎一起探討交流,聯繫方式:
    QQ:1715721936

有志者事竟成,破釜沉舟,百二秦關終屬楚;
苦心人天不負,臥薪嚐膽,三千越甲可吞吳;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章