CentOS 7 LAMP 服务部署(学习环境)
版本: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 系统安全与服务检查
关闭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)登录

九、常见问题排查
- Apache启动失败:检查80端口是否被占用,配置文件语法是否正确(/usr/local/apache2/bin/apachectl -t)
- PHP页面无法解析:检查Apache配置文件中是否添加了PHP类型映射,确认libphp7.so模块已加载
- MySQL连接失败:检查3306端口是否开放,MySQL服务是否启动,用户名密码是否正确
- PhpMyAdmin显示空白:检查PHP OpenSSL扩展是否正确安装并加载,查看Apache错误日志
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)