前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 Ubuntu 20.04 上安装 Apache

如何在 Ubuntu 20.04 上安装 Apache

作者头像
雪梦科技
修改2020-05-24 10:28:31
12.9K0
修改2020-05-24 10:28:31
举报
文章被收录于专栏:ITCoderITCoder

文章目录

  • 一、前提条件
  • 二、安装 Apache
  • 三、打开 HTTP 和 HTTPS 端口
  • 四、验证 Apache 安装
  • 五、设置一个虚拟主机
  • 六、总结
{ .ImgAlt }}
{ .ImgAlt }}

Apache 是世界上最流行的网站服务器之一。它是开源并且跨平台的 HTTP 服务器,它托管了互联网上大量的网站。Apache 提供了很多强大的功能,并且可以扩展其他的模块。

这篇文章描述了如何在 Ubuntu 20.04 上安装和管理 Apache 网站服务器。

一、前提条件

在开始这个指南之前,确保你以 sudo 权限用户身份登录。

二、安装 Apache

Apache 被包含在默认的 Ubuntu 软件源中。

安装非常直接。在 Ubuntu 和 Debian 系统中,Apache 软件包和服务被称为 apache2

运行下面的命令来更新软件包索引,并且安装 Apache:

代码语言:javascript
复制
sudo apt update
sudo apt install apache2

当安装过程完成,Apache 服务将会被自动启动。

你可以通过输入下面的命令,验证 Apache 是否正在运行:

代码语言:javascript
复制
sudo systemctl status apache2

输出将会告诉你,服务正在运行,并且启动了开机启动。

代码语言:javascript
复制
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-05-09 19:28:40 UTC; 36min ago
...

就这些,你已经成功地在你的 Ubuntu 20.04上安装了 Apache,你可以开始使用它了。

三、打开 HTTP 和 HTTPS 端口

Apache 监听了端口80(HTTP)和443(HTTPS)。你需要在防火墙打开那些端口,以便网站服务器从互联网上是可以访问的。

假设你正在使用UFW,你可以通过启用Apache Full配置,它包含了这两个端口的规则:

代码语言:javascript
复制
sudo ufw allow 'Apache Full'

验证改变:

代码语言:javascript
复制
sudo ufw status

输出如下:

代码语言:javascript
复制
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

四、验证 Apache 安装

想要验证一切都顺利工作,打开你的浏览器,输入服务器 IP 地址http://YOUR_IP_OR_DOMAIN/,你可以看到默认的 Ubuntu 20.04 Apache 欢迎页面,像下面这样:

这个页面包含了 Apache 配置文件,帮助脚本和文件夹位置的一些基本信息。

五、设置一个虚拟主机

一个虚拟主机,是一个 Apache 配置指令,它允许你在一个服务器上运行多个网站。典型的例子,一个虚拟主机描述了一个网站。

Apache 默认启动了一个虚拟主机。所有域名都指向服务器 IP 地址,匹配了默认的虚拟主机。如果你只托管一个简单的网站,你需要将网站内容上传到/var/www/html,并且编辑虚拟主机配置,/etc/apache2/sites-enabled/000-default.conf文件。

如果你想托管更多网站,你需要为每一个网站创建一个虚拟主机配置。在这一节,我们将会为一个域名"example.com"设置网站。你可能需要将"example.com"替换成你自己的域名。

第一步就是创建根目录文件夹,域名的网站文件将会被存放在这里并且响应用户请求。运行下面的命令,创建这个文件夹:

代码语言:javascript
复制
sudo mkdir -p /var/www/example.com

为了测试目的,在域名根文件夹下创建一个index.html文件:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

当你做完时,保存并且关闭文件。

想要避免权限问题,修改域名根文件夹的用户归属为apache 用户(www-data):

代码语言:javascript
复制
sudo chown -R www-data: /var/www/example.com

下一步就是为域名“example.com”创建一个虚拟主机配置。最佳实践就是将每一个虚拟主机配置存储成一个独立的文件。

Apache虚拟主机配置文件存储在/etc/apache2/sites-available目录。标准命名是使用域名来命名配置文件。

打开你的文本编辑器,并且创建下面的文件/etc/apache2/sites-available/example.com.conf

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

Apache 不会读取/etc/apache2/sites-available文件夹下的配置文件,除非它们被链接到/etc/apache2/sites-enabled文件夹。

想要激活虚拟主机配置,使用a2ensite创建一个链接:

代码语言:javascript
复制
sudo a2ensite example.com

测试配置文件,是否有任何语法错误:

代码语言:javascript
复制
sudo apachectl configtest

如果没有任何错误,你将会看到下面的输出:

代码语言:javascript
复制
Syntax OK

重启 Apache 服务,使修改生效:

代码语言:javascript
复制
sudo systemctl restart apache2

最终,想要验证一切都按照预期工作,在你的浏览器中打开http://example.com,你将会看到类似下面的图片:

六、总结

我们向你展示如何在 Ubuntu 20.04 上安装 Apache。你现在已经准备好部署你的应用,并且将 Apache 用作网站或者代理服务器了。

原文 :https://linuxize.com/post/how-to-install-apache-on-ubuntu-20-04/

代码语言:javascript
复制
    版权声明:本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
腾讯云学生服务器_学生机_云服务器优惠套餐-云+校园 - 腾讯云
腾讯云学生服务器_学生机_云服务器优惠套餐-云+校园 - 腾讯云

如果你有任何疑问,请通过以下方式联系我们:

微信: sn0wdr1am86

微信群: 加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646

雪梦科技交流群
雪梦科技交流群
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020年05月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前提条件
  • 二、安装 Apache
  • 三、打开 HTTP 和 HTTPS 端口
  • 四、验证 Apache 安装
  • 五、设置一个虚拟主机
  • 六、总结
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档