如何在CentOS 8 / RHEL 8上安装LAMP堆栈

本教程显示了如何在CentOS 8和RHEL 8上安装LAMP堆栈。

什么是LAMP堆栈?

软件堆栈是捆绑在一起的一组软件工具。灯 大号inux, 帕舍 中号ariaDB /中号ySQL和 P惠普这些都是开源的。用于运行动态网站和Web应用程序的最常见的软件堆栈。 Linux是一个操作系统。 Apache是​​Web服务器。 MariaDB / MySQL是数据库服务器,PHP是负责生成动态网页的服务器端脚本语言。

先决条件

您可以按照以下教程下载并安装RHEL 8。

  • 如何免费下载和安装RHEL 8

如果您正在寻找虚拟专用服务器(VPS),则可以通过引荐链接向Vultr注册一个帐户,并获得30天使用期的50美元免费信用。

在本教程中,您将使用root帐户来管理管理任务。要切换到root用户,请运行以下命令并输入root密码:

su -

步骤1:更新软件包

在安装LAMP堆栈之前,建议您运行以下命令来更新存储库和软件包:

yum update

步骤2:在CentOS 8 / RHEL 8上安装Apache Web服务器

输入以下命令以安装Apache Web服务器:的 httpd-tools 该软件包将安装有用的实用程序,例如Apache HTTP Server Benchmark Tool(ab)。

yum install httpd httpd-tools

安装后,可以使用以下命令启动Apache:

systemctl start httpd

运行以下命令以允许Apache在系统启动时自动启动:

systemctl enable httpd

然后检查状态。

systemctl status httpd

输出:

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-10-12 06:43:15 UTC; 14s ago
     Docs: man:httpd.service(8)
 Main PID: 14515 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 5092)
   Memory: 24.8M
   CGroup: /system.slice/httpd.service
           ├─14515 /usr/sbin/httpd -DFOREGROUND
           ├─14516 /usr/sbin/httpd -DFOREGROUND
           ├─14517 /usr/sbin/httpd -DFOREGROUND
           ├─14518 /usr/sbin/httpd -DFOREGROUND
           └─14519 /usr/sbin/httpd -DFOREGROUND

启用”表示启用了启动时自动启动功能,并且Apache正在运行。

提示:如果以上命令在执行后没有立即退出q退出。

检查Apache版本。

httpd -v

输出:

Server version: Apache/2.4.37 (centos)
Server built: Oct 7 2019 21:42:02

要测试Apache Web服务器是否正常运行, index.html 默认文档根目录(/var/www/html/使用以下命令:

echo "Welcome to this site!" > /var/www/html/index.html

如果要在本地CentOS 8 / RHEL 8计算机上安装LAMP,请输入: 127.0.0.1localhost 在浏览器地址栏中。显示欢迎消息。这意味着Apache Web服务器运行正常。

默认情况下,CentOS 8 / RHEL 8禁止公共访问端口80。要允许其他计算机访问该网页,必须使用RHEL / CentOS动态防火墙管理器firewalld打开端口80。运行以下命令以打开端口80:

firewall-cmd --permanent --zone=public --add-service=http

如果以后使用Apache启用HTTPS,则还必须打开端口443。

firewall-cmd --permanent --zone=public --add-service=https

--permanent 该选项在系统重新启动后保留此防火墙规则。然后重新加载防火墙守护程序,以使更改生效。

systemctl reload firewalld

Apache网页现已向公众开放。

最后,您需要创建一个用户 apache 作为Web目录的所有者。默认情况下,它由root用户拥有。

chown apache:apache /var/www/html -R

步骤3:在CentOS 8 / RHEL 8上安装MariaDB数据库服务器

MariaDB是MySQL的直接替代品。它是由MySQL团队的一位前成员开发的,该成员担心Oracle会将MySQL变成封闭源代码产品。输入以下命令以在CentOS 8 / RHEL 8上安装MariaDB。

yum install mariadb-server mariadb -y

安装后,必须启动它。

systemctl start mariadb

在系统启动时启用自动启动。

systemctl enable mariadb

检查状态。

systemctl status mariadb

输出:

● mariadb.service - MariaDB 10.3 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-10-12 09:02:53 UTC; 33s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
 Main PID: 18608 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 5092)
   Memory: 77.0M
   CGroup: /system.slice/mariadb.service
           └─18608 /usr/libexec/mysqld --basedir=/usr

