Centos9部署LAMP

配置LAMP

参考文档

https://blog.csdn.net/weixin_51432789/article/details/112254685

首先安装

yum install -y libxml2-devel

安装 apr-1.7.4

解压

tar xf apr-1.7.4.tar.gz

安装以来

yum -y install gcc

cd apr-1.7.4/

预编译

./configure --prefix=/usr/local/apr ; echo $?

编译

make ; echo $?

安装

make install ; echo $?

安装 apr 成功后的提示信息如下。

安装apr-util

解压

tar xf apr-util-1.6.3.tar.gz

下载依赖

yum -y install expat-devel

cd apr-util-1.6.3/

预编译

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr ; echo $?

编译安装

make && make install ; echo $?

安装httpd

下载依赖

yum -y install bzip2

yum -y install pcre-devel

yum install openssl-devel -y

解压

tar xf httpd-2.4.58.tar.bz2

cd httpd-2.4.58

预编译

./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util ; echo $?

编译

make ; echo $?

安装

make install ; echo $?

编译php

下载相关依赖

yum -y install php-mcrypt \

libmcrypt \

libmcrypt-devel \

autoconf \

freetype \

gd \

libmcrypt \

libpng \

libpng-devel \

libjpeg \

libxml2 \

libxml2-devel \

zlib \

curl \

curl-devel \

re2c \

php-pear ; echo $?

yum -y install perl

dnf -y groupinstall 'Development Tools'

dnf -y install wget libxml2-devel sqlite-devel bzip2-devel libcurl-devel libffi-devel libpng-devel libwebp-devel libjpeg-devel oniguruma libzip

yum -y install net-tools

yum -y install perl*

下载 oniguruma

wget https://dl.rockylinux.org/pub/rocky/9/devel/x86_64/os/Packages/o/oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm

下载 libzip

wget https://dl.rockylinux.org/pub/rocky/9/devel/x86_64/os/Packages/l/libzip-devel-1.7.3-7.el9.x86_64.rpm

安装 oniguruma

yum -y localinstall oniguruma-devel-6.9.6-1.el9.5.x86_64.rpm

安装 libzip

yum -y localinstall libzip-devel-1.7.3-7.el9.x86_64.rpm

解压PHP

tar xf php-8.2.12.tar.gz

修改第一行

进入该文件vi /usr/local/apache/bin/apxs修改第一行为以下内容

#!/usr/bin/perl -w

添加环境变量

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

安装依赖

yum -y install freetype-devel

yum install readline-devel

预编译

./configure --prefix=/usr/local/php8 \

--with-config-file-path=/usr/local/php8/etc \

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

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

--enable-fpm \

--enable-debug \

--disable-rpath \

--enable-shared \

--enable-soap \

--with-openssl \

--enable-bcmath \

--with-iconv \

--with-bz2 \

--enable-calendar \

--with-curl \

--enable-exif \

--enable-ftp \

--enable-gd \

--with-jpeg \

--with-zlib-dir \

--with-freetype \

--with-gettext \

--enable-mbstring \

--enable-pdo \

--with-mysqli=mysqlnd \

--with-pdo-mysql=mysqlnd \

--with-readline \

--enable-shmop \

--enable-simplexml \

--enable-sockets \

--with-zip \

--enable-mysqlnd-compression-support \

--with-pear \

--enable-pcntl \

--enable-opcache \

--enable-posix;echo $?

编译安装

make ; make install ; echo $?

编译安装的时候多给虚拟机cup资源。

修改php配置

增加变量

vim +$ /etc/profile

export PATH=$PATH:/usr/local/php8/bin/

刷新

source /etc/profile

修改配置文件名称

具体步骤

1.php.ini

查找php.ini-development 文件

root@lnmp-152 \~# find / -type f -name php.ini-development

查找php.ini-development文件 将该文件拷贝为/usr/local/php831/lib/php.ini

2.php-fpm.conf

查找php-fpm.conf.default文件

root@bj-web131 php-8.3.1# find / -type f -name "php-fpm.conf.default"

