CentOS 下 PHP 环境搭建指南
在 CentOS 系统上搭建 PHP 环境是许多开发者和系统管理员的常见需求,本文将详细介绍如何在 CentOS 系统上安装和配置 Apache、MySQL/MariaDB 以及 PHP,以建立一个完善的 LAMP(Linux, Apache, MySQL/MariaDB, PHP)或 LNMP(Linux, Nginx, MySQL/MariaDB, PHP)开发环境。
一、系统准备
1、更新系统软件包:
确保系统软件包是最新的,打开终端并执行以下命令:
sudo yum update y
2、安装基本开发工具:
安装一些基本的开发工具和库,这些工具在后面的编译过程中可能会用到:
sudo yum groupinstall "Development Tools" y sudo yum install wget y
二、安装 Apache
1、安装 Apache:
执行以下命令来安装 Apache:
sudo yum install httpd y
2、启动并启用 Apache:
sudo systemctl start httpd sudo systemctl enable httpd
3、配置防火墙:
允许 HTTP 服务通过防火墙:
sudo firewallcmd permanent addservice=http sudo firewallcmd reload
4、验证 Apache 安装:
在浏览器中访问http://<your_server_ip>
,如果看到 Apache 的默认页面,则说明安装成功。
三、安装 MySQL/MariaDB
1、安装 MariaDB:
CentOS 7 及更高版本内置了 MariaDB,可以通过以下命令安装:
sudo yum install mariadbserver mariadb y
2、启动并启用 MariaDB:
sudo systemctl start mariadb sudo systemctl enable mariadb
3、运行安全脚本:
sudo mysql_secure_installation
按照提示设置 root 密码、移除匿名用户、禁用 root 远程登录等。
4、验证 MariaDB 安装:
mysql u root p
输入密码后进入 MariaDB 提示符,即说明安装成功。
四、安装 PHP
1、安装 PHP:
执行以下命令来安装 PHP:
sudo yum install php y
2、安装常用的 PHP 模块:
sudo yum install phpmysqlnd phpfpm phpcli phpgd phpldap phpodbc phppear phpxml phpxmlrpc phpmbstring phpsnmp phpsoap curl curldevel y
3、编辑php.ini
:
启用短标签功能:
sudo vi /etc/php.ini
找到并修改short_open_tag = On
,保存并退出。
4、重启 Apache 服务:
sudo systemctl restart httpd
5、验证 PHP 安装:
在/var/www/html
目录下创建一个info.php
文件:
sudo vi /var/www/html/info.php
添加以下内容:
<?php phpinfo(); ?>
保存并退出,然后在浏览器中访问http://<your_server_ip>/info.php
,如果看到 PHP 信息页面,则说明安装成功。
五、安装并配置 VSFTPD (可选)
1、安装 VSFTPD:
sudo yum install vsftpd y
2、启动并启用 VSFTPD:
sudo systemctl start vsftpd sudo systemctl enable vsftpd
3、配置防火墙:
sudo firewallcmd permanent addservice=ftp sudo firewallcmd reload
4、创建 FTP 用户并设置目录权限:
sudo adduser ftpadmin sudo passwd ftpadmin sudo mkdir p /var/www/html/ftp/upload_dir sudo chown R ftpadmin:ftpadmin /var/www/html/ftp/upload_dir sudo chmod R 755 /var/www/html/ftp/upload_dir
5、编辑 VSFTPD 配置文件:
sudo vi /etc/vsftpd/vsftpd.conf
取消注释并修改以下行:
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES allow_writeable_chroot=YES
6、重启 VSFTPD:
sudo systemctl restart vsftpd
六、常见问题与解决方案
1、PHP 未显示页面:
如果访问info.php
只下载文件而不是显示页面,可能是 Apache 未正确处理 PHP 文件,检查以下配置:
sudo vi /etc/httpd/conf/httpd.conf
确保加载了 PHP 模块:
LoadModule php_module modules/libphp.so
然后重启 Apache:
sudo systemctl restart httpd
2、权限问题:
确保 web 目录的权限正确,对于/var/www/html
目录:
sudo chown R apache:apache /var/www/html sudo chmod R 755 /var/www/html
通过以上步骤,您可以在 CentOS 系统上成功搭建一个包含 Apache、MySQL/MariaDB 和 PHP 的完整开发环境,此环境可以用于开发和部署各种动态网站和 Web 应用程序,根据实际需要,您还可以进一步优化和调整配置,以满足特定的性能和安全要求。