文章目录
前言
为了安装kodexplorer必须得部署php环境,所以首次接触了下php
记录一下自己安装php80并与httpd整合的过程
操作全是使用root权限进行操作
一、配置firewalld
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
二、安装httpd
使用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
三、安装php8.0
安装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的监听端口,修改httpd的网站数据目录
这里我们需要对/etc/httpd/conf/httpd.conf进行修改
修改配置文件之前先对配置文件进行备份
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
- 修改监听端口,我这里把端口修改为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
- 修改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
五、修改php配置
晚点再编辑,都是些常见配置项的说明
总结
以上就是今天要讲的内容
参考文档:
初心者向け CentOS7.9 に PHP8.0をインストール
使用Apache服务部署静态网站