在linux上架设Web服务器Apache(Ubuntu)

news2024/9/21 14:48:06

在这里插入图片描述

欢迎诸位来阅读在下的博文~
在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!
江山如画,客心如若,欢迎到访,一展风采

文章目录

      • 背景
      • 1. 安装 Apache
      • 2. 启动和检查 Apache 服务
      • 3. 配置防火墙
      • 4. 配置虚拟主机
      • 5. 启用虚拟主机并重启 Apache
      • 6. 配置域名解析(可选)
      • 7. 设置 HTTPS(可选)
      • 8. 检查配置
      • 9. 访问网站

背景

Apache 是一个开源的网页服务器软件,它的正式名称为 Apache HTTP Server。它是世界上最流行的网页服务器软件之一,由 Apache 软件基金会(Apache Software Foundation)维护。Apache 服务器可以在多种操作系统上运行,包括 Unix、Linux、Windows、Mac OS X 等。
Apache HTTP Server 的主要特点包括:

  1. 开源性质:Apache 是免费的,并且其源代码可以被任何人查看、修改和分发。
  2. 稳定性与可靠性:Apache 服务器因其稳定性和可靠性而闻名,能够处理大量的网络请求。
  3. 可扩展性:Apache 支持多种模块,这些模块可以动态加载,以扩展服务器的功能。
  4. 配置灵活:Apache 的配置文件(通常是 httpd.conf)非常灵活,允许管理员根据需要调整服务器设置。
  5. 支持多种平台:Apache 可以在不同的操作系统平台上运行,具有很好的跨平台兼容性。
  6. 安全性:Apache 拥有良好的安全记录,并且经常更新以修复已知的安全漏洞。
  7. 社区支持:由于 Apache 的广泛使用,它拥有一个庞大的开发者社区,可以为用户提供支持和帮助。
    Apache 服务器通常用于以下场景:
  • 静态内容服务:提供 HTML、图片、CSS、JavaScript 等静态文件。
  • 动态内容服务:通过模块如 mod_php、mod_perl、mod_python 等,支持动态内容生成。
  • 代理服务器:作为反向代理,为后端服务器提供缓存和负载均衡功能。
  • 虚拟主机:在同一台服务器上支持多个网站,每个网站拥有独立的域名和配置。
    Apache HTTP Server 的配置和使用通常需要一定的技术知识,但它的灵活性和强大的功能使其成为许多网站管理员的首选网页服务器软件。

在 Ubuntu 系统上配置 Apache Web 服务器可以分为几个步骤,包括安装 Apache、配置虚拟主机、设置防火墙规则等。下面是详细的步骤:

1. 安装 Apache

首先,需要在系统上安装 Apache:

sudo apt update
sudo apt install apache2

2. 启动和检查 Apache 服务

安装完成后,启动 Apache 服务并设置为开机自启:

sudo systemctl start apache2
sudo systemctl enable apache2

你可以使用以下命令检查 Apache 服务的状态:

sudo systemctl status apache2

3. 配置防火墙

如果系统中使用了 ufw 防火墙,你需要允许 Apache 服务通过防火墙:

sudo ufw allow 'Apache'

检查防火墙状态,确认规则已经生效:

sudo ufw status

4. 配置虚拟主机

Apache 使用虚拟主机(Virtual Hosts)来管理多个网站。默认的虚拟主机配置文件位于 /etc/apache2/sites-available/000-default.conf
可以复制默认配置文件来创建新的虚拟主机:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

编辑新的虚拟主机文件:

sudo nano /etc/apache2/sites-available/example.com.conf

将文件内容修改为以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • ServerAdmin: 管理员邮箱。
  • ServerName: 你的域名。
  • ServerAlias: 其他别名,例如 www.example.com
  • DocumentRoot: 网站的根目录。

然后创建软链接:
在 /etc/apache2/sites-enabled/ 目录下,输入以下命令:

sudo ln -s ../sites-available/www.example.com.conf  www.example.com.conf

接下来,创建网站根目录:

sudo mkdir -p /var/www/example.com

设置目录权限:

sudo chown -R $USER:$USER /var/www/example.com
sudo chmod -R 755 /var/www

你可以在 DocumentRoot 目录下创建一个简单的 index.html 文件来测试:

echo '<h1>Hello, World!</h1>' | sudo tee /var/www/example.com/index.html

5. 启用虚拟主机并重启 Apache

启用新的虚拟主机:

sudo a2ensite example.com.conf

禁用默认虚拟主机(可选):

sudo a2dissite 000-default.conf

重启 Apache 服务使更改生效:

sudo systemctl reload apache2

