版本:v1.0
日期:2026年5月20日
适用环境:CentOS 7.x x86_64
软件版本:Apache 2.4.28 + MySQL 5.7.32 + PHP 7.4.16 + PhpMyAdmin 5.1.0

默认已配置yum源:设置阿里云的基本源和扩展epel源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

目录

一、环境准备与初始化

1.1 系统安全与服务检查

1.2 系统信息与资源确认

1.3 目录规划与软件包准备

1.4 安装基础开发工具

二、编译安装OpenSSL 1.0.2m

三、编译安装Apache 2.4.28

3.1 编译安装

3.2 配置系统服务

四、二进制安装MySQL 5.7.32

4.1 安装前准备

4.2 初始化数据库

4.3 配置系统服务

4.4 修改MySQL的 root密码

五、编译安装PHP 7.4.16

5.1 安装依赖包

5.2 配置pkg-config环境

5.3 编译安装PHP

六、Apache与PHP集成配置

6.1 复制PHP配置文件

6.2 修改Apache配置文件

6.3 重启Apache服务

七、功能测试

7.1 测试PHP解析

7.2 测试PHP连接MySQL

八、安装PhpMyAdmin 5.1.0

8.1 解压并部署

8.2 编译安装PHP OpenSSL扩展

8.3 配置PHP加载OpenSSL扩展

8.4 配置PhpMyAdmin

8.5 访问PhpMyAdmin

九、常见问题排查


一、环境准备与初始化

1.1 系统安全与服务检查

关闭SELinux(临时生效,永久生效需修改/etc/selinux/config)

setenforce 0

验证SELinux状态

sestatus

关闭防火墙并禁用开机自启

systemctl stop firewalld && systemctl disable firewalld

验证防火墙规则

iptables -vnL

检查关键端口占用(80/443/3306)若有占用,停止对应服务并禁用自启

ss -tulanp | grep -E '80|443|3306'

systemctl stop <服务名> && systemctl disable <服务名>

1.2 系统信息与资源确认

查看IPv4地址

ip -4 a

查看内存资源

free -g

查看磁盘分区

df -Th

1.3 目录规划与软件包准备

创建部署目录

mkdir -pv /opt/lamp

将所有软件包上传至/opt/lamp/目录(可用xftp)
所需软件包列表:
openssl-1.0.2m.tar.gz
httpd-2.4.28.tar.gz
mysql-5.7.32-el7-x86_64.tar.gz
oniguruma-6.8.2-1.el7.x86_64.rpm
oniguruma-devel-6.8.2-1.el7.x86_64.rpm
php-7.4.16.tar.bz2
phpMyAdmin-5.1.0-all-languages.zip
my.cnf(MySQL配置文件)

1.4 安装基础开发工具

安装编译依赖

yum -y install gcc gcc-c++ make openssl-devel
yum -y install apr apr-util apr-util-devel pcre pcre-devel

二、编译安装OpenSSL 1.0.2m

解压源码包、配置编译参数、编译并安装

tar xvfz /opt/lamp/openssl-1.0.2m.tar.gz -C /usr/src/
cd /usr/src/openssl-1.0.2m/

./config --prefix=/usr/local/ssl --shared;echo $?

make -j `nproc` && make install;echo $?

说明--shared参数生成动态链接库,供后续Apache和PHP调用

验证安装

ll /usr/local/ssl/

ll /usr/local/ssl/bin/

ll /usr/local/ssl/lib/

三、编译安装Apache 2.4.28

3.1 编译安装

解压源码包、配置编译参数、编译并安装

tar xvfz /opt/lamp/httpd-2.4.28.tar.gz -C /usr/src/
cd /usr/src/httpd-2.4.28/

./configure --prefix=/usr/local/apache2 \
--enable-so \
--enable-rewrite \
--enable-ssl \
--with-ssl=/usr/local/ssl \
--with-mpm=prefork;echo $?

make -j `nproc` && make install;echo $?

