我正在尝试安装并运行 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
源于我的touch
ing)。
答案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
作为工作参考的模板。
配置的关键virtualhost
是ServerName
指令。通过该名称访问您的站点将调用该特定配置。
启动、停止和检查 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