如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器
什么是Apache Web Server?
Apache或Apache HTTP服务器是一个免费的开源Web服务器,由Apache软件基金(Apache Software Foundation)开发和维护。它的受欢迎程度可以通过以下事实来判断:全球约有46%的网站由Apache提供支持。 Apache允许网站开发人员通过网络提供他们的内容。
本教程是关于在Ubuntu系统上安装和配置Apache2的。本文中提到的命令和过程已在Ubuntu 18.04 LTS系统上运行。因为我们在本文中使用了Ubuntu命令行,终端;您可以通过系统Dash或Ctrl + Alt + T快捷方式打开它。
在Ubuntu Linux上安装Apache 2
请按照以下步骤通过Ubuntu官方存储库安装Apache2软件。
第1步:更新系统存储库
您可以通过首先更新Ubuntu存储库的本地包索引来下载最新版本的软件。打开终端并输入以下命令以执行此操作:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apt update

步骤2:使用apt命令安装Apache 2
接下来,输入以下命令作为sudo,以便安装Apache2及其所需的依赖项:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apt install apache2

系统可能会提示您使用y / n选项继续安装。 请输入Y,然后安装程序将开始。
第3步:验证Apache安装
安装完成后,您可以检查版本号,从而通过输入以下命令验证系统上是否确实安装了Apache2:
linuxidc@linuxidc:~/桌面/linuxidc.com$ apache2 -version

输出如下:
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2018-10-10T18:59:25
配置UFW防火墙
为了配置Apache,我们首先需要允许外部访问我们系统的某些Web端口,并在您的UFW防火墙上允许Apache。
第1步:列出UFW应用程序配置文件
为了配置防火墙,让我们首先列出我们启用Apache访问所需的应用程序配置文件。 使用以下命令列出此类可用应用程序:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo ufw app list

输出如下:
可用应用程序:
Apache
Apache Full
Apache Secure
CUPS
OpenSSH
Samba
在上面的输出中,您可以看到三个Apache配置文件都提供不同级别的安全性; Apache是一个提供最大限制但端口80仍处于打开状态的Apache。
步骤2:在UFW上允许Apache并验证其状态
在UFW上允许Apache将为网络流量打开端口80,同时为服务器提供最大的安全性。 请通过以下命令配置UFW以允许Apache:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo ufw allow 'Apache'
防火墙规则已更新
规则已更新(v6)

UFW的状态现在将在防火墙上显示启用Apache。
$ sudo ufw status
配置Apache Web服务器
步骤1:验证Apache服务是否正在运行
第一步是通过以下命令验证Apache2服务是否在您的系统上启动并运行:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Sun 2018-11-25 19:26:03 CST; 10min ago
Main PID: 11590 (apache2)
Tasks: 6 (limit: 3500)
CGroup: /system.slice/apache2.service
├─11590 /usr/sbin/apache2 -k start
├─11610 /usr/sbin/apache2 -k start
├─11611 /usr/sbin/apache2 -k start
├─11612 /usr/sbin/apache2 -k start
├─11616 /usr/sbin/apache2 -k start
└─11618 /usr/sbin/apache2 -k start
11月 25 19:26:03 linuxidc systemd[1]: Starting The Apache HTTP Server...
11月 25 19:26:03 linuxidc apachectl[11574]: AH00558: apache2: Could not reliably
11月 25 19:26:03 linuxidc systemd[1]: Started The Apache HTTP Server.

状态:active(running)验证apache2服务是否正在运行。
第2步:验证Apache是否正常运行并侦听您的IP地址
您还可以通过从Apache服务器请求页面来验证Apache是否正在运行。 为此,您可以使用服务器的IP来访问Apache登录页面。
使用以下命令了解服务器的IP:
linuxidc@linuxidc:~/桌面/linuxidc.com$ hostname -I
192.168.182.188 172.16.43.1 172.16.238.1 172.17.0.1

然后在Web浏览器中逐个尝试IP,如下所示:
http://server_IP

就我而言,http://192.168.182.188和http://172.16.43.1。 这样做将显示Ubuntu的以下Apache网页,验证Apache服务器是否正常工作。
在Apache中设置虚拟主机
虚拟主机类似于Nginx中的服务器块。 它用于管理来自一个服务器的多个域的配置。 我们将提供一个如何通过Apache服务器设置虚拟主机的示例。 我们将使用Apache for Ubuntu 18中默认启用的服务器块来建立一个名为linuxidc.com的网站。
第1步:设置域名
默认情况下启用的服务器块能够提供来自 /var/www/html的文档。 但是,我们将在/var/www/创建一个目录,保留默认目录。
通过以下命令创建此目录,将linuxidc.com替换为您各自的域名。
sudo mkdir -p /var/www/linuxidc.com/html
然后通过以下命令分配目录的所有权:
sudo chown -R $USER:$USER /var/www/linuxidc.com/html
sudo chmod -R 755 /var/www/linuxidc.com