关键参数说明

  • --prefix:指定安装路径
  • --enable-so:启用DSO动态共享模块加载
  • --enable-rewrite:启用URL重写功能
  • --enable-ssl:启用HTTPS支持
  • --with-mpm=prefork:指定prefork运行模式

3.2 配置系统服务

复制启动脚本

cp -av /usr/local/apache2/bin/apachectl /etc/init.d/httpd

编辑启动脚本,添加chkconfig配置

vim /etc/init.d/httpd

在文件开头添加以下两行:

#chkconfig: 35 85 21
#description: apache!

添加为系统服务并设置开机自启

chkconfig --add httpd
chkconfig --list httpd 

启动Apache服务

systemctl start httpd

验证服务状态

ps aux | grep httpd

ss -tulanp | grep 80

Apache核心路径

  • 安装目录:/usr/local/apache2/
  • 主配置文件:/usr/local/apache2/conf/httpd.conf
  • 网站根目录:/usr/local/apache2/htdocs/
  • 启动命令:/usr/local/apache2/bin/apachectl

四、二进制安装MySQL 5.7.32

4.1 安装前准备

解压二进制包

tar zxvf /opt/lamp/mysql-5.7.32-el7-x86_64.tar.gz -C /usr/src

移动并重命名

mv -v /usr/src/mysql-5.7.32-el7-x86_64/ /usr/local/mysql

创建数据存储目录

mkdir -pv /data/mysql

创建mysql系统用户

useradd -r -s /sbin/nologin -d /usr/local/mysql/ mysql

设置目录权限

chown -R mysql:mysql /usr/local/mysql/ /data/mysql/

4.2 初始化数据库

cd /usr/local/mysql/
./bin/mysqld --initialize \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/data/mysql;echo $?

重要:初始化完成后,终端会输出临时root密码红框,请务必记录下来

4.3 配置系统服务

复制配置文件

\cp -av /opt/lamp/my.cnf /etc/

复制启动脚本

cd /usr/local/mysql/support-files/

cp -av mysql.server /etc/init.d/mysql

编辑启动脚本,指定路径

vim /etc/init.d/mysql

修改以下两行:

basedir=/usr/local/mysql
datadir=/data/mysql

设置脚本权限并添加为系统服务

chmod 755 /etc/init.d/mysql
chkconfig --add mysql
chkconfig --level 345 mysql on

启动MySQL服务

systemctl start mysql

验证服务状态

ss -tulanp | grep 3306

4.4 修改MySQL的 root密码

使用临时密码登录

/usr/local/mysql/bin/mysql -u root -p'临时密码'

在MySQL命令行中执行,将密码改为1,可以自己设置复杂密码

mysql> set password=password('1');
mysql> flush privileges;
mysql> exit;

可以用自己设置的密码试验一下是否可以登录

五、编译安装PHP 7.4.16

5.1 安装依赖包

安装系统自带依赖

yum install -y systemd-devel libxml2-devel sqlite-devel libcurl-devel libpng-devel

安装oniguruma正则库

rpm -ivh /opt/lamp/oniguruma-6.8.2-1.el7.x86_64.rpm
rpm -ivh /opt/lamp/oniguruma-devel-6.8.2-1.el7.x86_64.rpm

5.2 配置pkg-config环境

创建pkgconfig目录

mkdir -pv /usr/local/lib/pkgconfig/

创建OpenSSL库链接

ln -sv /usr/local/ssl/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/

配置环境变量

vim ~/.bash_profile

添加以下两行:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

使环境变量生效

source ~/.bash_profile

验证

pkg-config --list-all | grep openssl

5.3 编译安装PHP

解压源码包

tar xvfj /opt/lamp/php-7.4.16.tar.bz2 -C /usr/src/

若出现以上报错,可以安装一下bzip2

yum -y install bzip2

配置编译参数、编译并安装

cd /usr/src/php-7.4.16/