6. 配置域名解析(可选)

如果你想通过域名访问本地服务器,可以在 /etc/hosts 文件中添加一条记录(仅用于本地测试):

sudo nano /etc/hosts

添加以下内容:

127.0.0.1    example.com www.example.com

如果你有自己的ip地址,那么可以按照上面的格式进行:
IP地址 域名

7. 设置 HTTPS(可选)

为了提高安全性,你可以配置 HTTPS。使用 Let's Encrypt 这样的免费证书服务可以轻松地为网站配置 HTTPS。
首先,安装 Certbot 和 Apache 插件:

sudo apt install certbot python3-certbot-apache

然后,运行以下命令为你的域名获取证书并自动配置 HTTPS:

sudo certbot --apache -d example.com -d www.example.com

8. 检查配置

你可以使用 Apache 自带的配置测试工具来检查是否有配置错误:

sudo apache2ctl configtest

如果配置正确,你会看到 Syntax OK 的提示。

9. 访问网站

现在,打开浏览器并访问 http://example.comhttps://example.com(如果配置了 HTTPS),你应该会看到刚才创建的 index.html 页面。
至此,Apache 在 Ubuntu 系统上的基本配置就完成了。

在这里插入图片描述
望诸位不忘三连支持一下~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2043661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机的错误计算(六十三)

摘要 计算机的错误计算&#xff08;五十六&#xff09;探讨了大数的正切函数值的错误计算。本节讨论大数的余切函数的计算精度问题。 例1. 已知 计算 不妨用 3种方法计算。 (1) 在 Python 中利用 直接贴图&#xff1a; (2) 在 Java 中利用 若运行下列代码 import ja…

【Python快速入门和实践016】Python常用脚本-对视频抽取指定帧数并保存

一、功能介绍 这段代码的功能是从一个视频文件中抽取指定数量的帧&#xff0c;并将这些帧保存为图像文件。步骤如下&#xff1a; 设置路径和参数&#xff1a; video_path&#xff1a;视频文件的路径。image_folder&#xff1a;保存抽取图像的目录。num_frames_to_extract&#…

FL Studio21.2.4最新中文版免费下载汉化包破解补丁

&#x1f389; FL Studio 21中文版新功能全解析&#xff01;让你的音乐制作更加高效&#xff01; 嘿&#xff0c;各位音乐制作的小伙伴儿们&#xff0c;今天我要安利一款你们绝对会爱上的神器——FL Studio 21中文版&#xff01;这款软件不仅功能强大&#xff0c;而且操作简便…

【ARM】解析MDK生成的C Compiler list文件的具体内容

1、 文档目标 用于解析MDK生成的C Compiler list文件的具体内容。 2、 问题场景 在MDK的options窗口中的Listing栏中有生成对应的源文件的编译列表&#xff08;如图2-1&#xff09;。但是&#xff0c;对于这个生成的列表中包含什么具体的信息就不太清楚了。 图2-1 3、软硬件…

智慧安防/一网统管/视频监控EasyCVR视频汇聚平台的视频轻量化特点及应用

在数字化时代&#xff0c;视频监控已成为保障公共安全、提升管理效率的重要手段。随着技术的不断进步&#xff0c;EasyCVR视频汇聚平台应运而生&#xff0c;平台以其独特的视频轻量化特点在安防监控领域展现出强大的应用潜力。本文将详细探讨EasyCVR视频汇聚平台的视频轻量化特…

空间变换其参数化二

目录 刚性变换的问题描述 最优平移向量求解 最优旋转矩阵求解 反射矩阵消除 基于SVD刚性变换矩阵计算流程总结 刚性变换的问题描述 令P{p_1,p_2,...,p_n}和Q{q_1,q_2,...,q_n}是R^d空间内的两组对应的点。希望找到一个刚性的变换&#xff0c;在最小二乘的意义上最优地对齐…

如何使用pholcus库进行多线程网页标题抓取以提高效率?

在当今信息爆炸的时代&#xff0c;数据抓取已成为获取信息的重要手段。Go语言因其高效的并发处理能力而成为编写爬虫的首选语言之一。pholcus库&#xff0c;作为一个强大的Go语言爬虫框架&#xff0c;提供了多线程抓取的能力&#xff0c;可以显著提高数据抓取的效率。本文将介绍…

搭建内网开发环境(四)|基于nexus搭建maven私服

引言 在前面一篇教程中&#xff0c;通过 docker-compose 快速搭建好了开发环境所需的应用&#xff0c;本文介绍基于 nexus 搭建 maven 私服&#xff1b;虽然本篇教程是基于内网的&#xff0c;但是本文会分别介绍在拥有外网的情况下配置私服和内网的情况下配置私服&#xff0c;…

