如何安装和启动 apache2

如何安装和启动 apache2

我正在尝试安装并运行 apache2。

所以我做了

sudo apt-get install apache2
sudo apt-get install apache2-utils

然后尝试启动它

sudo apache2

答案是

apache2: Could not open configuration file /etc/apache2/apache2.conf: No such file or directory

事实上确实如此:没有这样的文件。

于是我摸了摸它:

sudo touch /etc/apache2/apache2.conf

然后再次尝试

sudo apache2

现在回答的是

AH00534: apache2: Configuration error: No MPM loaded.

很可能我应该在触及的/etc/apache2/apache2.conf文件中添加一些内容。但我不知道该添加什么。

因此,我至少有三个问题:Apache 应该以 开始吗sudo apache?我必须放入的最小配置是什么?apache2.conf文件中输入的最小配置是什么?是否有一个软件包可以apt-get install用如此最小的配置从那里开始工作?

附录根据 Tarunkant Gupta 的评论,如果我尝试使用

sudo service apache2 start

我明白了

Failed to start apache2.service: Unit apache2.service not found.

根据 Saragyal 的回答:我没有/etc/apache2/sites-available也没有/etc/apache2/sites-enabled。的内容/etc/apache2是:

tree /etc/apache2
/etc/apache2/
 ├── apache2.conf
 └── conf-available
    └── javascript-common.conf

(并且apache2.conf源于我的touching)。

答案1

由于您没有安装 Apache 并且它无法正常运行,因此您不需要/etc/apache2存储所有配置文件的目录。

您还提到您曾经touch创建过一个apache.conf文件。这非常成问题,因为在conf,而创建空白文件会遗漏这些设置。

从存储库安装后,Apache 即可运行。安装后,它将创建所有必需的文件并实际启动服务器。

删除您已有的内容,然后从存储库执行全新安装。

删除并清除当前安装:

$ sudo apt-get remove --purge apache2 libapache2-mod-php
$ sudo apt autoremove
$ sudo apt-get remove --purge apache2 libapache2-mod-php 

您可能需要多次循环执行这两个命令。当最后一个命令的输出类似于以下内容时,它将被清理干净:

apollo@testnode2:~$ sudo apt-get remove --purge apache2 libapache2-mod-php
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'libapache2-mod-php' is not installed, so not removed
Package 'apache2' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

现在删除可能无法在全新安装中覆盖的错误配置文件。删除或重命名文件/etc/apache2夹:

$ sudo mv /etc/apache2/ /etc/apache2.old

现在使用以下命令安装全新 Apache2:

$ sudo apt-get install apache2 libapache2-mod-php

如果您想要将旧设置中的某些设置合并到新安装中,则可以将差异复制到新/etc/apache2目录中。逐步进行更改可能有助于您确定第一次出错的地方。

将您网站的配置文件放入 VirtualHost

另外,我建议您保留/etc/apache2/sites-available/000-default.conf文件。创建一个新的虚拟主机文件以包含所需的配置。只需将其复制000-default.conf到一个mysite.conf文件中,然后使用以下命令启用此虚拟主机:

$ sudo a2ensite mysite.conf

这样,如果您的配置文件有问题,您可以a2dissite mysite.conf在修复它时禁用它。在此期间,Apache 不会受到损坏。您还可以保留000-default.conf作为工作参考的模板。

配置的关键virtualhostServerName指令。通过该名称访问您的站点将调用该特定配置。

启动、停止和检查 Apache2 服务器

您不应该尝试通过运行/usr/bin/apache2命令来启动 Apache2 服务器。应该使用脚本来启动服务器,以设置所有需要的变量。

您可以start使用以下命令之一来stop检查Apache2 服务器的:status

$ sudo systemctl stop apache2
$ sudo systemctl start apache2
$ sudo systemctl status apache2

答案2

奇怪的是没有 apache2.conf 文件。只需谷歌搜索“default apache2.conf”,您就会在上面找到一个文件。只是为了确认您是否也没有虚拟站点。检查目录 /etc/apache2/sites-available 和 /etc/apache2/sites-enabled 的内容。

PS:我无法发表评论。

答案3

使用以下命令安装 Apache:

$ sudo apt-get install apache2 -y

安装过程完成后,Apache 应自动启动。使用以下命令检查您的 Apache 服务器是否正在运行:

$ /etc/init.d/apache2 status

如果您看到类似以下内容(具体来说,绿色圆圈表示 Apache 正在运行),那么您就可以开始了:

在此处输入图片描述

现在,测试一下。打开你的网络浏览器并导航到地址http://127.0.0.1:80。如果你看到 Apache 默认页面,则表示你的服务器已启动并正常运行。

要停止 Apache,请使用以下命令:

$ sudo /etc/init.d/apache2 stop

要启动 Apache,请使用以下命令:

$ sudo /etc/init.d/apache2 start

相关内容