在開始安裝MantisBT之前,您需要確保您的Linux系統上已經安裝並配置好了LAMP堆疊(Linux、Apache、MySQL/MariaDB、PHP)。以下是詳細的步驟:
首先,更新系統的軟件包,以確保所有軟件都是最新的:
sudo apt update && sudo apt upgrade -y
使用以下命令安裝Apache:
sudo apt install apache2 -y
安裝完成後,啟動並設置Apache開機自啟:
sudo systemctl start apache2
sudo systemctl enable apache2
MantisBT需要一個數據庫來存儲數據。您可以選擇安裝MySQL或MariaDB。以下以MariaDB為例:
sudo apt install mariadb-server -y
安裝完成後,啟動並設置MariaDB開機自啟:
sudo systemctl start mariadb
sudo systemctl enable mariadb
接著,運行安全安裝腳本來強化數據庫的安全性:
sudo mysql_secure_installation
按照提示設置root密碼並移除匿名用戶、測試數據庫等。
MantisBT基於PHP,因此需要安裝PHP及其擴展。使用以下命令安裝所需的PHP版本和相關擴展:
sudo apt install php libapache2-mod-php php-mysql php-cli php-zip php-mbstring php-curl php-xml php-gd wget unzip -y
安裝完成後,檢查PHP版本:
php -v
同時,確保Apache已經正確加載PHP模塊:
sudo systemctl restart apache2
創建一個PHP測試文件以確保PHP和Apache正常運行:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
打開瀏覽器,訪問 http://your-server-ip/info.php。如果看到PHP信息頁面,則表示LAMP環境配置成功。
完成驗證後,為了安全起見,刪除測試文件:
sudo rm /var/www/html/info.php
接下來,從官方來源下載最新版本的MantisBT安裝包。您可以訪問MantisBT的官方網站或使用命令行工具如wget進行下載:
cd /tmp
wget https://sourceforge.net/projects/mantisbt/files/mantis-stable/2.25.7/mantisbt-2.25.7.tar.gz/download -O mantisbt-2.25.7.tar.gz
解壓文件
將下載的壓縮包解壓到Web根目錄:
sudo tar -xvzf mantisbt-2.25.7.tar.gz -C /var/www/html/
重命名目錄(可選)
為了便於訪問,可以將解壓後的目錄重命名為 mantis:
sudo mv /var/www/html/mantisbt-2.25.7 /var/www/html/mantis
設置文件權限
確保Web服務用戶對MantisBT目錄擁有正確的權限:
sudo chown -R www-data:www-data /var/www/html/mantis
sudo chmod -R 755 /var/www/html/mantis
這樣配置可以保證Apache能夠讀取和寫入必要的文件。
根據您的需求,您可以選擇繼續使用默認的Apache配置,或者配置虛擬主機以更靈活地管理多個網站。以下是配置Apache虛擬主機的步驟:
創建虛擬主機配置文件
使用文本編輯器創建一個新的Apache配置文件:
sudo nano /etc/apache2/sites-available/mantis.conf
在文件中添加以下內容:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/mantis
ServerName mantis.example.com
<Directory /var/www/html/mantis>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mantis_error.log
CustomLog ${APACHE_LOG_DIR}/mantis_access.log combined
</VirtualHost>
請將 mantis.example.com 替換為您的實際域名或服務器IP。
啟用虛擬主機並重新加載Apache
使用以下命令啟用新配置並重新加載Apache:
sudo a2ensite mantis.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
這樣,MantisBT應該已經配置在新的虛擬主機上,並可以通過指定的域名訪問。
在安裝過程中,您需要配置MantisBT與數據庫的連接。以下是具體步驟:
創建數據庫和用戶
登錄MariaDB並創建一個專用的數據庫和用戶:
sudo mysql -u root -p
在MariaDB提示符下,執行以下命令:
CREATE DATABASE mantisdb;
CREATE USER 'mantisuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantisuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
請將 'your_password' 替換為您選擇的強密碼。
啟動MantisBT安裝向導
打開瀏覽器,訪問 http://your-server-ip/mantis。這將啟動MantisBT的安裝向導。
按照向導的指示操作:
localhostmantisdbmantisuseryour_password安裝過程會生成一個配置文件 config_inc.php,您可能需要手動調整其設置以滿足特定需求。確保此文件的權限設置正確,以防止未授權的訪問:
sudo chown www-data:www-data /var/www/html/mantis/config_inc.php
sudo chmod 640 /var/www/html/mantis/config_inc.php
刪除安裝目錄以增強安全性
為了防止惡意用戶重新運行安裝過程,安裝完成後應刪除安裝目錄:
sudo rm -rf /var/www/html/mantis/admin/install.php
設置防火牆規則
配置防火牆,只允許所需的端口(HTTP:80,HTTPS:443):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
您可以使用以下命令檢查防火牆狀態:
sudo ufw status
配置HTTPS(可選,但推薦)
為了加強安全性,建議配置SSL證書以啟用HTTPS。可以使用Let’s Encrypt免費獲取SSL證書:
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d mantis.example.com
按照提示完成證書的獲取與配置。
完成所有配置後,您可以通過瀏覽器訪問MantisBT的介面:
http://your-server-ip/mantis
如果您配置了SSL,則使用:
https://mantis.example.com
使用剛才設置的管理員帳號登錄,並開始配置項目、用戶和其他設置以滿足您的需求。
登錄後,建議進行以下初始設置:
定期檢查並更新MantisBT及其依賴的軟件,以確保系統的安全性和穩定性:
sudo apt update && sudo apt upgrade -y
同時,關注MantisBT的官方發布,及時應用安全補丁和版本更新。
定期備份MantisBT的數據庫和文件,以防止數據丟失:
mysqldump -u mantisuser -p mantisdb > /backup/mantisdb_backup.sql
tar -czvf /backup/mantis_files_backup.tar.gz /var/www/html/mantis
可以使用cron定時任務自動化備份過程:
sudo crontab -e
添加以下行以每天凌晨2點進行備份:
0 2 * * * mysqldump -u mantisuser -pyour_password mantisdb > /backup/mantisdb_backup_$(date +\%F).sql
0 2 * * * tar -czvf /backup/mantis_files_backup_$(date +\%F).tar.gz /var/www/html/mantis
為了確保MantisBT運行流暢,建議實施以下監控與優化措施:
mod_deflate壓縮模塊。php.ini)中的參數,如增加memory_limit和max_execution_time以適應應用需求。確保團隊成員了解如何有效使用MantisBT,可以通過以下方式提升使用效率:
如果在安裝或運行MantisBT時遇到權限相關的錯誤,請確保Web服務用戶(通常是www-data)對MantisBT目錄擁有適當的讀寫權限:
sudo chown -R www-data:www-data /var/www/html/mantis
sudo chmod -R 755 /var/www/html/mantis
如果MantisBT無法連接到數據庫,請檢查以下幾點:
sudo systemctl status mariadb
config_inc.php 中的數據庫連接設置是否正確。SHOW GRANTS FOR 'mantisuser'@'localhost';
如果遇到Apache服務器錯誤,請查看Apache日誌以獲取詳細信息:
sudo tail -f /var/log/apache2/mantis_error.log
根據錯誤信息,調整配置或修復相關問題。
如果MantisBT頁面加載緩慢,考慮以下優化措施:
mod_deflate和mod_expires模塊以實現壓縮和緩存。
opcache。
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/mantis
ServerName mantis.example.com
<Directory /var/www/html/mantis>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mantis_error.log
CustomLog ${APACHE_LOG_DIR}/mantis_access.log combined
</VirtualHost>
根據需要調整PHP配置文件 /etc/php/7.4/apache2/php.ini(版本號可能不同):
memory_limit = 256M
upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 300
extension=mbstring
extension=curl
extension=xml
extension=gd
以下是自動化數據庫和文件備份的腳本範例:
#!/bin/bash
# 配置變量
DB_NAME="mantisdb"
DB_USER="mantisuser"
DB_PASS="your_password"
BACKUP_DIR="/backup/mantisbt"
DATE=$(date +\%F)
# 創建備份目錄
mkdir -p $BACKUP_DIR
# 備份數據庫
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/mantisdb_backup_$DATE.sql
# 備份MantisBT文件
tar -czvf $BACKUP_DIR/mantis_files_backup_$DATE.tar.gz /var/www/html/mantis
# 刪除超過30天的備份
find $BACKUP_DIR -type f -mtime +30 -name "*.sql" -exec rm {} \;
find $BACKUP_DIR -type f -mtime +30 -name "*.tar.gz" -exec rm {} \;
echo "備份完成於 $DATE"