我正在尝试在我的 centos 服务器上安装最新版本的 apache。我做了以下操作:
下载 $ wget http://httpd.apache.org/path/to/latest/version/ 提取 $ gzip -d httpd-2_0_NN.tar.gz $ tar xvf httpd-2_0_NN.tar 配置 $ ./configure 编译 $ make 安装 $ make install 测试 $ PREFIX/bin/apachectl start
除了最后一步,其他都正常了。当我输入 apachectl start 时,系统提示“未找到命令”。我从安装位置 /usr/local/apache2/bin/ 运行了此命令,但没有任何效果。有人知道我做错了什么吗?谢谢。
答案1
它不起作用,因为您实际上是给了它字符串,PREFIX/bin/apachectl start
而不是PREFIX
按照您遵循的说明替换为安装 Apache 的位置。
在你的情况下,这显然是/usr/local/apache2
,所以运行
/usr/local/apache2/bin/apachectl start
但是,这仍然给我们留下了一个更大的问题:你为什么要这样做? CentOS 提供的供应商软件包包括错误修复和安全补丁,事实上,它们会定期更新,以确保修复新发现的问题。
同时,Apache 2.2.x 分支中的开发相当保守,使用 2.2.17(当前最新版本)不会获得任何重大新功能(如果有的话!)。而且,这甚至还没有考虑到您似乎已经获得了相当旧的 2.0 版本。您是否想要不兼容、不稳定的 2.3 开发版本?
答案2
/usr/local/apache2/bin/ 在你的 $PATH 中吗?echo $PATH
在命令行上运行查看。
如果没有,那么在 /usr/local/apache2/bin/ 中您是否输入了apachectl start
或./apachectl start
?
如果您省略了,./
那么 shell 将在 PATH 中提到的各个目录中进行搜索,但找不到 apachectl。如果您在./
可执行文件之前有,它将从您所在的目录中运行它。