centos7中编译安装apach2.4+php7.1环境

centos7中编译安装apach2.4+php7.2环境

 

作为一名web开发人员一直没有自己搭建过环境,觉得很惭愧,所以今天就动手在centos7环境中编译安装apache2.4+php7.2的运行环境。下面是我总结的安装过程。

 

1 在centos7中预先安装编译工具和插件

[root@localhost ~]# yum -y install gcc gcc-c++ make pcre-devel expat-devel perl

 

2 下载apache安装包及其依赖包:

Apache源码包位置:http://httpd.apache.org/ 这里选用【httpd-2.4.38.tar.bz2】

依赖包 apr、apr-util、pcre

apr、apr-util包的位置:http://apr.apache.org/

pcre包的位置:http://pcre.org/

3. 注意:

把这些包准备好后,可以先安这些包,也可以在安Apache的过程中提示缺少包再安,还有就是apr、apr-util

开始安装Apache2.4【httpd-2.4.38.tar.bz2】

1. 先把下载好的httpd包传到服务器,并解压,我是解压到/etc目录下,安装目录是/usr/local/httpd

解压命令:tar -jxvf httpd-2.4.18.tar.bz2

2. 进入目录

cd /etc/httpd-2.4.38

3. 执行写入配置,其中apache24目录不用自己创建,安装过程会自动创建

./configure --prefix=/usr/local/httpd -- 参数prefix指定安装路径

4. 到这一步应该提示缺少apr包

开始安装apr包和apr-util【apr-1.5.2.tar.gz&apr-util-1.5.4.tar.gz】

安装apr:

 

1. 先把下载好的apr包传到服务器,并解压,我是解压到/etc目录下,安装目录是/usr/local/apr

解压命令:tar -zxvf apr-1.5.2.tar.gz

2. 进入目录

cd /etc/apr-1.5.2.tar.gz

3. 执行写入配置,其中/usr/local/apr目录不用自己创建,安装过程会自动创建

./configure --prefix=/usr/local/apr -- 参数prefix指定安装路径

4. make

5. make install

 

继续安装apr-utl: 

1. 先把下载好的apr包传到服务器,并解压,我是解压到/home目录下,安装目录是/usr/local/apr-util

解压命令:tar -zxvf apr-util-1.5.2.tar.gz

2. 进入目录

cd /etc/apr-util-1.5.2.tar.gz

3. 执行写入配置,其中/usr/local/apr-util目录不用自己创建,安装过程会自动创建

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

 

参数prefix指定安装路径, 参数--with-apr表示apr-util安装需要依赖apr,所以这里一定要指定apr的安装目录

4. make

5. make install

6. apr-util安装完成

7. 文章开头提到的问题:用apr-1.6.5/apr-util-1.6.1在执行步骤4的时候会出错

两个apr包安好了,在返回httpd的目录再次配置apache

1. ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-

util=/usr/local/apr-util

2. 会提示缺少包pcre,包的位置开始有提到,这里用的是pcre-8.38.zip

 

3. 解压

unzip pcre-8.38.zip

4. cd pcre-8.38

5. ./configure --prefix=/usr/local/pcre

6. make

7. make install

8. pcre包安装成功

 

 

返回httpd的位置安装Apache 

1. ./configure --prefix=/usr/apache24 --with-apr=/usr/local/apr --with-apr-

util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

//在./configure 配置参数中一定要记住带上 --enable-so 启用动态加载模块功能,否则在后面编译php的时候将不会生成libphp7.so 文件,将导致php文件无法解析。

2. make

3. make install

4. 出现如下界面安装成功

5. 启动apache服务后,在浏览器地址栏输入apache服务器的Ip验证是否成功【eg:http://192.168.5.130】

 

Is works!

Apache服务操作

1. /usr/local/httpd/bin/apachectl start

2. /usr/local/httpd/bin/apachectl stop

3. /usr/local/httpd/bin/apachectl restart

 Apache服务的默认根目录

1. 服务器的默认根目录在/usr/local/httpd/htdocs/

