CentOS7.3搭建Apache+MySQL+PHP环境

一、安装Apache

  1. 安装Apache
   yum -y install httpd
  1. 开启Apache服务
   systemctl start httpd.service
  1. 设置Apache服务开机启动
   systemctl enable httpd.service
  1. 验证Apache服务是否安装成功
  • 在本机浏览器中输入虚拟机的IP地址,CentOS7查看IP地址的方式为:
    bash ip addr
  • 阿里云用户不需要使用此方式查看,外网IP已在主机列表中显示。
  • 如果访问不成功(阿里云用户使用外网访问通常能成功,无需以下步骤),CentOS7使用Firewall-cmd防火墙,需执行以下操作以允许外网访问Apache主目录:
    bash firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload
  • 如果出现报错:FirewallD is not running,需启动防火墙服务:
    bash systemctl start firewalld.service
  • 再次访问外网IP,如果看到Apache默认页面(带有“Testing 123…”字样),则表示Apache服务安装成功。
  • 如果阿里云无法访问,需在管理实例中添加安全组规则。

二、安装PHP

  1. 安装PHP
   yum -y install php
  1. 重启Apache服务
   systemctl restart httpd
  1. 测试PHP是否安装成功
  • 在目录 /var/www/html 下创建 info.php 文件:
    bash vi /var/www/html/info.php
  • 文件内容:
    php <?php phpinfo(); ?>
  • 在浏览器中访问 IP地址/info.php,如果显示PHP服务器参数等信息,则表示PHP安装成功。

三、安装MySQL

  1. 下载MySQL
   wget https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
  1. 安装MySQL
   rpm -ivh mysql-community-release-el7-5.noarch.rpm
   yum install mysql-community-server
  1. 重启MySQL服务
   service mysqld restart
  • 输出:Redirecting to /bin/systemctl restart mysqld.service
  • 直接输入 mysql 即可连接到服务器。
  1. 设置MySQL用户密码
   SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');
  • 提示成功后,退出MySQL:
    sql QUIT;
  • 再次连接MySQL时需输入密码。

四、PHP和MySQL关联

  1. 搜索PHP模块
   yum search php
  1. 安装PHP-MySQL模块
   yum -y install php-mysql

五、安装常用PHP模块

  1. 安装GD库、LDAP、XML等模块
   yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
  1. 重启Apache服务
   systemctl restart httpd.service
  1. 再次运行 info.php 查看安装结果

六、远程连接服务器数据库

  1. 连接报错处理
  • 错误:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
  • 原因:MySQL未开启远程访问。
  • 解决方法:
    sql USE mysql; UPDATE user SET host='%' WHERE user='root'; FLUSH PRIVILEGES;
  • 如果仍有报错,可忽略并继续执行。
  1. 连接报错处理
  • 错误:2003 Can't connect to MySQL server on '192.168.0.1' (10038)
  • 原因:防火墙未开放3306端口。
  • 解决方法:
    bash firewall-cmd --add-port=3306/tcp --permanent firewall-cmd --reload

七、Firewall常用命令

  1. 查看防火墙状态
   firewall-cmd --state
  1. 重新载入配置
   firewall-cmd --reload
  1. 列出支持的Zone
   firewall-cmd --get-zones
  1. 列出支持的服务
   firewall-cmd --get-services
  1. 查看FTP服务是否支持
   firewall-cmd --query-service ftp
  1. 临时开放FTP服务
   firewall-cmd --add-service=ftp
  1. 永久开放FTP服务
   firewall-cmd --add-service=ftp --permanent
  1. 永久移除FTP服务
   firewall-cmd --remove-service=ftp --permanent
  1. 永久添加80端口
   firewall-cmd --add-port=80/tcp --permanent
  1. 查看防火墙规则 iptables -L -n
  2. 查看帮助
    bash man firewall-cmd

总结

LAMP环境(Linux + Apache + MySQL + PHP)搭建完成,可通过远程连接服务器数据库进行进一步操作。