我正在尝试安装和运行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
阅读源于此)。
由于您没有安装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
并检查status
这些命令的一个Apache2的服务器:
$ sudo systemctl stop apache2
$ sudo systemctl start apache2
$ sudo systemctl status apache2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句