现在让我们创建一个索引页面,如果Apache运行我们的域名,我们以后可以访问它们进行测试。 通过Nano编辑器或任何您喜欢的文本编辑器创建HTML文件。
nano /var/www/linuxidc.com/html/index.html
为索引页输入以下HTML:
<html>
<head>
<title>欢迎来到Linux公社页面 www.linuxidc.com</title>
</head>
<body>
<h1>你真是棒! 您的linuxidc.com服务器块已启动!</h1>
</body>
</html>

我们使用nano编辑器来创建HTML文件。
您可以使用Ctrl + X将文件保存为nano,然后输入Y并按Enter键。
Apache需要一个虚拟主机文件来提供服务器的内容。 已经创建了用于此目的的默认配置文件,但我们将为自定义配置创建一个新配置文件。
sudo nano /etc/apache2/sites-available/linuxidc.com.conf

输入域名的以下自定义配置详细信息:
<VirtualHost *:80>
ServerAdmin admin@linuxidc.com
ServerName linuxidc.com
ServerAlias www.linuxidc.com
DocumentRoot /var/www/linuxidc.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我们正在使用nano编辑器来创建此.conf文件。
您可以使用Ctrl + X将文件保存为nano,然后输入Y并按Enter键。
步骤2:启用域配置文件
让我们启用使用a2ensite工具创建的配置文件:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo a2ensite linuxidc.com.conf
Enabling site linuxidc.com.
To activate the new configuration, you need to run:
systemctl reload apache2

输出将建议激活新配置,但我们可以在运行以下禁用原始配置文件的命令后集体执行此操作:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo a2dissite 000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
systemctl reload apache2

现在重启Apache服务:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo systemctl restart apache2
第3步:测试错误
最后,让我们通过以下命令测试是否存在任何配置错误:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apache2ctl configtest
如果您没有收到任何错误,您将获得以下输出:
Syntax OK

但是,Ubuntu 18.04中常见以下错误
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

解决错误:
输入以下命令以解决上述错误:
linuxidc@linuxidc:~/桌面/linuxidc.com$ echo "ServerName linuxidc.com" | sudo tee /etc/apache2/conf-available/servername.conf

然后:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo a2enconf servername
Enabling conf servername.
To activate the new configuration, you need to run:
systemctl reload apache2

现在,当您再次检查错误时,您将看到通过以下输出解决了此错误:
linuxidc@linuxidc:~/桌面/linuxidc.com$ sudo apache2ctl configtest
Syntax OK

第4步:测试Apache是否为您的域名提供服务
Apache服务器现在配置为提供您的域名。 这可以通过在系统上运行的任何Web浏览器中输入您的服务器名称来验证:
http://www.linuxidc.com
索引页面应显示如下,表示Apache现在已准备好为您的服务器块提供服务!
通过域名访问您的网站
中文乱码:

Apache 2网页中文乱码的解决方法:
linuxidc@linuxidc:~$ sudo nano /etc/apache2/conf-available/charset.conf
修改charset.conf的AddDefaultCharset UTF-8,把AddDefaultCharset UTF-8前面的#去掉即可。
如下图:

然后重启apache2
linuxidc@linuxidc:~$ sudo systemctl restart apache2
再次打开,OK,中文网页乱码解决了。

