1. 程式人生 > >Linux系統下搭建MantisBT環境以及Apache+PHP+MySql的安裝

Linux系統下搭建MantisBT環境以及Apache+PHP+MySql的安裝

在Linux的系統下搭建MantisBT執行所需環境

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。

最後再重啟一下電腦。

mbstring模組 mbstring 模組

mysqli模組 mysqli 模組

部署開源MantisBT專案

到此,Linux系統下搭建MantisBT環境已全部完成。 後續會將遇到的問題以及解決的方案,補寫上來。