新手上车教程:在Ubuntu 20.04上安装Apache详细图文教程
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
昨天淘宝来了一个客户问,如何如何在Ubuntu 20.04 上安装 Apache,不过站内还是很少有关于Ubuntu的教程,apache到是有几篇文章,今天借着不舒服,写篇关于Ubuntu的文章;
简介: Apache 是世界上最流行的网站服务器之一。它是开源并且跨平台的 HTTP 服务器,它托管了互联网上大量的网站。Apache 提供了很多强大的功能,并且可以扩展其他的模块。关于 Ubuntu 20.04 上安装和管理 Apache 网站服务器,我们来说一下;
安装Apache首先要下载,建议镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站:https://developer.aliyun.com/mirror
一、前提条件
在开始安装之前,要确保你以 sudo 权限用户身份登录。
二、安装 Apache
Apache 被包含在默认的 Ubuntu 软件源中。
安装非常直接。在 Ubuntu 和 Debian 系统中,Apache 软件包和服务被称为 apache2
。
运行下面的命令来更新软件包索引,并且安装 Apache:
sudo apt update sudo apt install apache2
当安装过程完成,Apache 服务将会被自动启动。
你可以通过输入下面的命令,验证 Apache 是否正在运行:
sudo systemctl status apache2
输出将会告诉你,服务正在运行,并且启动了开机启动。
● 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
配置,它包含了这两个端口的规则:
sudo ufw allow 'Apache Full'
验证改变:
sudo ufw status
输出如下:
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"替换成你自己的域名。
第一步就是创建根目录文件夹,域名的网站文件将会被存放在这里并且响应用户请求。运行下面的命令,创建文件夹:
sudo mkdir -p /var/www/example.com
为了测试,在域名根文件夹下创建一个index.html
文件:
<!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
):
sudo chown -R www-data: /var/www/example.com
接下来就是为域名“example.com”创建一个虚拟主机配置。最佳实践就是将每一个虚拟主机配置存储成一个独立的文件。
Apache虚拟主机配置文件存储在/etc/apache2/sites-available
目录。标准命名是使用域名来命名配置文件。
打开你的文本编辑器,并且创建如下文件/etc/apache2/sites-available/example.com.conf
:
<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
创建一个链接:
sudo a2ensite example.com
测试配置文件,是否有任何语法错误:
sudo apachectl configtest
如果没有任何错误,你将会看到下面的输出:
Syntax OK
重启 Apache 服务,使修改生效:
sudo systemctl restart apache2
最终,想要验证一切都按照预期工作,在你的浏览器中打开[http://example.com](http://example.com)
,你将会看到类似下面的图片:
六、写在最后
如何在 Ubuntu 20.04 上安装 Apache的整个教程已经完成;现在可以开始部署各位看官的应用,并且将 Apache 用作网站或者代理服务器了。
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!