在Linux 上架設Mantis Web Server with CentOS7, Nginx
選用原因:在靜態網站上的處理速度比Apache 快速
步驟包含下載Nginx 1.20.1、PHP 8.1、Mantis 2.25.2
在Linux 上架設網站跟Windows 比起來真的非常麻煩,發生錯誤要很仔細的去找出問題點,有時候Log 訊息根本無法查出問題點,爬了一整天的文才找到解法,真的是累累累
先查一下Mantis 的系統需求
接著先安裝nginx
yum install -y epel-release
yum install -y nginx
systemctl enable nginx
systemctl start nginx
systemctl status nginx
確定啟動nginx 之後可以用瀏覽器輸入這台Linux 的IP,確認Web Server 作動正常
接著去Mantis 官網找到最新版本的下載URL
// wget
// -O 指定儲存位置
wget -https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.2/mantisbt-2.25.2.tar.gz/download -O /home/xxx/downloads/mantisbt-2.25.2.tar.gz
下載的時候如果遇到憑證問題,則需要安裝 CA-Certificates
yum install -y ca-certificates
解壓縮
// -C 指定目錄
// x 解壓縮,v 輸入解壓過程,f 要解壓縮的檔案
// 創立並解壓縮到以下路徑(這邊是nginx 的網站目錄):/usr/share/nginx/html/mantis/
tar -C /usr/share/nginx/html/mantis/ -xvf /home/xxx/downloads/mantisbt-2.25.2.tar.gz
安裝PHP
// 先安裝 yum-utils 工具
yum install -y yum-utils
// 安裝 remi 套件庫
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
// 啟用PHP 8 stream
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php81
// update
yum update
// 安裝 PHP
yum install php
// 檢查是否安裝完成
php -v
安裝PHP-FPM 以及PHP-pgsql (因為使用PostgreSQL)
yum install php-fpm php-pgsql
// 參考https://blog.gtwang.org/linux/linode-centos-7-nginx-mysql-mariadb-php-7-installation-notes/
// 修改設定並測試 phpinfo 頁面
nginx、PHP都測試完成之後,輸入以下指令
// 設定SELinux 安全性,使網頁可以存取資料庫
// 就是這個問題超難找,各種測試資料庫連線都沒問題
// 也試過在Linux 下: php -a ,寫程式碼測試也會通,但是Linux 上架的網站就是連不到
setsebool httpd_can_network_connect_db 1
之後就可以用 http://IP/mantis/admin/install.php 進行設定並使用Mantis 了
如果有遇到相關權限問題,則需要再設定資料夾權限等等的
// 後記
要新增說明的時候發生錯誤,依照以下連結
http://it.givemepower.net/%E9%8C%AF%E8%AA%A4%E8%A8%8A%E6%81%AF%EF%BC%9Aerror-during-session-start/
把 /var/lib/php/session 也設定chown 成nginx 就可以了
References:
https://segmentfault.com/a/1190000018109309
https://www.mengclaw.com/2018/06/02/166/
http://www.vixual.net/blog/archives/127
https://www.yundongfang.com/Yun39574.html
https://www.astralweb.com.tw/what-is-differences-between-fastcgi-php-fpm/
https://blog.gtwang.org/linux/linode-centos-7-nginx-mysql-mariadb-php-7-installation-notes/
https://blog.tonycube.com/2018/08/vps-centos-7-nginx-php-fpm-mariadb-7-webserver.html
https://www.linuxhelp.com/how-to-install-mantis-bug-tracker-on-centos-7-using-nginx-mariadb-and-php-7