文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CentOS7通过yum安装httpd和php8.0

2023-09-01 22:40

关注

文章目录


为了安装kodexplorer必须得部署php环境,所以首次接触了下php
记录一下自己安装php80并与httpd整合的过程
操作全是使用root权限进行操作


CentOS7默认使用firewall来配置防火墙
如果没有安装,则使用yum进行安装

yum install -y firewalld

启动服务

systemctl start firewalld

设置开机自启动

systemctl enable firewalld

firewall的配置文件是以xml的格式,存储在 /usr/lib/firewalld/ 和 /etc/firewalld/ 目录中
可以通过命令行或者直接修改配置文件的方式修改firewall的配置

这里通过开放一下httpd和php80的端口

firewall-cmd --permanent --zone=public --add-port=80/tcp

重新加载防火墙

firewall-cmd --reload

使用yum直接安装。

yum install -y httpd

安装完成后启动服务

systemctl start httpd

查看httpd状态(没修改配置的话一般都能启动成功,配置我们后面再改)

systemctl status httpd

设置开机自启动

systemctl enable httpd

查看httpd版本(CentOS7 yum 安装的httpd版本目前是Apache/2.4.6)

httpd -V | head -n 1

这里可以通过自己创建个index文件简单验证一下服务是否正常

echo "test" > /var/www/html/index.html

打开浏览器可以看到我们的测试主页(我使用的服务器IP是192.168.1.21)
在这里插入图片描述
通过yum安装的httpd默认文件和存放的目录是
服务目录: /etc/httpd
主配置文件: /etc/httpd/conf/httpd.conf
网站数据目录: /var/www/html
访问日志: /var/log/httpd/access_log
错误日志:/var/log/httpd/error_log

安装remi扩展源

yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm

如果网不好的话可以考虑下清华软件源

yum install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm

确认一下能安装的php8.0和相关插件

yum list | grep php80

安装php8.0和其他插件(插件功能可以自己查一下,这里把一些比较常用的都放进来了)

yum -y install −−enablerepo=remi-php80 php80 php80-php php80-php-xml php80-php-xmlrpc php80-php-pecl-mcrypt php80-php-fpm php80-php-pecl-apcu php80-php-mbstring php80-php-gd php80-php-json php80-php-pecl-json-post php80-php-pdo php80-php-mysqlnd php80-php-pecl-mysql php80-php-opcache php80-php-pear php80-php-soap php80-php-intl php80-php-pear

确认安装结果

yum list installed | grep php

通过remi安装的php的指令是php80,这里建立一下软链接

ln -sf /usr/bin/php80 /usr/bin/php

查看安装的php版本

php -v

启动php-fpm(有需要的话可以给服务改名,我这边就没改了)

systemctl start php80-php-fpm

设置为开机自启动

systemctl enable php80-php-fpm

重启一下httpd

systemctl restart httpd

这里可以通过自己创建个php文件简单验证一下服务是否正常

echo "" > /var/www/html/info.php

打开浏览器可以看到我们的测试页面
在这里插入图片描述

这样安装的php80的配置目录是/etc/opt/remi/php80/
主配置文件是/etc/opt/remi/php80/php.ini

到这里其实我们的部署就已经完成了,后面讲一下部分比较常用的配置修改

比较常用的就是修改httpd的监听端口,修改httpd的网站数据目录
这里我们需要对/etc/httpd/conf/httpd.conf进行修改
修改配置文件之前先对配置文件进行备份

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
  1. 修改监听端口,我这里把端口修改为30080/tcp
    在这里插入图片描述
    可在命令行执行sed指令进行修改
sed -i "42s/Listen 80/Listen 30080/g" /etc/httpd/conf/httpd.conf

因为30080为非标准端口,所以还得增加SELinux中的http端口(如果图方便可以直接关闭SELinux)

getenforce 查看当前SELinux的模式setenforce 0 关闭setenforce 1 开启

查看SELinux中http使用的端口

semanage port -l | grep http

在这里插入图片描述
添加一下30080端口

semanage port -a -t http_port_t -p  tcp 30080// -l是查询,-a是添加

再查看一下SELinux中http使用的端口
在这里插入图片描述
添加成功

重启httpd服务

systemctl restart httpd

防火墙关闭旧端口,开放新端口,并重新加载

firewall-cmd --permanent --zone=public --remove-port=80/tcpfirewall-cmd --permanent --zone=public --add-port=30080/tcpfirewall-cmd --reload
  1. 修改httpd的网站数据目录,我这里把目录修改为/home/wwwroot/
    在这里插入图片描述
    可在命令行执行sed指令进行修改,我这边是直接将原有的/var/www/html替换成/home/wwwroot
sed -i "s#/var/www/html#/home/wwwroot#g" /etc/httpd/conf/httpd.conf 

在这里插入图片描述
中间的Option Indexes FollowSymLinks可以注释掉,它的作用是显示 Apache 目录列表
如果你的文件根目录里有 index.html,浏览器就会显示 index.html的内容,如果没有 index.html,浏览器就会显示文件根目录的目录列表,目录列表包括文件根目录下的文件和子目录
这里应该禁止掉(在前面加个#注释掉即可)

创建目录

mkdir -p /home/wwwroot

需要修改新建目录的安全上下文
查看默认目录的安全上下文

ls -lZd /var/www/html

在这里插入图片描述
修改新建目录的安全上下文

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

立即生效的命令

restorecon -Rv /home/wwwroot/

查看新建目录的安全上下文
在这里插入图片描述
到这步就基本没问题了,简单测试一下

echo "test" > /home/wwwroot/index.htmlecho "" > /home/wwwroot/info.phpsystemctl restart httpd

在这里插入图片描述
在这里插入图片描述
另外,如果主页使用的是php,也应该在ifModule dir_module中添加index.php
在这里插入图片描述
在ifModule mine_module中添加一行AddType application/x-httpd-php .php
如果需要将.txt、.html后缀文件也作为PHP文件解析的话,可以改为添加AddType application/x-httpd-php .php .html .txt
在这里插入图片描述

晚点再编辑,都是些常见配置项的说明


以上就是今天要讲的内容
参考文档:
初心者向け CentOS7.9 に PHP8.0をインストール
使用Apache服务部署静态网站

来源地址:https://blog.csdn.net/lomenx/article/details/125756738

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