将php-fpm.conf.default文件移动为/usr/local/php831/etc/php-fpm.conf

  1. www.conf

查找www.conf.default文件

root@bj-web131 php-8.3.1# find / -name "www.conf.default"

将/www.conf.default文件移动为/usr/local/php831/etc/php-fpm.d/www.conf

以下是具体操作

cp -av /root/php-8.2.12/php.ini-development /usr/local/php8/lib/php.ini

cp -av /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf

cp -av /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf

添加用户

useradd -s /sbin/nologin apache -M

useradd -g apache -s /sbin/nologin apache

查看配置文件的用户信息

grep -ni '^user' /usr/local/php8/etc/php-fpm.d/www.conf

将user改为apache因为httpd的用户是apache

sed -i 's@user = nobody@user = apache@' /usr/local/php8/etc/php-fpm.d/www.conf

添加systenctl 配置文件

root@localhost php-fpm.d# cat /usr/lib/systemd/system/php-fpm.service

Unit

Description=php-fpm

After=syslog.target network.target

Service

Type=forking

ExecStart=/usr/local/php8/sbin/php-fpm

#标红为自己php路径的php-fp配置文件

ExecReload=/bin/kill -USR2 $MAINPID

PrivateTmp=true

Install

WantedBy=multi-user.target

给该脚本增加权限

chmod 700 /usr/lib/systemd/system/php-fpm.service

刷新

systemctl daemon-reload

启动 开机自启 查看状态

systemctl start php-fpm && systemctl enable php-fpm && systemctl status php-fpm

修改apache的配置文件

1

vim /usr/local/apache/conf/httpd.conf

将153行的注释删掉

2

find / -type f -name "libphp.so" 查找该文件的路径

将155行的

LoadModule php_module /usr/local/apache/modules/libphp.so

标红为php模块的路径 ,可以根据实际情况进行修改。

3

修改 AllowOverride none 为 All 此版本的 apache 在最后一个 如下

4

修改 apache 的进程守护者

找到 User 将用户和组的名称改为 创建的 apache 用户

5

添加默认访问 index.php 作为首页访问 (改为如下内容)

5

修改以下高亮内容

AddType application/x-httpd-php .php

AddType application/x-httpd-php .php .phtml .php3

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

6

检查配置语法

root@localhost \~# /usr/local/apache/bin/apachectl -t

Syntax OK

关闭

root@localhost \~# /usr/local/apache/bin/apachectl stop

启动

root@localhost \~# /usr/local/apache/bin/apachectl start

重启

/usr/local/apache/bin/apachectl restart

测试php能否被apche识别

cd /usr/local/apache/htdocs/

cat >index.php<<EOF

<?php

phpinfo();

?>

EOF

/usr/local/apache/bin/apachectl restart

可以被识别

相关推荐
YXXY3137 小时前
线程的介绍(四)
linux
李白你好8 小时前
AI Agent 架构的自动化渗透测试工具
运维·人工智能·自动化
Snasph8 小时前
GNU Make 用户手册(中文版)
服务器·算法·gnu
广州灵眸科技有限公司8 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
一勺菠萝丶8 小时前
Docker Desktop 启动后容器自动启动怎么办?如何关闭容器自启动
运维·docker·容器
Esaka_Forever9 小时前
uv init 完整用法(Python 最快包管理器)
服务器·python·uv
溜达的大象9 小时前
服务器挂了等用户报障?我用Prometheus搭了一套监控告警,服务器出状况第一时间通知我
服务器·php·prometheus
ylscode9 小时前
Comodo防火墙曝致命零日漏洞:单个IPv6数据包即可触发Windows蓝屏死机
运维·网络·windows·安全·安全威胁分析
kTR2hD1qb10 小时前
从 Responses API 到 Chat Completions:一个模型网关的设计复盘
linux·前端
实在智能RPA10 小时前
药企GMP合规自动化破局:实在Agent的功能完整度评估与落地实践
运维·人工智能·ai·自动化