【论文阅读03】用于海洋物体检测的多注意力路径聚合网络

来源&#xff1a;用于海洋物体检测的多注意力路径聚合网络 |应用智能 (springer.com) 一、背景&#xff1a; 水下图像存在偏色、对比度低、能见度低等问题&#xff0c;使得海洋物体难以被探测到。这些都增加了海上目标探测的难度。 目前流行的检测器方法是基于卷积神经网络&…

怎么将pdf转为ppt文件?pdf转ppt的8个方法

在诸多职场与学术交流的场合中&#xff0c;我们时常面临将详尽的PDF文件转化为生动且易于编辑的PPT演示文稿的需求。这一转换不仅是为了满足演示时的灵活性&#xff0c;更是为了提升信息传递的效率与观众的理解度。从简单的在线工具到功能全面的专业软件&#xff0c;我们拥有多…

使用balenaEtcher制作 macOS 系统启动u盘

第一步&#xff1a;首先准备一个U盘要求8G(macOS Catalina 10.15.x及以上要求16G)或以上的空U盘&#xff0c;有资料会被格式化 第二步&#xff1a;下载并安装etcher https://www.apple114.com/threads/83/ 第三步&#xff1a;下载macOS引导镜像 (通过序列号查询电脑确认电脑…

Hive3:常用查询语句整理

一、数据准备 建库 CREATE DATABASE itheima; USE itheima;订单表 CREATE TABLE itheima.orders (orderId bigint COMMENT 订单id,orderNo string COMMENT 订单编号,shopId bigint COMMENT 门店id,userId bigint COMMENT 用户id,orderStatus tinyint COMMENT 订单状态 -3:用…

记录前后端接口使用AES+RSA混合加解密

一、前言 由于项目需求&#xff0c;需要用到前后端数据的加解密操作。在网上查找了了相关资料&#xff0c;但在实际应用中遇到了一些问题&#xff0c;不能完全满足我的要求。 以此为基础&#xff08;前后端接口AESRSA混合加解密详解&#xff08;vueSpringBoot&#xff09;附完…

讲解 狼人杀中的买单双是什么意思

买单双这个概念通常出现在有第三方的板子中 比如 咒狐板子 丘比特板子 咒狐板子 第一天狼队只要推掉预言家 第二天就可以与咒狐协商绑票 推出其他好人 以及丘比特板子 如果拉出一个人狼链 那么如果孤独再连一个狼人 那么 狼队第一天就可以直接派人上去拿警徽&#xff0c;这样…

NDP(Neighbor Discovery Protocol)简介

定义 邻居发现协议NDP&#xff08;Neighbor Discovery Protocol&#xff09;是IPv6协议体系中一个重要的基础协议。邻居发现协议替代了IPv4的ARP&#xff08;Address Resolution Protocol&#xff09;和ICMP路由设备发现&#xff08;Router Discovery&#xff09;&#xff0c;…

萌啦数据插件使用情况分析,萌啦数据插件下载

在当今数字化时代&#xff0c;数据已成为企业决策与个人分析不可或缺的重要资源。随着数据分析工具的日益丰富&#xff0c;一款高效、易用的数据插件成为了众多用户的心头好。其中&#xff0c;“萌啦数据插件”凭借其独特的优势&#xff0c;在众多竞品中脱颖而出&#xff0c;成…

[数据集][图像分类]肾脏病变分类数据集识别囊肿肿瘤结石数据集11756张4类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;11756 分类类别数&#xff1a;4 类别名称:["cyst","normal&…

上海晋名室外危化品暂存柜助力燃料电池行业

近日又有一个SAVEST室外危化品暂存柜项目成功验收交付使用。 用户是一家致力于为燃料电池行业提供研发、创新解决方案和技术支持的科技型中小企业。 用户在日常经营活动中涉及到氢气实验过程中的安全问题&#xff0c; 4月初在网上看到上海晋名室外暂存柜系列很感兴趣&#xf…

[EC Final 2020] ICPC2020 东亚赛区决赛重现赛题解

比赛链接:EC Final 2020 和 cyx20110930 组的队&#xff0c;用他的号交的题。顺便帮助他橙名&#xff0c;好耶&#xff01;&#xff08;rk 25&#xff0c;我俩各写 2 道&#xff09; Problem B: 这道是 cyx20110930 写的&#xff0c;顺便安利(copy)一下他的题解。 题目意思…

html+css网页制作 化妆品电商4个页面

htmlcss网页制作 化妆品电商4个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#xff…