如何在RHEL 8上安装Linux,Apache,MySQL,PHP(LAMP)堆栈

时间:2020-01-09 10:39:22  来源:igfitidea点击:

如何在RHEL 8云服务器或VPS或裸机服务器上设置LAMP堆栈?
如何在RHEL(Red Hat Enterprise Linux)8上安装Linux,Apache,MySQL/MariaDB,PHP(LAMP)堆栈?
简介LAMP堆栈只是安装了一组流行的软件,用于构建和运行动态网站和应用程序。

LAMP的典型示例包括基于WordPress的博客,Mediawiki中编码的Wiki或定制的电子商务网站。

LAMP是以下各项的首字母缩写:

  • Linux操作系统
  • Apache Web服务器
  • MySQL或MariaDB服务器存储数据
  • PHP用于服务器端动态Web生成编程语言

本教程显示如何使用CLI在RHEL 8上安装和设置LAMP堆栈。

您可以使用yum命令或dnf命令在RHEL 8上安装软件包。
出于向后兼容的原因,yum只是指向dnf的软链接。

如何在RHEL 8上设置和安装Linux,Apache,MySQL,PHP(LAMP)堆栈

在Red Hat Enterprise Linux上设置LAMP堆栈的过程:

  • 通过运行sudo dnf update更新系统
  • 在RHEL 8中安装Apache HTTPD:sudo dnf install httpd
  • 在RHEL 8sudo dnf install mariadb-server上设置MariaDB(MySQL克隆)
  • 最后安装PHP 7.x以在RHEL 8上完成LAMP的设置,运行sudo dnf install @ php
  • 测试您的LAMP设置

让我们详细查看所有命令。

步骤1更新RHEL 8框

只需运行以下dnf命令:

$ sudo dnf update

步骤2在RHEL 8上安装Apache(HTTPD)

再次使用dnf命令:

$ sudo dnf install httpd

如何启用httpd服务

他默认禁用了httpd.service。
要在引导时启动httpd服务,请运行以下systemctl命令:

sudo systemctl enable httpd.service

在默认配置中,httpd守护程序将接受任何配置的IPv4或IPv6地址在端口80上的连接(如果安装了mod_ssl,则在端口443上接受TLS连接)。

启动/停止/重启httpd的命令

sudo systemctl start httpd.service ## <- Start Apache ##
sudo systemctl stop httpd.service ## <- Stop Apache ##
sudo systemctl restart httpd.service ## <- Restart Apache ##
sudo systemctl reload httpd.service ## <- Reload Apache ##
sudo systemctl status httpd.service ## <- Get status of Apache ##

通过运行ss命令和grep命令来验证端口80是否打开:

$ sudo ss -tulpn
$ sudo ss -tulpn | grep :80

httpd.service是在RHEL 8上控制Apache的systemd单元文件

如何使用firewalld打开端口80

默认情况下,RHEL 8上的firewalld会阻止对HTTP TCP端口80的访问。
要在RHEL 8上打开HTTP端口80,请运行:

$ sudo firewall-cmd --permanent --add-service=http --zone=public
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --list-services --zone=public

测试一下

使用ip命令在RHEL 8上找到您的公共IP地址:

ip a
ip a s ens3
ip a s eth0
ip a s ens3 | grep -w inet | awk '{ print }'

打开浏览器并输入url:

http://your-server-ip-here/

或使用FQDN:

http://rhel8.theitroad.local/

步骤3在RHEL 8上安装MariaDB

我们的Apache正在运行。
现在该安装MariaDB了,它可以替代Oracle MySQL服务器。
执行以下dnf命令:

$ sudo dnf install mariadb-server

启用和启动/停止/重新启动MariaDB服务

在启动时打开MariDB服务器,运行:

$ sudo systemctl enable mariadb.service

要停止/停止/重新启动MariDB服务,请使用以下systemctl命令:

sudo systemctl start mariadb.service ## <- Start MariaDB server ##
sudo systemctl stop mariadb.service ## <- STOP MariaDB server ##
sudo systemctl restart mariadb.service ## <- RESTART MariaDB server ##
sudo systemctl status mariadb.service ## <- Get status of MariaDB server ##

最后保护您的MariaDB服务器,运行:

$ sudo mysql_secure_installation

步骤4在RHEL 8上安装PHP 7.x

现在,您的Apache服务器和数据库系统已启动并正在运行。
现在是时候安装拼图的最后一块了。
执行以下dnf命令以安装PHP 7.2和流行的PHP模块,以从PHP,图形等访问MySQL:

$ sudo dnf install php php-mysqlnd php-mbstring php-opcache php-gd

在RHEL 8上安装PHP 7.2和模块

您必须重新启动httpd服务才能访问PHP:

$ sudo systemctl restart httpd.service

有关搜索和安装其他PHP模块的说明

PHP附带许多模块。
您需要根据需要安装它们。
您可以使用以下语法搜索模块:

$ sudo dnf search php
$ sudo dnf search php- | grep -i mysql

查找有关php-mbstring的信息,运行

$ dnf info {php_module_package_name_here}
$ sudo dnf info php-mbstring

安装php-mbstring,运行:

$ sudo dnf install php-mbstring

测试您的PHP安装

在/var/www/html /目录中创建一个名为test.php的文件:

$ sudo vi /var/www/html/test.php

追加以下php代码:

<?php
   phpinfo();
?>

保存并关闭文件。
测试您的PHP。
启用网络浏览器并输入url:您要访问的地址为:

http://your-server-ip-here/test.php

或者

http://rhel8.theitroad.local/test.php

如果您看到上面的输出,则说明您的PHP已安装并且可以正常工作。
您可以使用rm命令删除文件:

$ sudo rm /var/www/html/test.php

如何查看我的Apache服务器的日志文件

如下所示,使用cat命令/tail命令在RHEL 8上的Apache/httpd日志中:

ls -l /var/log/httpd/
sudo tail -f /var/log/httpd/access_log
sudo grep 'foo' /var/log/httpd/error_log

如何进一步配置HTTPD?

所有Apache配置文件如下:

  • /etc/httpd /主Apache配置目录
  • /etc/httpd/conf/httpd.conf主要的Aapache配置文件。您可以运行sudo vi /etc/httpd/conf/httpd.conf命令来编辑此文件
  • /var/log/httpd /Apache错误和访问日志文件
  • /etc/httpd/conf.modules.dApache模块(例如代理,php等)的配置目录