天天看點

Linux系統下搭建MantisBT環境以及Apache+PHP+MySql的安裝在Linux的系統下搭建MantisBT運作所需環境

在Linux的系統下搭建MantisBT運作所需環境

MantisBT管理文檔:http://www.mantisbt.org/docs/master/en-US/Admin_Guide/html-desktop/

MantisBT是一個基于網絡的錯誤跟蹤系統,是用PHP開發的,支援多種資料庫後端,包括MySQL和PostgreSQL。MantisBT其實就是一個PHP腳本,可以在PHP支援的任何作業系統上運作

在文檔 2.2.2 節伺服器軟體要求 中寫到了關于環境的要求,并在⁠2.2.2.1節 版本相容性表 中寫到了各種軟體的版本相容性相關的内容(仔細看版本要求,不要安裝到低版本了)

該文章中軟體版本情況如下:

- MySql資料庫版本:5.7.19

- Apache伺服器版本:2.4.35

- PHP版本:7.2.11

安裝MySql

安裝mysql前準備:

1、确認該環境中是否已安裝mysql,如果已安裝,自行選擇是否重裝。

2、下載下傳mysql安裝包

在 http://www.mysql.com/downloads/mysql/#downloads 下載下傳mysql安裝包:

mysql-community-server-8.0.13-1.fc28.x86_64.rpm

mysql-community-client-8.0.13-1.fc28.x86_64.rpm

mysql-community-devel-8.0.13-1.fc28.x86_64.rpm

mysql-community-libs-8.0.13-1.fc28.x86_64.rpm

這裡包名僅作參考,根據實際系統下載下傳對應的安裝包。

使用rpm –ivh指令來安裝mysql,這裡不說啦。

了解一下mysql資料庫的基本操作用法:

想要進入mysql資料庫,輸入"mysql"即可進入資料庫,因為剛安裝的mysql是沒有密碼的:

[root~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3153
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
           

檢視有哪些資料庫:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.02 sec)

mysql>
mysql>
           

切換資料庫:

mysql> use mysql;
Database changed
mysql>
mysql>
           

檢視某個資料庫中的所有表:

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| time_zone_transition_type |
| user                      |
		.......
+---------------------------+
31 rows in set (0.00 sec)

mysql>
           

如果此時想遠端連接配接該資料庫的話,還不行。需要改一點資料:

mysql> select Host,user from user where user='root';
+----------+------+
| Host     | user |
+----------+------+
| localhost| root |
+------+------+
1 row in set (0.00 sec)
mysql>
           

将上面查詢出來的Host字段的值”localhost“改為“%”

mysql> updates user set Host='%' where user='root';
           

mysql的啟動、停止和重新開機:

[root~]# service mysqld start
[root~]# service mysqld stop
[root~]# service mysqld restart
           

安裝Apache伺服器

安裝Apache前請停止并解除安裝Linux系統自帶的httpd服務。

下載下傳Apache安裝包,httpd-2.4.35.tar.bz2,下載下傳位址: http://httpd.apache.org/ 。

如果現在直接編譯安裝Apache的話,會出現幾個依賴包的問題,接下來先安裝這幾個依賴包

在 http://apr.apache.org/download.cgi 下載下傳apr-1.6.5.tar.gz、apr-util-1.6.1.tar.gz。版本可選着兩個版本,也可自行選擇。

安裝apr:

[root~]# tar -zxf apr-1.6.5.tar.gz
  [root~]# cd apr-1.6.5
  [[email protected]]# ./configure --prefix=/usr/local/apr
  [[email protected]]# make
  [[email protected]]# make install
           

安裝apr-util:

[root~]# tar -zxf apr-util-1.6.1.tar.gz
  [root~]# cd apr-util-1.6.1
  [[email protected] apr-util-1.6.12]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
  [[email protected] apr-util-1.6.1]# make
  [[email protected] apr-util-1.6.1]# make install
           

安裝pcre, 由于沒有在網上找到pcre源碼包,就直接采用yum的安裝方式:

yum -y install pcre
           

待三個依賴程式安裝完成後,接下來安裝apache。進入httpd-2.4.35.tar.gz解壓後的目錄,再執行以下操作

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
make
make install
           

Apache伺服器的啟動、停止、與重新開機:

啟動Apache:/usr/local/apache2/bin/apachectl start
停止Apache:/usr/local/apache2/bin/apachectl stop
重新開機Apache:/usr/local/apache2/bin/apachectl restart
           

所有的項目都放在/usr/local/apache2/htdocs目錄下;

在浏覽器中輸入 http://localhost 如果能夠顯示“It works!”字樣,則代表Apache驗證通過。

安裝PHP

安裝PHP前準備:

