首页 > 系统相关 >在linux上架设Web服务器Apache(Ubuntu)

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

时间:2024-08-17 20:26:43浏览次数:8  
标签:linux Web www 虚拟主机 sudo Ubuntu Apache com example

在这里插入图片描述

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

文章目录

背景

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 [email protected]
    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 系统上的基本配置就完成了。

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

标签:linux,Web,www,虚拟主机,sudo,Ubuntu,Apache,com,example
From: https://blog.csdn.net/weixin_61503529/article/details/141222213

相关文章

  • 聊聊JS中的WebSocket
    你好,我是沐爸,欢迎点赞、收藏和关注。个人知乎在JavaScript中,使用WebSocket非常简单直观。通过几行代码,你就可以轻松创建一个WebSocket连接,并监听来自服务器的消息。无论是开发实时聊天应用、在线游戏、实时数据分析平台,还是任何需要实时数据交互的场景,WebSocket都能为你提......
  • Linux系统中firewalld防火墙常用的操作命令
    本章将和大家分享Linux系统中firewalld防火墙常用的操作命令。废话不多说,下面我们直接进入主题。一、安装Firewall命令yuminstallfirewalldfirewalld-config二、防火墙的基本操作1、查看防火墙状态使用systemctlstatusfirewalld命令可以查看firewalld服务的状态。也......
  • Web 端项目系统访问页面很慢,后台数据返回很快,网络也没问题,是什么导致的呢?
    一、前端方面可能的原因1.页面加载过多资源•可能页面中包含了大量的图片、视频、脚本等资源,这些资源的加载会占用大量时间。可以检查页面的资源大小和数量,看是否有可以优化的地方,比如压缩图片、合并脚本等。2.前端代码效率问题•检查前端代码是否存在性能瓶颈。例如,Ja......
  • Linux系统如何挂载分区【精简版】
     导入:当使用插入TF卡或者U盘Linux系统没有自动挂载时,则需要手动挂载分区才能使用。如何挂载分区呢?下面演示挂载分区步骤。    挂载分区简单说来就2步:创建挂载目录(如目录已存在可省略这步);挂载分区。    插入U盘,执行命令fdsik-l查看U盘节点,但是df-h查......
  • 虚拟机(ubuntu22.04)安装Anaconda
    下载安装包前往https://repo.anaconda.com/archive/,下载对应的安装包,这里我们选择的是Anaconda3-2024.06-1-Linux-x86_64.sh这个安装脚本下载,大概1个G也可以直接在终端中输入wgethttps://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh这样也能直接下载......
  • java+vue计算机毕设基于Web的在线考试管理信息系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和教育改革的不断深入,传统考试模式已难以满足现代教育的需求。在线考试作为一种新兴的教育评估方式,凭借其便捷性、高效性和灵......
  • Linux学习之文件操作
    程序点击查看代码/*创建命令行参数输入名字的文件存储用户输入的学生姓名年龄和成绩*/#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<string.h>#include<fcntl.h>#include<sys/types.h>#include<sys/stat.h>structStude......
  • 【免费】ssm驾校预约管理系统jsp|毕业设计|Javaweb项目
    收藏点赞不迷路 关注作者有好处编号:ssm560ssm驾校预约管理系统jsp开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计系统实现这个章节的内容主要还是展示系统的功能界面设计......
  • 【免费】ssm公交车信息管理系统|毕业设计|Javaweb项目
    收藏点赞不迷路 关注作者有好处编号:ssm572ssm公交车信息管理系统开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven 1.系统展示2.万字文档展示第5章系统详细设计3.5.1个人中心通过设计的个人中心功能模块,用户可以......
  • 【免费】ssm基于JavaEE的仓库管理系统设计与开发|毕业设计|Javaweb项目
    收藏点赞不迷路 关注作者有好处编号:ssm500ssm基于JEE的仓库管理系统设计与开发开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven文末获取源码1.系统展示2.万字文档展示第5章系统实现编程人员在搭建的开发环境中,运用......