在 Ubuntu 12.04 上将 Lighttpd 1.4.28 升级到 1.4.35

在 Ubuntu 12.04 上将 Lighttpd 1.4.28 升级到 1.4.35

我正在使用 Ubuntu 12.04 并使用以下命令安装 Lighttpd:

sudo apt-get install lighttpd

此安装的版本1.4.28。

我从 Lighttpd 网站下载了 1.4.35(最新版本)的源文件并使用以下命令进行安装:

cd /lighttpd-1.4.35/
./configure --without-bzip2
make
sudo make install

使用检查版本lighttpd-v印刷:

lighttpd/1.4.35 - a light and fast webserver
Build-Date: May 15 2014 09:35:28

但是在浏览器中访问 127.0.0.1 会显示 /var/www 列表以及页脚,表明它仍在运行版本 1.4.28。

如何正确升级 Lighttpd?

答案1

automake 项目使用默认安装位置 /usr/local。上游 lighttpd 不会安装任何初始化脚本或类似内容(源代码中有示例,但通常由发行版维护)。

这意味着您的发行版提供的 init 脚本启动 /usr/sbin/lighttpd 中提供的二进制文件(来自您的 1.4.28 包),而不是 /usr/local/sbin/lighttpd 中提供的二进制文件(您从源代码安装的)。

问题分析到此结束。

切勿混合来自软件包和手动编译源的软件。

不要这么做。如果你要从源代码编译,请始终尝试以普通用户身份编译和安装它,而不是在 /usr/local 中。例如,您可以运行:

./configure --without-bzip2 --prefix=~/local
make install

这可能会使其实际运行变得更加复杂,但却能保持系统清洁。

首选解决方案始终是安装真实的软件包(这也使得接收安全更新变得更容易),或者自己构建它们,然后安装它们(通常通过更新已经存在的源包)。

http://packages.ubuntu.com/search?keywords=lighttpd显示 14.04 实际上有 lighttpd 1.4.33(而不是 1.4.28)。您也可以尝试安装 debian jessie 包(https://packages.debian.org/search?keywords=lighttpd) - 如果依赖关系可以满足它应该可以工作。(或者下载 jessie 包源并自行构建)。

作为最后的手段,你可以尝试来自https://build.opensuse.org/package/show/home:stbuehler/lighttpd

相关内容