一些常见的Apache管理命令
设置Web服务器后,您可能必须在Apache上执行一些基本的管理操作。 以下是您可以在终端应用程序中输入的用于这些操作的命令。
sudo systemctl start apache2 //将此命令用作sudo以启动Apache服务器。
sudo systemctl stop apache2 //将此命令用作sudo,以便在Apache服务器处于启动模式时停止它。
sudo systemctl restart apache2 //将此命令用作sudo以便停止然后再次启动Apache服务。
sudo systemctl reload apache2 //将此命令用作sudo,以便在不重新启动连接的情况下应用配置更改。
sudo systemctl启用apache2 //将此命令用作sudo,以便在每次启动系统时启用Apache。
sudo systemctl disable apache2 //将Apache设置为每次启动系统时启动
总结
通过本文,您学习了如何在Ubuntu系统上安装和配置Apache Web服务器。 这包括对您的UFW防火墙进行一些更改,然后为您的IP地址配置Web服务器。 我们还建议您通过Apache设置虚拟主机; 这将为您提供如何使用Apache在Internet上托管文件的基础。 基本的Apache管理命令还可以帮助您作为Web管理员以最佳方式管理Web服务器。
如何在Ubuntu 18.04上安装和配置Apache 2 Web服务器(转)的更多相关文章
- 如何在Ubuntu 18.04上安装Pip
一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...
- 如何在Ubuntu 18.04上安装Go
如何在Ubuntu 18.04上安装Go 谢鸢发表于云计算教程系列订阅98 介绍 课程准备 第1步 - 安装Go 第2步 - 设置Go路径 第3步 - 测试您的安装 结论 介绍 Go是Google开发 ...
- 如何在Ubuntu 18.04上安装Apache Web服务器
一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...
- 如何在Ubuntu 18.04上安装和卸载TeamViewer
卸载命令:sudo apt --purge remove teamviewer 安装:https://www.linuxidc.com/Linux/2018-05/152282.htm 如何在Ubun ...
- 如何在Ubuntu 18.04上安装Django
Django是一个免费的开源高级Python Web框架,旨在帮助开发人员构建安全,可扩展和可维护的Web应用程序. 根据您的需要,有不同的方法来安装Django.它可以使用pip在系统范围内安装或在 ...
- 如何在Ubuntu 18.04上安装Nginx
Nginx功能之强大,想必大家比我更清楚. 百度百科:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔 ...
- 转载:如何在Ubuntu 18.04上使用UFW设置防火墙
https://blog.csdn.net/u013068789/article/details/82051943 介绍 UFW或Uncomplicated Firewall是iptables一个接口 ...
- 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)
OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0.这些版本中有很多错误修复和其他更改.发布重点如下: OpenCV现在是C ++ 11库,需要符合C ++ 11标准的 ...
- 如何在Ubuntu 18.04中安装VMware Workstation Player
参考链接 如何在Ubuntu 18.04中安装VMware Workstation Player https://www.sysgeek.cn/ubuntu-18-04-install-vmware- ...
随机推荐
- 7:servlet request getHeader("x-forwarded-for") 获取真实IP
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实 ...
- git other-误删恢复等
修改未push的最后一次commit 如在commit后发现漏添加的文件或者commit message需要修改,则可以依次执行: git add FILE_UN_STAGED # 将未提交的文件添加 ...
- Python远程调试Openstack
前言 由于开始着手openstack运维方面的东西,我这颗大白菜必须要学一学这个高端的东西啦. 准备 pycharm依赖于专业版(这里需要注意,我前面浪费了好多时间...)下载并安装pycharm,网 ...
- 14.会场安排问题(L4)
时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工作就是安排学校 ...
- linux driver ------ 三星公司uboot模式下更改分区(EMMC)大小fdisk命令 ------ iTOP4412 开发板烧写
核心板 SCP 1G eMMC:KLM8G------>8G 终端(串口)输入(如果执行过,只需要执行最后一句即可): 开发板一启动,立马在终端按回车,进入 uboot 模式 fdisk -c ...
- python中的无参装饰器和有参装饰器
python中的无参装饰器和有参装饰器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 装饰器特点: 1>.开放封闭原则,即对扩展是开放的,对修改时封闭的: 2>.装饰器 ...
- 40个新鲜的 jQuery 插件,使您的网站用户友好
作为最流行的 JavaScript 开发框架,jQuery 在现在的 Web 开发项目中扮演着重要角色,它简化了 HTML 文档遍历,事件处理,动画以及 Ajax 交互,这篇文章特别收集了40个新鲜的 ...
- 【BZOJ】2111: [ZJOI2010]Perm 排列计数 计数DP+排列组合+lucas
[题目]BZOJ 2111 [题意]求有多少1~n的排列,满足\(A_i>A_{\frac{i}{2}}\),输出对p取模的结果.\(n \leq 10^6,p \leq 10^9\),p是素数 ...
- 03 uni-app框架学习:轮播图组件的使用
1.轮播图组件的使用 参照官方文档 2.在页面上加入这个组件 3.在页面中引去css样式 并编写样式 ps:upx单位是什么 简单来说 就相当于小程序中的rpx 是一个自适应的单位 会根据屏幕宽度自动 ...
- .Net Core连接RabbitMQ集群
var connectionFactory = new ConnectionFactory() { //HostName = "192.168.205.128", 集群不在此处声明 ...