尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

LAMP 环境搭建:从零到登录 phpMyAdmin

发布时间:2026/9/29 23:30:18

资讯中心
01
ARTICLE

LAMP 环境搭建:从零到登录 phpMyAdmin

LAMP 环境搭建:从零到登录 phpMyAdmin
LAMP 环境搭建从零到登录 phpMyAdmin面向零基础学员。本路线用系统仓库直接安装不编译、不下载源码包几分钟即可打开 phpMyAdmin。配套脚本见scripts/01安装 /02配置 /03验证 /04总控 /05总验证。0. 实验目标在 CentOS 7 上搭建LAMPLinux Apache MariaDB PHP并部署 phpMyAdmin 图形化管理工具最终用浏览器登录完成建库、建表、执行 SQL 等管理操作。0.5 实战路径真实踩坑版如果你也拿到了一个「源码编译」压缩包但只想尽快打开 phpMyAdmin可以参考本次实战的真实路径放弃源码编译压缩包里的*.tar.gz是第一路线。如果镜像下载失败、libmcrypt解压损坏、或 yum 外源失效不要硬刚直接切第二路线yum 包安装。修 yum 源CentOS 7 官方源已下线必须换阿里云 Vault 源见第 1 节。手动 yum 安装比脚本更快定位问题yum-yinstallhttpd mariadb-server php php-mysql phpmyadmin systemctlenable--nowhttpd mariadb处理 phpMyAdmin 403不要建99-xxx.conf直接改/etc/httpd/conf.d/phpMyAdmin.conf里的Require local→Require all granted见 5.2。处理 root 密码如果mysql_secure_installation进不去之前重置过/已有密码先用Lamp123试若都不对再按 3.2 的 skip-grant 方式重置。登录浏览器开http://IP/phpMyAdmin/注意大写 A账号root密码Lamp123。本次实战最终环境CentOS 7.9.2009Apache 2.4.6MariaDB 5.5.68PHP 5.4.16phpMyAdmin 4.4.15.10IP115.29.223.28。1. 系统依赖准备CentOS 7 源修复CentOS 7 官方源已下线先换成阿里云 Vault 源一次性操作mkdir-p/etc/yum.repos.d/bakmv/etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/2/dev/nullcat/etc/yum.repos.d/CentOS-Vault.repoEOF [base] nameCentOS-7.9.2009 - Base - aliyun baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/os/$basearch/ gpgcheck0 enabled1 [updates] nameCentOS-7.9.2009 - Updates - aliyun baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/updates/$basearch/ gpgcheck0 enabled1 [extras] nameCentOS-7.9.2009 - Extras - aliyun baseurlhttps://mirrors.aliyun.com/centos-vault/7.9.2009/extras/$basearch/ gpgcheck0 enabled1 [epel] nameEPEL 7 baseurlhttps://mirrors.aliyun.com/epel-archive/7/$basearch/ gpgcheck0 enabled1 EOFyum clean allyum makecache验证yum -y install gcc能装上即说明源可用。2. 安装 LAMPyum 包安装yum-yinstallepel-release yum-yinstallhttpd mariadb-server mariadb php php-cli php-common php-mysql\php-gd php-mbstring php-xml php-mcrypt php-zip php-bcmath php-intl php-ldap\phpmyadmin包作用httpdApache Web 服务器mariadb-server/mariadbMariaDB 数据库服务端/客户端phpphp-mysqlPHP 解释器与 MySQL 驱动mysqli/PDOphp-gd/mcrypt/mbstring/xml图像处理、加密、多字节、XMLphpMyAdmin 依赖phpmyadmin图形化数据库管理工具来自 EPEL3. MariaDB 初始化与安全加固3.1 初始化数据目录并启动# 若 /var/lib/mysql 尚未初始化无 mysql 系统库ls/var/lib/mysql/mysql/dev/null||mysql_install_db--usermysql--datadir/var/lib/mysqlchown-Rmysql:mysql /var/lib/mysql systemctlenable--nowmariadb3.2 设置 root 密码新装环境root 空密码mysql-urootSQL UPDATE mysql.user SET PasswordPASSWORD(你的强密码) WHERE Userroot; FLUSH PRIVILEGES; SQL若mysql_secure_installation报 1045root 已有密码但你忘了按下面 skip-grant 流程重置为Lamp123systemctl stop mariadbpkill-9-fmysqld_safe;pkill-9-fmysqld;sleep3psaux|grepmysqld|grep-vgrep# 应无输出mysqld_safe --skip-grant-tables --skip-networkingsleep5mysql-uroot进去后执行UPDATEmysql.userSETPasswordPASSWORD(Lamp123)WHEREUserroot;FLUSHPRIVILEGES;exit再回 shell# 先杀 mysqld_safewatchdog再杀 mysqld防止它自动重启pkill-9-fmysqld_safe;pkill-9-fmysqld;sleep3rm-f/var/run/mariadb/mariadb.pid /var/lib/mysql/mysql.sock systemctl start mariadb mysql-uroot-p# 输 Lamp123 验证注意改完密码后不要单独用killall mysqld关库mysqld_safe会把它自动重启导致实例状态混乱。正确顺序是退出 mysql 客户端 →pkill -9 mysqld_safe→pkill -9 mysqld→ 正常 systemctl 起库。3.3 安全加固删匿名用户 / 禁 root 远程 / 删 test 库mysql-uroot-p你的强密码SQL DELETE FROM mysql.user WHERE User; DELETE FROM mysql.user WHERE Userroot AND Host NOT IN (localhost,127.0.0.1); DROP DATABASE IF EXISTS test; DELETE FROM mysql.db WHERE Dbtest OR Dbtest\\_%; FLUSH PRIVILEGES; SQL3.4 创建管理账号与演示数据mysql-uroot-p你的强密码SQL CREATE USER IF NOT EXISTS lampadminlocalhost IDENTIFIED BY Lampadmin123; GRANT ALL PRIVILEGES ON *.* TO lampadminlocalhost WITH GRANT OPTION; CREATE DATABASE IF NOT EXISTS lampdemo DEFAULT CHARSET utf8; USE lampdemo; CREATE TABLE IF NOT EXISTS students( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, class VARCHAR(30) ) ENGINEInnoDB DEFAULT CHARSETutf8; INSERT INTO students(name,age,class) VALUES (张三,18,计算机1班),(李四,19,软件2班); FLUSH PRIVILEGES; SQL4. Apache 与 PHP 配置4.1 设置 PHP 时区编辑/etc/php.inidate.timezone Asia/Shanghai memory_limit 256M upload_max_filesize 64M post_max_size 64M max_execution_time 3004.2 Apache ServerName避免启动告警新建/etc/httpd/conf.d/00-lamp-lab.confServerName lamp.lab.local:80 DirectoryIndex index.php index.html5. phpMyAdmin 配置5.1 设置 blowfish_secretCookie 认证必需32 字符编辑/etc/phpmyadmin/config.inc.php加入或确认存在$cfg[blowfish_secret]这里填32位随机字符串abcdefghijklmnopqrstuvwxyz12;5.2 允许从浏览器访问解决 403yum 装的 phpMyAdmin 默认只允许本机访问浏览器从其他 IP 访问会报403 ForbiddenApache error_log 里可见AH01630: client denied by server configuration: /usr/share/phpMyAdmin/错误做法自己建/etc/httpd/conf.d/99-phpmyadmin-open.conf写Require all granted。原因Apache 按文件名字典序加载99-排在phpMyAdmin.conf前面你的配置会被后者覆盖且两个 Alias 会冲突日志里出现AH00671: overlaps an earlier Alias。正确做法直接改原文件把所有Require local/Require ip 127.0.0.1/Require ip ::1全替换cp/etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.bakrm-f/etc/httpd/conf.d/99-phpmyadmin-open.conf# 删除之前可能冲突的sed-i\-es|Require local|Require all granted|\-es|Require ip 127.0.0.1|Require all granted|\-es|Require ip ::1|Require all granted|\/etc/httpd/conf.d/phpMyAdmin.conf systemctl restart httpd验证curl-sIhttp://127.0.0.1/phpMyAdmin/|head-3# 应返回 HTTP/1.1 200 OKyum 版默认 Alias 是/phpMyAdmin大写 A不是/phpmyadmin。浏览器访问http://IP/phpMyAdmin/。生产环境应改为具体网段如Require ip 192.168.42.0/24。5.3 高级功能可选mysql-uroot-p你的强密码-eCREATE DATABASE IF NOT EXISTS phpmyadmin DEFAULT CHARSET utf8;mysql-uroot-p你的强密码 phpmyadmin/usr/share/phpmyadmin/sql/create_tables.sql6. 防火墙与 SELinux# 防火墙systemctlenable--nowfirewalld firewall-cmd--permanent--add-servicehttp firewall-cmd--reload# SELinux仅 Enforcing 时需要setsebool-Phttpd_can_network_connect_db on restorecon-R/var/www/html启动服务systemctlenable--nowhttpd mariadb7. 打开页面并登录查本机 IPhostname -I如192.168.42.136或你的公网 IP浏览器打开http://本机IP/phpMyAdmin/注意大写 A登录账号若执行了 3.4 的lampadmin创建账号lampadmin/ 密码Lampadmin123若手动安装只改了 root 密码账号root/ 密码Lamp123左侧选lampdemo→students→ 浏览看到演示数据即成功用「SQL」标签页执行INSERT INTO students(name,age,class) VALUES(赵六,21,网络3班);8. 关键配置文件说明文件说明/etc/httpd/conf/httpd.confApache 主配置监听端口、模块加载/etc/httpd/conf.d/00-lamp-lab.conf本实验追加ServerName / DirectoryIndex/etc/httpd/conf.d/phpmyadmin.confphpMyAdmin 别名与访问控制在/phpmyadmin/etc/php.iniPHP 全局配置时区、内存、上传/etc/phpmyadmin/config.inc.phpphpMyAdmin 配置blowfish_secret / 控制账号/etc/my.cnf//etc/my.cnf.d/*MariaDB 配置/var/www/html/Web 根目录index.php / info.php / dbtest.php/etc/lamp-lab/credentials.conf脚本生成的账号密码权限 6009. 常见故障排查现象原因处理yum报Cannot find a valid baseurlCentOS 7 官方源下线按第 1 节换阿里云 Vault 源浏览器打不开页面防火墙/服务未起systemctl status httpdfirewall-cmd --add-servicehttp --permanentphpMyAdmin 显示 403 Forbidden默认仅本机访问改phpmyadmin.conf的Require local→Require all grantedphpMyAdmin 报blowfish_secret错误未设置或不足 32 字符在config.inc.php设 32 字符登录后高级功能提示表不存在未建 phpmyadmin 库执行第 5.3 节导入create_tables.sqlPHP 页面变成下载而非解析PHP 模块未加载确认php与php-mysql已装httpd -Mmysqli连接失败root 密码/权限问题用mysql -uroot -p验证检查lampweb账号存在mysql_secure_installation报 1045root 已有密码可能之前重置过用 3.2 节的 skip-grant 流程重置或直接用已知密码Lamp123登录重置密码后仍 1045mysqld_safe自动重启导致实例状态混乱先pkill -9 mysqld_safe再pkill -9 mysqld清理 pid/socket 后systemctl start mariadb/phpmyadmin/404大小写错误 / Alias 未加载yum 版默认 Alias 是/phpMyAdmin大写 A浏览器访问http://IP/phpMyAdmin//phpmyadmin/403 且已改过 Require自建99-xxx.conf与原phpMyAdmin.conf冲突删除99-xxx.conf直接 sed 修改phpMyAdmin.conf见 5.2
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。