Linux系统下搭建MantisBT环境以及Apache+PHP+MySql的安装
在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 [root@apr-1.6.5]# ./configure --prefix=/usr/local/apr [root@apr-1.6.5]# make [root@apr-1.6.5]# make install
安装apr-util:
[root~]# tar -zxf apr-util-1.6.1.tar.gz [root~]# cd apr-util-1.6.1 [root@localhost apr-util-1.6.12]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config [root@localhost apr-util-1.6.1]# make [root@localhost 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。
[root@ 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测试页
[root@~]# cd /usr/local/apache/htdocs/ [root@htdocs]# 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模块
mysqli模块
部署开源MantisBT项目
在 http://www.mantisbt.org/download.php 下载开源的MantisBT,下载后将文件夹名更改为mantisbt(也可以不改,但是项目名最好不带特殊符号),放到/usr/local/apache2/htdocs/目录下;
在地址栏输入 http://localhost/mantisbt/admin/install.php ,将会显示一下界面:
到此,Linux系统下搭建MantisBT环境已全部完成。
后续会将遇到的问题以及解决的方案,补写上来。