搭建centos7+apache+mongodb+php环境

  • 时间:2018-12-21 23:07 作者:刘弋 来源:刘弋 阅读:529
  • 扫一扫,手机访问
摘要:搭建centos7+apache+mongodb+php环境最近在做一个关于nosql注入的试验,需要搭建数据库是mongodb的数据库网站环境环境。但是本人对mongodb数据库理解甚少,所以在搭建的过程中遇到了很多问题。由于菜,所以学。不知道有没有同学在搭建环境的时候是不是也遇到了很多问题。本文

搭建centos7+apache+mongodb+php环境

最近在做一个关于nosql注入的试验,需要搭建数据库是mongodb的数据库网站环境环境。但是本人对mongodb数据库理解甚少,所以在搭建的过程中遇到了很多问题。由于菜,所以学。不知道有没有同学在搭建环境的时候是不是也遇到了很多问题。

本文是在做完之后写的,所以当中遇到的问题也没有去找办法截图,所以只是在下面提几个记忆犹新的问题。假如有同学遇到同样的问题,希望可以帮助你处理。

遇到的问题:

1、php版本的安装影响php的mongodb数据库的扩展

本次安装选择php5.6的版本

2、安装时的依赖包问题

3、安装顺序问题

4、安装后配置文件和启动方式的问题

5、马虎

环境详情:

linux:CentOS7

apache:2.4.6

MongoDB:3.2.10

php:5.6

需要下载的安装源码及其余源码

php-5.6:http://cn2.php.net/downloads.php

mongodb-3.2.10:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.10.tgz

mongodb的php扩展:http://pecl.php.net/get/mongo-1.5.5.tgz

安装步骤:

1、安装apache服务

apache服务安装没有特别的要求,直接用yum源安装即可以。

解答点:(依赖问题)

注意的是,肯定要安装httpd-devel,由于这个包和apxs命令相关,此命令用来加载php板块,当在安装php的时候会用到。这个就属于安装依赖、包的问题。没有这个后面编译安装后php,Apache服务是没有办法加载libphp5.so这个板块的。

为了避免有个别包需要安装而没有安装的事故发生,直接:

yum install httpd* -y

搭建centos7+apache+mongodb+php环境

2、安装mongodb数据库

(1)将下载的源码上传到服务器,而后就行解压安装

(2)安装之前应先创立有关目录和文件

mkdir /data/mongodb/dbs -p

touch /data/mongodb/log

作用,第一个目录是用来后面存放数据库数据的,第二个文件是用来存放数据库日志的文件,后面都会用的到。

搭建centos7+apache+mongodb+php环境

(3)将压缩包解压到指定目录

tar -xvf mongodb-linux-x86_64-rhel62-3.2.10.gz -C /usr/local

(4)为了使用命令的方便,将数据库的文件路径加入到环境变量中

vi .bash_prefile

搭建centos7+apache+mongodb+php环境

使环境变量能够生效,需要执行一条命令:

source .bash_prefile

(4)为数据库创立配置文件,启动数据库

vi /etc/mongodb.conf

dbpath=/date/mongodb/dbs //数据文件地址

logpath=/data/mongodb/log //日志文件地址

port=27071 //端口号(默认27017)

fork=true //后端运行

journal=true //启用日志选项

启动数据库:

mongod -f /etc/mongodb.conf

解答点(数据库启动方式问题)

面启动方式出现的问题进行一下解答,mongodb数据库默认的端口是27017,进入数据库的时候可以直接输入命令mongo即可以,但是因为我的一时马虎,将配置文件中写成了27071所以用开始的方法是没办法启动的。当改变了端口,进入数据库的方法是:

mongo localhost:端口号

例如我这里:mongo localhost:27071

3、安装php

(1)将下载的源码上传到服务器

(2)解压

tar -zxvf php-5.6.39.tar.gz

搭建centos7+apache+mongodb+php环境

(3)安装相关依赖:

yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gcc

这里编译安装的时候会需要很多相关依赖,为了方便,避免产生错误,在网上搜集了少量需要的依赖,同时,编译安装需要gcc,可以看一下自己有没有这个编译工具,没有的话也需要安装。

