当前位置: 首页 > ds >正文

树莓派超全系列教程文档--(57)如何设置 Apache web 服务器

如何设置 Apache web 服务器

    • 设置 Apache web 服务器
      • 安装 Apache
      • 测试 web 服务器
        • 更改默认网页
      • 为 Apache 安装 PHP

文章来源: http://raspberry.dns8844.cn/documentation

原文网址

设置 Apache web 服务器

Apache 是一款流行的 web 服务器应用程序,您可以将其安装在 Raspberry Pi 上,以提供网页。

Apache 本身可以通过 HTTP 提供 HTML 文件,使用附加模块可以使用脚本语言(如 PHP)提供动态网页。

安装 Apache

首先,通过在终端中输入以下命令来更新可用的软件包:

sudo apt update

然后,使用以下命令安装 apache2 软件包:

sudo apt install apache2 -y

测试 web 服务器

默认情况下,Apache 会将测试 HTML 文件放在 web 文件夹中。当您在 Raspberry Pi 本身上浏览 http://localhost/ 或从网络上的另一台计算机浏览 http://192.168.1.10 (无论 Raspberry Pi 的 IP 地址是什么)时,将提供此默认网页。要查找 Raspberry Pi 的 IP 地址,请在命令行中输入 hostname -I (或阅读有关查找 IP 地址 的更多信息)。

在 Raspberry Pi 或网络上的另一台计算机上浏览默认网页,您应该会看到以下内容:

image::images/apache-it-works.png[Apache 成功消息]

这意味着 Apache 正在运行!

更改默认网页

此默认网页只是文件系统上的 HTML 文件。它位于 /var/www/html/index.html

在终端窗口中导航到此目录并查看其中的内容:

cd /var/www/html
ls -al

这会显示以下内容:

total 12
drwxr-xr-x  2 root root 4096 Jan  8 01:29 .
drwxr-xr-x 12 root root 4096 Jan  8 01:28 ..
-rw-r--r--  1 root root  177 Jan  8 01:29 index.html

这表明默认情况下 /var/www/html/ 中有一个名为 index.html 的文件,并且它由 root 用户拥有(封闭文件夹也是如此)。为了编辑该文件,您需要将其所有权更改为您自己的用户名。使用以下命令更改文件的所有者,将 <username> 占位符替换为您的主用户帐户的用户名:

$ sudo chown <username>: index.html

您现在可以尝试编辑此文件,然后刷新浏览器以查看网页变化。如果您了解 HTML,您可以将自己的 HTML 文件和其他资产放在此目录中,并将它们作为本地网络上的网站提供服务。

为 Apache 安装 PHP

要允许您的 Apache 服务器处理 PHP 文件,您需要安装最新版本的 PHP 和适用于 Apache 的 PHP 模块。输入以下命令来安装这些内容:

sudo apt install php libapache2-mod-php -y

现在删除 index.html 文件:

sudo rm index.html

并创建文件 index.php

sudo nano index.php

在其中放入一些 PHP 内容:

<?php echo "hello world"; ?>

现在保存并刷新浏览器。您应该看到"hello world"。这不是动态的,但仍由 PHP 提供。尝试一些动态内容:

<?php echo date('Y-m-d H:i:s'); ?>

或者显示您的 PHP 信息:

<?php phpinfo(); ?>

上一篇 – 树莓派超全系列教程文档–(56)如何使用Samba共享文件夹
下一篇 – 树莓派超全系列教程文档–(58)通过网络启动树莓派

http://www.xdnf.cn/news/12924.html

相关文章:

  • 抖音怎么下载没有水印的视频?
  • ArkUI-X与Android桥接通信之方法回调
  • 华为OD机试真题——机房布局(2025B卷:100分)Java/python/JavaScript/C++最佳实现
  • LeetCode - 53. 最大子数组和
  • 【每日一题 | 2025年6.2 ~ 6.8】第16届蓝桥杯部分偏简单题
  • 大数据治理的常见方式
  • Unity VR/MR开发-VR/开发SDK选型对比分析
  • 20-Oracle 23 ai free Database Sharding-特性验证
  • 求解插值多项式及其余项表达式
  • 阿里云OSS 上传文件 Python版本
  • Xxl-job——源码设计思考
  • 2025年6月6日第一轮
  • 基于算法竞赛的c++编程(20)函数的递归
  • Spring Security深度解析:构建企业级安全框架
  • 港科大快手提出统一上下文视频编辑 UNIC,各种视频编辑任务一网打尽,还可进行多项任务组合!
  • MQTT协议详解技术文档
  • 微服务架构实战:Nacos 单机版的安装与启动流程
  • 号外!PLC和安川伺服,通过Profinet转EtherCAT网关同步多个工作站的运动
  • 坚持每日Codeforces三题挑战:Day 4 - 题目详解(2025-06-07,难度:1000, 1100, 1400)
  • 转行数据分析师,愿望是进大厂
  • 构建智能对话式BI的关键:ChatBI场景下的Agent框架选型深
  • 沉金电路板表面处理工艺深度解析:技术原理与行业应用挑战
  • 滴滴 服务端 面经
  • 应急响应思路
  • 大数据(1) 大数据概述
  • 如何评估大语言模型效果
  • 【超详细】英伟达Jetson Orin NX-YOLOv8配置与TensorRT测试
  • Cilium动手实验室: 精通之旅---11.Advanced BGP Features - Lab
  • PCDF (Progressive Continuous Discrimination Filter)模块构建
  • 在Mathematica中使用Newton-Raphson迭代绘制一个花脸