手动编译适用于Debian Stretch的最新版lighttpd

3
在我的Debian stretch服务器上,我有lighttpd 1.4.45。我知道准备一个软件包需要一些时间。然而,我可能需要最新版本的lighttpd(1.4.49)中的一些错误修复。
这基本上意味着,我只能自己编译lighttpd,或者升级到较新的Debian(我想是Buster),它处于测试阶段。
所以基本上我需要帮助编译lighttpd。
到目前为止,我所拥有的是:
1. 在用户文件夹中下载tar包并解压缩。 sudo wget http://lighttpd.net/download/lighttpd-1.4.49.tar.gz sudo tar -zxvf lighttpd-1.4.49.tar.gz cd lighttpd-1.4.49
现在显然我的问题是:
  1. 我该如何编译它?有一个make-sh脚本和一个在目录中的Complie。
  2. 编译后,我该如何将已编译的守护程序移动到/etc/lighttpd中?
  3. 我如何使用我已经在使用的配置文件?

编辑:

  1. 我进入目录后尝试了以下命令:

    ./configure

这做了一些事情,然后我尝试了:

make

输入时出现了以下内容:make: ***未指定目标,也未找到makefile文件。停止。

但是我可以在目录中看到Makefile.am和Makefile.in文件。

2个回答

1

这个tarball附带了一些文件,你可能会发现它们很有趣:

INSTALL

其中包含:

$ cd lighttpd-1.x.x
$ ./configure
$ make
$ su -
# make install
# exit

README

----------------- Starting lighttpd

As daemon in the background: ::

$ lighttpd -f <configfile>

or without detaching from the console: ::

$ lighttpd -D -f <configfile>

1
我阅读了tarbal中的INSTALL文件,正如我所指出的,我尝试了其中描述的步骤。结果是“make: ***未指定目标,也未找到makefile。停止。” 我不知道我犯了什么错误。 - thefolenangel
1
./configure [...] 步骤中最有可能出现了问题,它做了什么?有没有报错?在我的系统上运行 ./configure 应该会创建 Makefile 文件,所以之前肯定出了什么问题。 - umläute
1
./configure --without-pcre --without-zlib --without-bzip2是用于生成必要文件的配置命令。然后我只运行了"make",它输出了以下内容: 在tests目录下进行安装 make[1]: 进入目录'/home/ivan/lighttpd-1.4.49/tests' 在docroot目录下进行安装 make[2]: 进入目录'/home/ivan/lighttpd-1.4.49/tests/docroot'我输入了"service lighttpd restart"和"lighttpd --version",但输出的版本仍为1.4.45。 - thefolenangel
1
我在指南中没有看到 service lighttpd restart。 (很可能 service restart 会重启 /usr/sbin/lighttpd,而您的 make install 已安装到 /usr/local/sbin/) - umläute
1
那么我怎样才能避免在错误的目录中安装呢? - thefolenangel
“./configure --help” 是你的好朋友。然而,真正的问题是你试图用自己编译的二进制文件劫持 Debian 包的基础设施。你不应该这样做。首先卸载 lighttpd Debian 包。 - umläute

0

你可以使用Debian的dpkg-buildpackage将最新的lighttpd版本构建为旧版Debian系统的Debian软件包。

release=$(curl -s https://download.lighttpd.net/lighttpd/releases-1.4.x/latest.txt)
release=${release#*-}
wget https://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-$release.tar.xz
mv lighttpd-$release.tar.xz lighttpd_$release.orig.tar.xz
git clone https://salsa.debian.org/debian/lighttpd.git
cd lighttpd/
dpkg-buildpackage -uc -us
cd ..
ls lighttpd*_$release*.deb
# dpkg -i ...

(以上假设debian/changelog与最新的lighttpd版本相匹配。根据需要更改$release。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接