在 Web 开发领域,LAMP 堆栈起着举足轻重的作用。LAMP Stack 是 Linux、Apache、MariaDB 和 PHP 的首字母缩写词,是开源软件的强大组合,为构建动态网站和 Web 应用程序提供了强大的框架。
在 Fedora 上安装 LAMP 堆栈 39
步骤 1。首先更新系统的软件包列表。打开终端并键入以下命令:
sudo dnf clean all sudo dnf update
这些命令将获取系统的最新更新,为即将到来的安装提供稳定的基础。
第2步。安装 Apache(HTTP 服务器)
要安装 Apache,请使用以下命令:
sudo dnf install httpd
安装后,启动 Apache 服务,并使用以下命令使其在启动时启动:
sudo systemctl start httpd sudo systemctl enable httpd
要验证 Apache 是否已安装并运行,请打开 Web 浏览器并导航到服务器的公共 IP 地址或域名。您应该会看到 Apache 测试页面。
第 3 步。安装 MariaDB。
要安装 MariaDB,请使用以下命令:
sudo dnf install mariadb-server
使用以下命令启动 MariaDB 服务并使其在启动时启动:
sudo systemctl start mariadb sudo systemctl enable mariadb
运行 mysql_secure_installation
脚本以提高 MariaDB 的安全性:
sudo mysql_secure_installation
按照提示设置 root 密码、删除匿名用户、禁止远程 root 登录以及删除测试数据库。
要验证 MariaDB 是否已安装并运行,请使用以下命令:
sudo systemctl status mariadb
第 4 步。安装 PHP。
要安装 PHP 和一些常用模块,请使用以下命令:
sudo dnf install php php-mysqlnd php-fpm
要配置 PHP 以使用 Apache,您需要编辑 Apache 配置文件。使用以下命令打开文件:
sudo nano /etc/httpd/conf.d/php.conf
找到以 DirectoryIndex
开头的行 并添加索引。PHP的
添加到文件列表。保存并关闭文件。
要验证 PHP 是否已正确安装和配置,请在 Web 根目录中创建一个 PHP 信息文件:
echo "" | sudo tee /var/www/html/info.php
打开 Web 浏览器并导航到 http://your_server_ip/info.php
。您应该会看到一个页面,显示有关 PHP 安装的信息。
第 5 步。配置防火墙。
若要安装并启用 Firewalld 服务,请使用以下命令:
sudo dnf install firewalld sudo systemctl start firewalld sudo systemctl enable firewalld
使用以下命令将 HTTP 和 HTTPS 服务添加到防火墙:
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent
重新加载防火墙配置以应用更改:
sudo firewall-cmd --reload
第 6 步。使用 Let’s Encrypt 设置 HTTPS。
要安装 Let’s Encrypt 的客户端软件 Certbot,请使用以下命令:
sudo dnf install certbot python3-certbot-apache
使用以下命令获取域的 SSL 证书:
sudo certbot --apache -d your_domain
Certbot 应自动将 Apache 配置为使用 SSL 证书。通过在 Web 浏览器中导航到 https://your_domain
来验证这一点。您应该会在地址栏中看到一个锁定图标。
要设置自动证书续订,请添加一个每天运行 certbot renew
命令两次的 cron 作业:
echo "0 */12 * * * root certbot renew --quiet" | sudo tee -a /etc/crontab
第 7 步。故障 排除
A. 常见的 Apache 问题
1. 权限错误
如果遇到权限错误,请检查Web根目录及其内容的所有权和权限。它们应归 Apache 用户和组所有,并且其权限应允许 Apache 根据需要读取、写入和执行文件。
2. 配置错误
如果 Apache 无法正常启动或运行,请使用命令 sudo apachectl configtest
检查配置文件的语法。修复任何报告的错误并重新启动 Apache。
B. 常见的MariaDB问题
1. 连接错误
如果无法连接到 MariaDB,请确保服务正在使用 sudo systemctl status mariadb
运行。如果它没有运行,请使用 sudo systemctl start mariadb
启动它。
2. 身份验证错误
如果您无法使用 MariaDB 进行身份验证,请确保您使用的是正确的用户名和密码。如果您忘记了 root 密码,可以通过使用 –-skip-grant-tables
选项启动 MariaDB 、以 root 身份登录并运行相应的 SQL 命令来更改密码来重置密码。
C. 常见的PHP问题
1. 语法错误
如果您的 PHP 脚本未按预期工作,请检查语法错误。您可以通过使用 -l 选项从命令行运行脚本来执行此操作 ,如下所示:php -l script。PHP的
。
2. 模块相关错误
如果您在使用 PHP 模块时遇到问题,请确保已安装并启用它。您可以使用 php -m
列出所有已安装的模块。如果未列出某个模块,则可以使用 sudo dnf install php-module
安装它,将“module”替换为模块的名称。
D. 常见的防火墙和 HTTPS 问题
1. 被阻塞的端口
如果您无法访问您的网站,请确保您的防火墙没有阻止必要的端口。您可以使用 sudo firewall-cmd --list-ports
列出所有打开的端口。
2. SSL证书错误
如果您的 SSL 证书有问题,请使用 sudo certbot 证书
检查其状态。如果有任何问题,可以尝试使用 sudo certbot renewal
续订证书。
感谢您使用本教程在 Fedora 39 系统上安装 LAMP 堆栈。有关其他 Apache 或有用信息,我们建议您查看 LAMP 官方网站。