源码编译安装Apache和PHP模块

一.Apache简介

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

先关闭防火墙,关闭核心防护
systemctl stop firewalld
setenforce 0

二.编译安装httpd服务

2.1 安装Apache所需软件包

apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz
httpd-2.4.29.tar.gz

##将上面3个包传到opt目录下##

在这里插入图片描述

[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2

ll进行查看,红色显示就是解压过后的软件包
在这里插入图片描述

[root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

在这里插入图片描述

这两行命令表示把当前目录下的文件移动到另外一个路径下

如果想要让apache支持跨平台,就必须放在apache某个路径下,才能支持它跨平台,也就是上图的srclib路径下。

2.2 安装环境

yum -y install
gcc \ #编译器
gcc-c++ \ #编译器
make \ #配置文件(.configure)转化为执行性文件(二进制文件)
pcre-devel \ #让apache支持正则表达式(所有网站必须要有的功能)
expat-devel #支持里面一个开发语言的格式
perl # 支持里面一个开发语言的格式

在这里插入图片描述

[root@localhost opt]# cd /httpd-2.4.29/

./configure \ #全局配置下
–prefix=/usr/local/httpd \ #指定httpd安装在哪个路径下 如:/usr/local/httpd/
–enable-so \ #开启apache的核心功能模块
–enable-rewrite \ #重显功能
–enable-charset-lite \ #支持里面的字符集(例如:utf-8)
–enable-cgi \ #表示能在apache的基础上支持多种语言,定义对web服务器运行时外部程序规范;cgi:通用网关接口

在这里插入图片描述

2.3 编译及安装

make #配置文件构建出二进制文件(编译过程)
make install #安装

在这里插入图片描述

2.4优化执行路径

ln -s /usr/local/httpd/conf/httpd.conf /etc/ #简化配置文件的路径并建立软链接放在/etc目录下,相当于建立快捷方式。
ln -s /usr/local/httpd/bin/* /usr/local/bin/ #把apache下的所有命令格式放在 /usr/local/bin/下便于系统识别
httpd -t ###查看下HTTP配置文件是否正确

在这里插入图片描述

2.5 建立[service].service 配置文件添加系统给服务

在/lib/systemd/system/目录下,建立一个以.service 结尾的单元(unit)配置文件,用于控制由 systemd 管理或监控的 httpd 服务。

[root@localhost ~]# cd /lib/systemd/system/
[root@localhost system]# vim httpd.service

添加:
[Unit]
Description=The Apache HTTP Server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart= /usr/local/bin/apachectl $OPTIONS
ExecrReload= /bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target

[root@localhost system]# systemctl start httpd.service
[root@localhost system]# systemctl enable httpd.service

在这里插入图片描述

2.6 httpd.conf修改配置文件

vi /usr/local/httpd/conf/httpd.conf
ServerName www.51xit.top:80 #更改下

systemctl restart httpd #重启httpd服务

在这里插入图片描述

在这里插入图片描述

2.7 用系统的浏览器验证

netstat -anpt | grep 80
验证成功!!

在这里插入图片描述

查看下httpd服务的进程

在这里插入图片描述

测试!

在这里插入图片描述

三 安装PHP环境

3.1 安装PHP环境依赖包

yum -y install
libjpeg \ #图片
libjpeg-devel \ #图片
libpng libpng-devel \ # 采用png格式
freetype freetype-devel \ #字体样式
libxml2 \ #xml文件格式
libxml2-devel \ #xml文件格式
zlib zlib-devel \ #支持压缩
curl curl-devel \ #资源定位
openssl openssl-devel #安全套接字

在这里插入图片描述

3.2 编译安装

上传php-7.1.10.tar.bz2包到opt目录下

cd /opt
tar jxvf php-7.1.10.tar.bz2
cd php-7.1.10

./configure
–prefix=/usr/local/php \ #指定安装路径
–with-apxs2=/usr/local/httpd/bin/apxs \ #apache服务的存放目录
–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 \ #xml文件格式处理
–enable-session \ #开启会话共享
–enable-ftp \ #开启ftp功能
–enable-pdo \ #连接数据库的驱动
–enable-tokenizer \ #令牌,用于身份验证
–enable-zip #压缩格式

在这里插入图片描述

安装结果
在这里插入图片描述

3.3 make编译

make && make install
在这里插入图片描述

cp php.ini-development /usr/local/php/lib/php.ini
vi /usr/local/php/lib/php.ini

在这里插入图片描述
在这里插入图片描述
/usr/local/php/bin/php -m #验证安装的模块

在这里插入图片描述

vi /etc/httpd.conf

需要添加的模块

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html

在这里插入图片描述

rm -f /usr/local/httpd/htdocs/index.html
vi /usr/local/httpd/htdocs/index.php

在这里插入图片描述
重启apache服务
systemctl restart httpd

3.4 网页测试

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aaa1414124211/article/details/108852281