如何在 CentOS 上安装 LAMP 堆栈(Apache、MariaDB/MySQL 和 PHP)
LAMP 堆栈是一种流行的服务器端软件堆栈,用于在 Linux 平台上构建和运行动态网站和 Web 应用程序。 LAMP 堆栈由 Apache(作为 HTTP 服务器)、MariaDB 或 MySQL(作为数据库后端)以及 PHP、Perl 或 Python(作为服务器端编程语言)组成,因此缩写为“LAMP”。 LAMP 堆栈还存在其他变体,例如 LEMP(Nginx、MySQL、PHP)、LAPP(Apache、PostgreSQL、PHP)、LLPR(Lighttpd、PostgreSQL、Ruby on Rails)等。

在本教程中,我将描述如何在 CentOS 服务器上使用 Apache、MariaDB/MySQL 和 PHP 安装和设置 LAMP 堆栈。本教程适用于 CentOS 6 以及 CentOS 7 平台。如果您想在 Ubuntu 服务器上安装 LAMP 堆栈,请参阅本教程。
第一步:Apache HTTP 服务器
第一步,让我们在 CentOS 上安装 Apache HTTP 服务器。之后我们还将对 Apache 服务器进行基本配置,例如将 Apache 服务添加到自动启动列表中,以及在防火墙中打开 HTTP 端口。
安装 Apache HTTP 服务器
$ sudo yum install httpd
启动 Apache HTTP 服务器并配置防火墙
在 CentOS 7 上:
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload
在 CentOS 6 上:
$ sudo service httpd start
$ sudo chkconfig httpd on
$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo service iptables save
测试 Apache HTTP 服务器
要测试安装,请检查 httpd
守护进程是否已成功启动并运行。
在 CentOS 7 上:
$ sudo systemctl status httpd

在 CentOS 6 上:
$ sudo service httpd status
httpd (pid 2069) is running...
确认httpd
的状态后,打开Web浏览器,进入http://
,看看是否可以加载默认的Apache网页。下面的屏幕截图显示了 CentOS 6 (192.168.1.8
) 和 CentOS 7 (192.168.1.11
) 上的默认 Apache 网页。

请注意,在 CentOS 6 和 7 上,httpd
的默认文档根目录都是 /var/www/html
。让我们继续下一步。
第二步:MariaDB/MySQL
下一步是为 LAMP 堆栈设置数据库后端,对此我们有两个选择:MySQL 和 MariaDB。虽然 CentOS/RHEL 6 附带 MySQL 服务器/客户端软件包,但 CentOS/RHEL 7 放弃了 MySQL,而是提供 MariaDB(社区开发的 MySQL 分支)作为默认数据库。
以下是如何安装 MariaDB/MySQL 服务器,并将其设置为开机自动启动。
在 CentOS 7 上:
$ sudo yum install mariadb-server
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb
在 CentOS 6 上:
安装MySQL服务器/客户端包,并启动MySQL服务器,如下所示。
$ sudo yum install mysql-server
$ sudo service mysqld start
$ sudo chkconfig mysqld on
由于 MariaDB 和 MySQL 在 API 和命令行使用方面相互兼容,因此无论您选择 MariaDB 还是 MySQL,LAMP 堆栈的配置和操作方式几乎相同。
作为安全预防措施,请运行 MariaDB/MySQL 服务器包中包含的以下附加脚本。
$ sudo mysql_secure_installation

该脚本将重新配置数据库服务器以实现服务器强化目的。例如,它将更改(空)root 密码、删除匿名用户、禁止远程 root 登录以及删除默认测试数据库。
第三步:PHP
设置 LAMP 堆栈的最后一步是安装 PHP,这是一种服务器端脚本语言,负责为用户创建动态网页。 LAMP 堆栈至少需要安装以下两个软件包。
$ sudo yum install php php-mysql
php-gd
:PHP 应用程序中图像处理所需的。php-odbc
:PHP 应用程序中 ODBC 数据库访问所需的。php-pecl-memcache
:设置 Memcached 缓存守护进程时需要。php-pgsql
:在 PHP 应用程序中访问 PostgreSQL 数据库所需。php-snmp
:在 PHP 应用程序中查询 SNMP 管理的设备时需要。php-xml
:在 PHP 应用程序中解析 XML 时需要。php-soap
:需要在 PHP 应用程序中支持 SOAP 协议。php-xmlrpc
:需要在 PHP 应用程序中支持 XML-RPC 协议。
您可以通过运行以下命令获取可用 PHP 模块的完整列表:
$ yum search php-
接下来,让我们更改 PHP 应用程序使用的默认时区。您需要使用 tzselect 命令找出您的时区。
$ tzselect

回答一系列问题后,tzselect
将打印出您的时区字符串(例如 America/New_York
)。使用文本编辑器打开 /etc/php.ini
文件,然后添加以下行。
date.timezone = "America/New_York"
安装 PHP 后不要忘记重新启动 httpd
。
在 CentOS 7 上:
$ sudo systemctl restart httpd
在 CentOS 6 上:
$ sudo service httpd restart
最后,我们来检查一下PHP是否正常运行。为此,请使用以下命令,并检查 phpinfo() 的输出是否正确显示。
$ php -r "phpinfo();" | more

验证 PHP 命令行输出后,让我们创建一个测试 PHP 文件,如下所示,并验证 Apache HTTP 服务器是否成功加载该 PHP 文件。
$ sudo vi /var/www/html/test.php
<?php phpinfo(); ?>
在网络浏览器中访问 http://
。您应该看到以下输出。

现在您已经成功设置了 LAMP 堆栈!