如何在RHEL 8上安装Linux,Apache,MySQL,PHP(LAMP)堆栈
如何在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 8
sudo 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.d
Apache模块(例如代理,php等)的配置目录