在CentOS系统上安装PHP和MySQL是一个常见的任务,尤其是在搭建Web开发环境时,以下将详细介绍如何在CentOS上安装和配置PHP与MySQL,并附上相关FAQs以解答常见问题。
一、安装前准备
1、更新系统软件包:确保系统软件包是最新的,可以使用以下命令进行更新:
sudo yum update y
2、检查系统版本:确认当前操作系统版本,以便选择合适的安装命令和软件包:
cat /etc/redhatrelease
二、安装Apache HTTP服务器
1、安装Apache:使用yum命令安装Apache:
sudo yum install httpd y
2、启动Apache服务:安装完成后,启动Apache服务:
sudo systemctl start httpd
3、设置开机启动:设置Apache服务开机自启:
sudo systemctl enable httpd
4、开放防火墙80端口:允许外部访问Apache服务:
sudo firewallcmd zone=public addport=80/tcp permanent sudo firewallcmd reload
5、测试Apache安装:在浏览器中输入服务器ip地址,如果显示Apache的默认页面,则表示安装成功。
三、安装MySQL数据库
1、下载MySQL Yum仓库:执行以下命令下载MySQL Yum仓库:
wget https://dev.mysql.com/get/mysql80communityreleaseel73.noarch.rpm
2、安装MySQL Yum仓库:使用rpm命令安装MySQL Yum仓库:
sudo rpm ivh mysql80communityreleaseel73.noarch.rpm
3、安装MySQL服务器:使用yum命令安装MySQL服务器:
sudo yum install mysqlserver y
4、启动MySQL服务:安装完成后,启动MySQL服务:
sudo systemctl start mysqld
5、查看初始密码:查看MySQL root用户的初始密码:
sudo grep 'temporary password' /var/log/mysqld.log
6、登录MySQL并修改密码:使用初始密码登录MySQL并修改root用户密码:
mysql u root p use mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; flush privileges; quit;
7、开放防火墙3306端口:允许外部访问MySQL服务:
sudo firewallcmd zone=public addport=3306/tcp permanent sudo firewallcmd reload
8、远程访问配置:允许root用户从任何主机连接:
mysql u root p e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;" mysql u root p e "FLUSH PRIVILEGES"
四、安装PHP及其扩展
1、安装PHP及常用扩展:使用yum命令安装PHP及其常用扩展:
sudo yum install php phpmysqlnd phpgd phpldap phpodbc phppear phpxml phpxmlrpc phpmbstring phpbcmath phpmhash y
2、重启Apache服务:安装完成后,重启Apache服务以使PHP生效:
sudo systemctl restart httpd
3、测试PHP安装:在/var/www/html
目录下创建index.php
如下:
<?php phpinfo(); ?>
然后在浏览器中访问http://服务器IP/index.php
,如果显示PHP信息页面,则表示PHP安装成功。
五、配置虚拟主机(可选)
1、创建虚拟主机配置文件:在/etc/httpd/conf.d/
目录下创建虚拟主机配置文件,如test.conf
:
sudo touch /etc/httpd/conf.d/test.conf sudo vi /etc/httpd/conf.d/test.conf
2、编辑虚拟主机配置文件:添加以下内容到test.conf
文件中:
<VirtualHost *:80> ServerName www.test.com DocumentRoot /var/www/test <Directory "/var/www/test"> Require all granted </Directory> </VirtualHost>
3、创建网站目录并设置权限:创建网站目录并设置合适的权限:
sudo mkdir p /var/www/test sudo chown R wwwdata:wwwdata /var/www/test sudo chmod R 755 /var/www/test
4、重启Apache服务:使虚拟主机配置生效:
sudo systemctl restart httpd
六、安装phpMyAdmin(可选)
1、安装EPEL仓库:首先安装EPEL仓库,以便安装phpMyAdmin:
sudo yum install epelrelease y
2、安装phpMyAdmin:使用yum命令安装phpMyAdmin:
sudo yum install phpmyadmin y
3、配置phpMyAdmin:编辑phpMyAdmin的配置文件/etc/httpd/conf.d/phpMyAdmin.conf
,允许所有IP访问:
<Directory /usr/share/phpMyAdmin>/> AddDefaultCharset UTF8 <IfModule mod_authz_core.c> # Apache 2.4 <RequireAll> Require all granted </RequireAll> </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Allow from All </IfModule> </Directory>
4、重启Apache服务:使phpMyAdmin配置生效:
sudo systemctl restart httpd
5、访问phpMyAdmin:在浏览器中输入http://服务器IP/phpmyadmin
,即可访问phpMyAdmin管理界面。
1. PHP安装后无法解析网页怎么办?
确保Apache服务已启动并正在运行。
检查Apache配置文件中是否加载了PHP模块。
确保PHP文件的扩展名正确(如.php
)。
2. MySQL无法远程连接怎么办?
确保MySQL服务已启动并正在监听正确的端口(默认3306)。
检查防火墙设置,确保3306端口已开放。
检查MySQL用户权限,确保已授权远程访问。
如果使用的是云服务器,检查安全组规则是否允许3306端口的入站流量。