./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-mysqlnd \
--with-pdo-mysql \
--with-mysqli \
--with-openssl-dir=/usr/local/ssl \
--with-openssl \
--enable-gd \
--with-zlib-dir \
--with-curl \
--with-pear \
--enable-inline-optimization \
--enable-soap \
--enable-sockets \
--enable-mbstring \
--enable-fpm \
--with-fpm-user=mysql \
--with-fpm-group=mysql \
--with-fpm-systemd \
--with-apxs2=/usr/local/apache2/bin/apxs;echo $?

make -j `nproc` && make install;echo $?

六、Apache与PHP集成配置

6.1 复制PHP配置文件

cd /usr/src/php-7.4.16/

cp -av php.ini-production /usr/local/php/etc/php.ini

6.2 修改Apache配置文件

vim /usr/local/apache2/conf/httpd.conf

添加以下内容:

让Apache支持PHP文件解析

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

添加PHP首页

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

6.3 重启Apache服务

systemctl restart httpd

七、功能测试

7.1 测试PHP解析

创建测试页面

cat > /usr/local/apache2/htdocs/index.php <<'EOF'
<?php
echo "Hello World";
?>
EOF

cat > /usr/local/apache2/htdocs/info.php <<'EOF'
<?php
phpinfo();
?>
EOF

浏览器访问:

7.2 测试PHP连接MySQL

创建数据库连接测试页面

vim /usr/local/apache2/htdocs/linkdb.php
<?php

$link =mysqli_connect(

'localhost',

'root',

'1',  #这里写步骤4.4中自己设置的mysql的root密码

'mysql');

if($link){

printf("Congratulations!");

}

?>

浏览器访问:http://服务器IP/linkdb.php,显示连接成功信息

八、安装PhpMyAdmin 5.1.0

8.1 解压并部署

安装unzip工具

yum -y install unzip

解压并移动到网站根目录

cd /opt/lamp/

unzip phpMyAdmin-5.1.0-all-languages.zip

cd /usr/local/apache2/htdocs/

mv -v /opt/lamp phpMyAdmin-5.1.0-all-languages phpMyAdmin

8.2 编译安装PHP OpenSSL扩展

切换到PHP扩展目录

cd /usr/src/php-7.4.16/ext/openssl/

重命名配置文件

mv -v config0.m4 config.m4

生成configure文件

/usr/local/php/bin/phpize;echo $?

 配置并编译安装

./configure --with-openssl \

--with-php-config=/usr/local/php/bin/php-config;echo $?

make -j `nproc` && make install;echo $?

8.3 配置PHP加载OpenSSL扩展

编辑php.ini文件(步骤6.1复制过)

vim /usr/local/php/etc/php.ini

在文件末尾添加

extension=openssl.so

复制扩展文件到指定目录

cp -av /usr/local/php/lib/php/extensions/no-debug-non-zts-20190902/openssl.so /usr/local/php/etc/

重启Apache

systemctl restart httpd

8.4 配置PhpMyAdmin

进入PhpMyAdmin目录

cd /usr/local/apache2/htdocs/phpMyAdmin/

复制配置文件

cp -av config.sample.inc.php config.inc.php

编辑配置文件

vim config.inc.php

修改以下内容(可选,生产环境建议使用cookie认证):

$cfg['Servers'][$i]['auth_type'] = 'cookie';  // 推荐使用cookie认证
// $cfg['Servers'][$i]['user'] = 'root';      // 自动登录用户名(不推荐)
// $cfg['Servers'][$i]['password'] = 'root';  // 自动登录密码(不推荐)

8.5 访问PhpMyAdmin

浏览器访问:http://服务器IP/phpMyAdmin/
使用MySQL的root账号(密码:1)登录

九、常见问题排查

  1. Apache启动失败:检查80端口是否被占用,配置文件语法是否正确(/usr/local/apache2/bin/apachectl -t
  2. PHP页面无法解析:检查Apache配置文件中是否添加了PHP类型映射,确认libphp7.so模块已加载
  3. MySQL连接失败:检查3306端口是否开放,MySQL服务是否启动,用户名密码是否正确
  4. PhpMyAdmin显示空白:检查PHP OpenSSL扩展是否正确安装并加载,查看Apache错误日志
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