1、檢查php是否已經安裝,使用php -v,是否能夠看到版本号;或者使用rpm -qa | grep php檢視是否安裝過。

2、下載下傳PHP安裝包,下載下傳位址:http://www.php.net/downloads.php 我下載下傳的是php-7.2.11.tar.gz,放在Linux的任意目錄下。

tar -zxvf php-7.2.11.tar.gz
cd php-7.2.11
           

編譯PHP完整的configure參數(請注意apache的路徑)

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql-dir=/usr/include/mysql/mysql.h --with-zlib-dir=/usr/lib
make
make install
           

把配置檔案php.ini-production拷貝到/usr/local/php/lib/下,并且命名為php.ini。

[[email protected] php-7.2.11]#cp php.ini-production /usr/local/lib/php.ini 
(一定要命名為php.ini,放在/usr/local/lib/路徑下。然後在編譯時可以指定php.ini的存放位置,也可以在Apache裡指定其位置;如果位置錯誤,php擴充就無法加載,phpinfo()測試頁中看不到擴充資訊)
           

配置Apache中的PHP環境

需要修改Apache的配置檔案httpd.conf以得到PHP的解析:

目錄:/usr/local/apache2/conf/httpd.conf

1、在LoadModule中添加:LoadModule php7_module modules/libphp7.so

2、在AddType application/x-gzip .gz .tgz下面添加:

# probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
	AddType application/x-httpd-php .php  // 這一句是新增的
	AddType application/x-httpd-php-source .phps  // 這一句是新增的
           

3、如果網站的index字尾是PHP格式的,則要修改httpd.conf配置檔案(/usr/local/apache2/conf),在DirectoryIndex增加 index.php。

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
           

驗證PHP環境:

在Apache網站目錄下建立php的phpinfo測試頁

[[email protected]~]# cd /usr/local/apache/htdocs/
[[email protected]]# vim info.php

<?php

phpinfo();

?>
           

通過 http://localhost/info.php 驗證,通過phpinfo()可以檢視很多資訊,比如php.ini的存放路徑,以及所有擴充元件等,很強大。

修改PHP的環境變量

修改/etc/profile檔案使其永久性生效,并對所有系統使用者生效,在檔案末尾加上如下兩行代碼

PATH=$PATH:/usr/local/php/bin/
export PATH
           

最後:執行 指令source /etc/profile使其修改生效,執行完可通過echo $PATH指令檢視是否添加成功。

安裝PHP擴充程式mbstring和mysqli

安裝mbstring

cd /usr/src/php-7.2.11/ext/mbstring
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make  
make install
           

然後修改php.ini配置檔案,将”extension=mbstring“這一行前面的”;“去掉。

重新開機php,指令:

service php-fpm restart
           

如果沒有安裝php-fpm的話,就需要先安裝一下

yum -y install php-fpm
           

重新開機完了後,php -m可以檢視到已啟動的擴充。

php -m
           

安裝mysqli

cd /usr/src/php-7.2.11/ext/mysql
/usr/local/php/bin/phpize
./configure -prefix=/usr/local/mysqli -with-php-config=/usr/local/php/bin/php-config -with-mysqli=/usr/bin/mysql_config
make  
make install
           

這兩個擴充安裝完成後,都會傳回一個路徑

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-xxxxxxx/
           

複制這個路徑,然後修改php.ini配置檔案,将”extension=mysqli“這一行前面的”;“去掉。再将extension_dir這一行前面的”;“去掉,将等号後面的”./“換成剛才這個路徑。

這樣做的目的是指明php擴充的具體位置。

然後重新開機php。

最後再重新開機一下電腦。

重新開機後在 http://localhost/info.php 頁面上,找到mbstring和mysqli子產品即為大功告成。

mbstring子產品

Linux系統下搭建MantisBT環境以及Apache+PHP+MySql的安裝在Linux的系統下搭建MantisBT運作所需環境

mysqli子產品

Linux系統下搭建MantisBT環境以及Apache+PHP+MySql的安裝在Linux的系統下搭建MantisBT運作所需環境

部署開源MantisBT項目

在 http://www.mantisbt.org/download.php 下載下傳開源的MantisBT,下載下傳後将檔案夾名更改為mantisbt(也可以不改,但是項目名最好不帶特殊符号),放到/usr/local/apache2/htdocs/目錄下;

在位址欄輸入 http://localhost/mantisbt/admin/install.php ,将會顯示一下界面:

Linux系統下搭建MantisBT環境以及Apache+PHP+MySql的安裝在Linux的系統下搭建MantisBT運作所需環境

到此,Linux系統下搭建MantisBT環境已全部完成。

後續會将遇到的問題以及解決的方案,補寫上來。