启用“表示已启用启动时自动启动,并且您可以看到MariaDB服务器正在运行。接下来,您需要运行安全脚本。

mysql_secure_installation

当提示您输入MariaDB根密码时,请按Enter键,因为尚未设置根密码。请输入 y 设置MariaDB服务器的root密码。

在Redhat 8 centos 8上安装mariadb

然后按Enter回答所有剩余的问题。这将删除匿名用户,禁用远程root登录,并删除测试数据库。此过程是MariaDB数据库安全性的基本要求。 (注意信 Y 大写字母。这是默认答案。 )

mysql_secure_installation rhel8 centos8

现在,您可以运行以下命令并输入MariaDB根密码,以登录到MariaDB Shell。

mysql -u root -p

mariadb shell登录

最后,运行

exit;

步骤4:在CentOS 8 / RHEL 8上安装PHP

使用以下命令安装PHP和一些常见模块:

yum install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y

由于CentOS 8 / RHEL 8上的Apache Web服务器默认使用PHP-FPM而不是mod_php来执行PHP代码,因此上述命令 php-fpm。安装后,必须启动它。

systemctl start php-fpm

在系统启动时启用自动启动。

systemctl enable php-fpm

检查状态。

systemctl status php-fpm

输出:

● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2019-10-12 09:54:37 UTC; 3s ago
 Main PID: 19755 (php-fpm)
   Status: "Ready to handle connections"
    Tasks: 6 (limit: 5092)
   Memory: 24.5M
   CGroup: /system.slice/php-fpm.service
           ├─19755 php-fpm: master process (/etc/php-fpm.conf)
           ├─19757 php-fpm: pool www
           ├─19758 php-fpm: pool www
           ├─19759 php-fpm: pool www
           ├─19760 php-fpm: pool www
           └─19761 php-fpm: pool www

启用”表示已启用引导时自动启动,并且PHP-FPM正在运行。的 php-fpm 软件包安装 php.conf 档案文件 /etc/httpd/conf.d/ 因为它在目录中,所以必须重新启动Apache Web服务器才能运行PHP代码。

systemctl restart httpd

您还需要运行以下命令来告诉SELinux允许Apache通过PHP-FPM执行PHP代码:

setsebool -P httpd_execmem 1

步骤5:测试PHP

要使用Apache Web服务器测试PHP-FPM,您需要创建 info.php 文档根目录中的文件。

nano /var/www/html/info.php

将以下PHP代码粘贴到文件中。

保存并关闭文件。如果您在本地CentOS 8 / RHEL 8服务器上安装了LAMP堆栈,请输入: 127.0.0.1/info.phplocalhost/info.php 在浏览器地址栏中。显示服务器PHP信息。这意味着PHP脚本可以在Apache Web服务器上正常运行。

如果RHEL 8 / CentOS在远程服务器上运行,请输入: server-ip-address/info.php 在浏览器地址栏中。交换 sever-ip-address 具有实际的IP地址。

PHP-FPM-RHEL-8-CentOS-8
如果浏览器无法显示PHP信息,但提示您下载它 info.php 只需重新启动文件Apache和PHP-FPM。

sudo systemctl restart httpd php-fpm

之后,您应该能够在Web浏览器中查看PHP信息。

总结

恭喜你!我已经在Red Hat 8或CentOS 8上成功安装了Apache,MariaDB,PHP7.2。为了服务器安全,应将其删除。 info.php 立即归档以防止黑客看到它。

rm /var/www/html/info.php

希望本教程对您有所帮助。与往常一样,如果您发现此帖子有用,请订阅免费的新闻快讯以获取提示和技巧。小心一点