安装 Fedora 40 服务器版本后,您可能希望在服务器上托管一个网站。为此,您需要一个名为 LAMP 堆栈的可靠服务器环境设置,其中包含 Linux、Apache、MariaDB(MySQL 的直接替代品)和 PHP。
在本教程中,我们将逐步介绍安装LAMP(Linux、Apache、MariaDB > 和 PHP)堆栈,这是您可以在 Fedora 40 服务器上设置的 Web 服务软件。
步骤一:更新Fedora系统包
安装Fedora Server后,第一步是更新系统软件包,以确保您拥有最新的安全补丁和软件更新。
sudo dnf update

第 2 步:在 Fedora 上安装 Apache
Apache 是 Linux 平台上流行且最可靠的 Web 服务器,为网络上的多个网站和基于 Web 的应用程序提供支持。它配备了多个模块来增强不同类别下的功能,包括安全模块、服务器访问模块等等。
要安装 Apache,请在终端上发出以下命令:
sudo dnf install httpd

安装完成后,您需要执行一些任务才能使您的 Apache Web 服务器运行。
首先,您需要将其设置为在启动时自动启动:
sudo systemctl enable httpd.service
然后启动服务:
sudo systemctl start httpd.service
接下来,要确保该服务正在运行,您可以发出以下命令:
sudo systemctl status httpd.service

要通过HTTP/HTTPS访问您的网络服务器,您需要允许通过系统防火墙对其进行访问。
为此,请运行以下命令:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
然后重新加载系统防火墙配置,如下所示:
sudo systemctl reload firewalld
Apache 安装过程中最后要做的一件事是检查默认的 Apache 安装索引页面是否可以在您的 Web 浏览器中加载,因此打开您的 Web 浏览器并输入您的服务器 IP 地址,如下所示:
http://server-ip-address
如果您不知道服务器 IP 地址,可以使用以下 ip 命令查找。
ip a | grep "inet"

您应该能够查看以下页面:

注意:Apache 默认根目录是 /var/www/html
,您可以在此处放置 Web 文件。
第 3 步:在 Fedora 上安装 MariaDB
MariaDB是流行的MySQL关系数据库服务器的一个分支,它是免费软件,符合GPU通用公共许可证。
要在 Fedora 服务器上安装 MariaDB,请发出以下命令:
sudo dnf install mariadb-server

安装完成后,您需要使该服务在系统启动时自动运行,并启动它以便您能够在服务器上创建和使用数据库。
要使其在引导时启动,请运行以下命令:
sudo systemctl enable mariadb.service
要启动该服务,请使用以下命令:
sudo systemctl start mariadb.service
然后,检查MariaDB服务是否正在运行,如下所示:
sudo systemctl status mariadb.service

现在 MariaDB 正在您的服务器上运行,您需要使用以下命令来保护其安装:
sudo mysql_secure_installation
运行此命令后,系统会询问您一些问题,要求您进行一些更改,其中包括:

第 4 步:在 Fedora 上安装 PHP
PHP 是一种服务器端脚本语言,用于处理用户请求并将其发送到 Web 和数据库服务器。
要在 Fedora 上安装 PHP,请使用以下命令:
sudo dnf install php php-common

为了使PHP能够很好地与mysql数据库配合使用,您需要安装一些PHP模块,因此,执行以下命令来安装所需的PHP模块:
sudo dnf install php-mysqlnd php-gd php-cli php-mbstring

安装过程完成后,您需要重新启动 Apache Web 服务器,这将使所有更改生效,然后您才能拥有完整的工作 LAMP 堆栈。
要重新启动 Apache,请发出以下命令:
sudo systemctl restart httpd
现在您可以使用您最喜欢的编辑器来测试这一切,在您的 Apache 根目录中创建一个名为 info.php
的文件,如下所示:
sudo vi /var/www/html/info.php
在文件中添加以下行,保存并退出。
<?php
phpinfo()
?>
然后打开您的网络浏览器并输入以下 URL:
http://server-ip-address/info.php
如果一切都设置完毕,那么您应该能够查看下面的 PHP 信息:

我相信此时一切都很好,您现在可以在 Fedora 服务器上使用 LAMP。如有任何问题,请使用下面的评论部分表达您的想法,并始终记住与 TecMint 保持联系。
为您推荐
今年这个春节,《流浪地球》大火,路人皆知,准确的说,连银河系都知道地球要跑路了,还顺带无情的抛弃了月亮。所以,太阳不高兴了,整个春节也没给我们什么好脸,甚至连脸都没露~人,有时候很感性。风和日丽的时候..
将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..
让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..
使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..
从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..
优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..
SourceTree下载提取码: ni9m 需翻墙或者破解注册当前只有Win的版本,Mac自行百度很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者..
在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..
.NET 爱好者!我刚刚偶然发现了一个非常酷的新 PR,它被合并到 .NET 运行时存储库中,我想分享一个例子。希望您能为新的 .NET 版本大肆宣传!在即将到来的 .NET 9 版本中,我们预计会有一个名为 .它在这里让您的异步..
数据库交互是几乎所有应用程序不可或缺的一部分,开发者们常常需要对数据库进行各种操作,包括插入、更新、删除和查询等。然而,在开发过程中直接对真实数据库进行操作不仅耗时耗力,还可能带来数据一致性和安全性的..
DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..
我们从下面这幅图开始,下图显示了三种渲染模式,分别称之为静态SSR、交互式SSR(即之前的BlazorServer)、交互式CSR(即之前的BlazorWasm)。还有一种渲染模式BlazorHybrid,稍后说。一、先浅层理解一个图例静态SSR:经..
CSS设计模式主要包括OOCSS、SMACSS和BEMCSS等。以下是对这些模式的具体介绍:OOCSS:面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。它将抽象(结构)和实现(样式)分离,抽离公共代码,以提高代码的..
不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..
.NET Framework并未完全被淘汰,但它的某些版本确实已经停止支持。微软在2023年11月10日停止了对.NET Framework 4.8之前的版本的支持。这一决策意味着使用这些旧版本的应用程序将不再获得安全更新和其他维护,从而可..
单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..
在网页设计和开发中,CLS(Cumulative Layout Shift)是指页面布局的累计偏移量。当一个用户与页面互动时,如果页面的某些元素突然改变位置或大小,导致整个布局发生偏移,就会产生布局偏移。这种偏移可能会影响用户..
在 Angular 单元测试中,我们经常需要模拟异步操作,比如 setTimeout。提高测试速度: 真实环境下的 setTimeout 会阻塞测试,导致测试运行时间过长。确保测试的可靠性: 模拟 setTimeout 可以让我们更好地控制异步操..
直接给 sessionStorage 加锁是不可能的。sessionStorage 的本质: sessionStorage 是浏览器提供的一种用于在当前浏览器会话中存储数据的机制。它存储在客户端,数据仅在当前浏览器窗口或标签页中有效。加锁的必要性..
对Redis最常见的几个问题,简要的说下我的理解与解决方法。数据同步指Redis做为缓存,在数据变化时,怎么保持与数据库数据同步的。一般解决方案为:缓存双删(同步方案大都采用删除缓存,而不会更新新缓存。缓存击穿..