(4)进入解压后的目录,编译安装

cd php-5.6.39

./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-apxs2=/usr/bin/apxs

--prefix 指定了安装位置

--with-config-file-path 指定php.ini的位置

--with-apxs2 整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定板块到 apache,要求 apache 要打开SO板块

这里apxs的命令根据自己个人情况路径而定,查看apxs文件路径方法:

which apxs

(5)安装

make && make install

cp php.ini-production /etc/php.ini

(6)同样的,设置环境变量

搭建centos7+apache+mongodb+php环境

使环境变量生效:source .bash_prefile

安装完之后看一看在/etc/httpd/modules/目录下有没有libphp5.so,有的话说明板块安装的没问题,假如这里没有这个板块的话,在apache解析php的时候会出现错误。

4、安装扩展

(1)将扩展的源码上传服务器

(2)解压:tar -zxvf mongo-1.5.5.tgz

(3)进入解压后的目录,生成执行文件configure

执行命令:phpize

搭建centos7+apache+mongodb+php环境

是出错的,有办法处理

处理错误方法:

wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz

tar -zvxf m4-1.4.9.tar.gz

cd m4-1.4.9/

./configure && make && make install

yum install autoconf.

重新执行phpize命令就ok了

(4)执行configure文件生成Makefile文件

./configure --enable-mongo=share --with-php-config=php-config

(5)安装

make && make install

到这里基本的安装是差不多已经完成了,但是环境还是不能使用,接下来就是对配置文件的修改。

5、对配置文件的修改

(1)当安装完成扩展的时候,会出现这样的一句话,extension_dir=/usr/lib/php/extensions/debug-non-zts-20151012/

可能和我的不同,但是都是相似的,将这样的一句话复制下来,打开/etc/php.ini文件,增加进去,同时还要增加extension=mongo.so

这两个都是在启用mongodb的扩展。没有这个是没有办法对数据库操作的。

vi /etc/php.ini

追加:

extension_dir=/usr/lib/php/extensions/debug-non-zts-20151012/

extension=mongo.so

(2)打开apache的配置文件对其进行修改。

追加:

AddType application/x-httpd-php .php

AddType application/x-httpd-php .htm

AddType application/x-httpd-php .html

DirectoryIndex index.html index.cgi index.php index.phtml index.php3

这些语句的位置在文件中已经给出,搜索AddType和DirectoryIndex就会找到

解释点:(php版本和扩展之间的问题)

有的人可能是直接利用的mongodb的yum源,而后执行pecl install momgodb的安装扩展,这个时候假如你的php是5.4或者5.4以下的版本会直接报错,提醒你说需要php5.5.99以上的版本。所以这里为了避免冲突,也是利用了php5.6的版本。

解释点:(安装顺序问题、马虎)

我们都知道lamp(linux+apa+mysql+php)的安装顺序,就是安装amp的顺序安装的,这里apa+mongo+php也是一样,按照这样的顺序安装。我出现安装错误的起因在于,没有安装apa的时候就安装了php。我有个习惯,就是在做不理解的环境的时候,没安装一个服务就会创立一个快照,防止后面做错,还可以回来重新做。但是就是由于这个,当我返回快照的时候,我以为返回到了安装好Apache服务的快照上了,结果不想而知。

好了,到这里基本都已经处理了所有服务的安装,只需将服务都启动开即可以访问网站了,自己可以写个php网页进行测试。假如出现关于mongo class的错误,说明你的扩展没有弄好,要么去修改一下php.ini要么重新安装一下就好。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
【系统环境|】ZORRO佐罗软件安装教程及一键新机使用方法详细简介(2023-02-10 21:56)
【系统环境|】阿里云 centos 云盘扩容命令(2023-01-10 16:35)
【系统环境|】补单系统搭建补单源码搭建(2022-05-18 11:35)
【系统环境|服务器应用】高端显卡再度登上热搜,竟然是因为“断崖式”的降价(2022-04-12 19:47)
手机二维码手机访问领取大礼包
返回顶部