2. 更改默认根目录的方法

a. vi /usr/local/httpd/conf/httpd.conf

b. 搜索 DocumentRoot

c. 将/usr/local/httpd/htdocs/更改为你想要的根目录【例如:/var/www/html】

3. 测试的index.html就存在于它的根目录下

 

注意:

注意:如果make中出现错误,必须执行make clean清除所有缓存文件后继续,如果是在make install过程中出现错误,必须执行make clean并且删除生成了安装目录,然后重新执行make和make install安装完成之后删除原来释放出来的那些目录即可,如果以后要卸载,只要不忘记安装目录,直接删除安装目录就可以,也不会出现任何残留垃圾

 

 安装以后可能会出现这个问题:

安装完以后通过/usr/local/httpd/bin/apachectl start启动apache服务,发现报如下错误:

     httpd: Could not reliably determine the server's fully qualified domain name

解决方法:

 

1. cd /usr/local/httpd/conf

2. 编辑httpd.conf文件,

搜索"#ServerName",添加ServerName localhost:80

3. 再重新启动apache 即可

 

问题解决

 

Apache简单配置

如果说我们想通过浏览器看到我们本地的文件/目录,两种方法:

 

将我们本地的文件通过软链接ln -s指向apache的默认根目录,然后在浏览器地址栏输入http://ip即可看到   ,但是要注意/usr/local/httpd/htdocs/index.html的move掉或者换个名字,不然首页默认会显示index.html 

 

直接将我们想要的目录/文件link到指定目录/var/www/html然后在/usr/apache24/conf/httpd.conf更改apache服务的根目录

 

 

将/usr/local/httpd/bin/apachectl 拷贝为 /etc/init.d/httpd 就可以用systemctl开启关闭服务

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

systemctl start httpd

systemctl stop httpd

systemctl restart httpd

 

 

搭建PHP运行环境

一:安装编工具及插件

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \

libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

二:解压安装包

[root@localhost ~]# tar xjvf php-7.1.10.tar.bz2

三:配置(个性化配置及优化项目)

[root@localhost php-7.1.10]# cd php-7.1.10

[root@localhost php-7.1.10]# ./configure \

--prefix=/usr/local/php \

--with-apxs2=/usr/local/httpd/bin/apxs \

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-openssl \

--enable-mbstring \

--enable-xml \

--enable-session \

--enable-ftp \

--enable-pdo \

--enable-tokenizer \

--enable-zip

 

注意 --with-apxs2=/usr/local/httpd/bin/apxs \ 这项配置必须要有,否则不会生成 libphp7.so

四:编译与安装

[root@localhost php-7.1.10]# make

[root@localhost php-7.1.10]# make install

五:编辑配置文件

[root@localhost php-7.1.10]# cp php.ini-development /usr/local/php/lib/php.ini 

//创建配置文件

[root@localhost php-7.1.10]# vi /usr/local/php/lib/php.ini //编辑配置文件

mysqli.default_socket = /usr/local/mysql/mysql.sock //将php与mysql关联

date.timezone = Asia/Shanghai //时区设置

[root@localhost php-7.1.10]# /usr/local/php/bin/php –m //验证安装的模块

六:关联php与apache服务

[root@localhost php-7.1.10]# vi /etc/httpd.conf //编辑Apache配置文件,使httpd支持php网页解析

添加以下两行内容:

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

修改以下内容:

DirectoryIndex index.php index.html //此处注意,php文件必须放前面,优先读取

[root@localhost php-7.1.10]# rm -f /usr/local/httpd/htdocs/index.html //删除默认html文件

[root@localhost php-7.1.10]# vi /usr/local/httpd/htdocs/index.php //编辑php测试网页

添加以下内容(php信息)

<?php

phpinfo();

?>

保存退出

[root@localhost php-7.1.10]# systemctl stop httpd 

[root@localhost php-7.1.10]# systemctl start httpd //重启httpd服务

七:验证

  1. 用win7访问192.168.80.10

(注意:如果访问不了,用netstat检查httpd运行状态)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值