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模組
mysqli模組
部署開源MantisBT專案
到此,Linux系統下搭建MantisBT環境已全部完成。 後續會將遇到的問題以及解決的方案,補寫上來。