Apache HTTP服务器是一个免费的,开源的,功能强大,稳定,可靠和使用最广泛的跨平台Web服务器,可运行在类Unix系统(如Linux和Windows操作系统)上。 它提供了许多强大的功能,包含可动态加载的模块,强大的媒体支持以及与其他流行软件的巨大集成。 它也可用作其他服务器的反向代理,例如Nodejs,Python等应用服务器。
在本文中,我们将解释如何在Ubuntu 18.04上安装Apache Web服务器。 我们还将了解如何通过systemd管理Apache服务并创建用于设置网站的虚拟主机。
第1步:在Ubuntu 18.04上安装Apache
1. Apache可以从官方的Ubuntu软件仓库获得,首先通过更新系统的软件包索引开始,然后使用APT软件包管理器安装Apache软件包以及依赖关系。
$ sudo apt update $ sudo apt install apache2
成功安装Apache Web服务器后,请记下这些Apache重要的默认文件和目录。
- 主要配置文件目录: / etc / apache2 / 。
- 主配置文件: /etc/apache2/apache2.conf 。
- 其他配置片段: / etc / apache2 / conf-available /和/ etc / apache2 / conf-enabled / 。
- 每个站点的虚拟主机配置片段: / etc / apache2 / sites-available /和/ etc / apache2 / sites-enabled / 。
- 用于加载模块的配置片段: / etc / apache2 / mods-available /和/ etc / apache2 / mods-enabled / 。
- Web DocumentRoot: / var / www / html / 。
- 日志文件(错误和访问日志)目录: / var / log / apache / 。
2.在Apache安装过程之后,Web服务器服务应该自动启动,您可以使用以下命令检查它是否已启动并正在运行。
$ sudo systemctl status apache2
在Ubuntu中检查Apache服务
3.现在您的Apache Web服务器已启动并运行,让我们回顾一些基本的管理命令以使用以下命令管理Apache服务。
$ sudo systemctl status apache2 $ sudo systemctl stop apache2 $ sudo systemctl start apache2 $ sudo systemctl restart apache2 $ sudo systemctl reload apache2 $ sudo systemctl enable apache2 $ sudo systemctl disable apache2
4.接下来,如果您的系统上启用并运行了UFW防火墙,则需要打开端口80和443以允许客户端分别通过HTTP和HTTPS向Apache Web服务器发送请求,然后使用以下命令重新加载防火墙设置。
$ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp $ sudo ufw reload
第2步:在Ubuntu 18.04上检查Apache Web服务器
5.现在测试你的Apache2安装是否正常运行; 打开Web浏览器并输入以下URL以访问Apache默认网页。
http://domain_name/ OR http://SERVER_IP/
如果你看到这个页面,这意味着你的Apache Web服务器工作正常。 它还显示了一些有关重要Apache配置文件和目录位置的基本信息。
检查Apache Web页面
注意 :如果您想使用虚拟域名(例如youcl.local
,它不是一个完全注册的域名),则可以在要访问Apache默认网页的计算机上使用/ etc / hosts文件设置本地DNS 。
$ sudo vim /etc/hosts
然后在文件底部添加以下行,确保使用服务器的IP地址和本地域名替换192.168.56.101和youcl.local 。
192.168.56.101 youcl.local
第3步:在Ubuntu 18.04上设置Apache虚拟主机
接下来,我们将解释如何在您的网站上为Apache HTTP服务器(类似于Nginx服务器模块 )创建虚拟主机。 例如,如果您有一个名为example.com
的站点,并且您想使用Apache托管您的VPS,则需要在/etc/nginx/sites-available/
下为其创建一个虚拟主机。
首先,开始为您的域example.com
创建文档根目录,您的网站文件将存储在这个目录中。
$ sudo mkdir -p /var/www/html/example.com/
7.然后在目录上设置适当的权限,如图所示。
$ sudo chmod -R 775 /var/www/html/example.com/ $ sudo chown -R www-data:www-data /var/www/html/example.com/
8.接下来,在您网站的根目录中为您的网站创建一个测试html索引页面。
$ sudo vim /var/www/html/example.com/index.html
在里面,添加下面的示例HTML代码。
<html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>The example.com virtual host is working!</h1> </body> </html>
完成后保存并关闭文件。
9.现在在/ etc / apache2 / sites-available /目录下为您的站点创建一个example.com.conf
虚拟主机文件。
$ sudo vim /etc/apache2/sites-available/example.com.conf
粘贴以下配置指令,该指令与默认类似,但用新的新目录和域名更新。
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/html/example.com/ ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
完成后保存并关闭文件。
10.现在使用a2ensite实用程序启用您的站点配置。
$ sudo a2ensite example.com.conf
11.接下来,测试您的Apache2配置是否存在任何错误,如果一切正常,请重新启动apache2服务,如图所示。
$ sudo apache2ctl configtest $ sudo systemctl restart apache2
12.由于域名example.com
是虚拟域(不是完全注册的域),因此您还需要通过将其添加到/ etc / hosts文件来设置本地DNS。
$ sudo vim /etc/hosts
然后在文件底部添加以下行,确保将192.168.56.101和example.com替换为服务器的IP地址和本地域名。
192.168.56.101 example.com
保存该文件并退出。
13.最后打开Web浏览器并使用以下URL访问测试网站的索引页面,如屏幕截图所示。
http://example.com
测试VirtualHost网站
而已! 在本文中,我们解释了如何在Ubuntu 18.04上安装Apache Web服务器。 我们还研究了如何通过systemd管理Aapche2进程,并创建并启用每个站点的虚拟主机配置。 如果您有任何疑问,请使用下面的评论表单与我们联系。