【Linux】在Linux 上架設Mantis Web Server with CentOS7, Nginx

在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

https://blog.csdn.net/zhezhebie/article/details/75338371