在 Debian Stretch 中有apache2
版本 2.4.25-3,但我至少需要 2.4.26(对于ProxyFCGISetEnvIf
)。我不是 Debian 的专业人士,并且不知道执行此操作的正确方法...我也尝试找到最新的存储库apache2
- 没有运气。
升级到Debian Sid似乎不太对劲。也许有人可以告诉我如何在 Debian Stretch 中获取最新的 Apache 2.4?
答案1
您最好的选择是使用 Buster 源包从源代码构建较新的 Apache 包。这涉及构建一些额外的构建依赖项。您最终将使用 Debian 软件包干净地安装 Web 服务器,一旦您升级到该版本,它将自动升级到 Buster 版本。同时,您必须跟踪 Buster 软件包的任何安全更新并自行重建它们。
首先安装一些有用的软件包:
sudo apt install build-essential devscripts
启用 Stretch 向后移植,这是我们在一个包中需要的:
echo deb http://deb.debian.org/debian stretch-backports main | sudo tee /etc/apt/sources.list.d/stretch-backports.list
sudo apt update
建造libapr
:
cd /tmp
dget -x http://deb.debian.org/debian/pool/main/a/apr/apr_1.6.5-1.dsc
dpkg-source -x apr_1.6.5-1.dsc
cd apr-1.6.5
mk-build-deps debian/control
sudo apt install ./apr-build-deps_1.6.5-1_amd64.deb
mv ./apr-build-deps_1.6.5-1_amd64.deb ..
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -us -uc
安装它:
sudo dpkg -i ../libapr1_1.6.5-1_amd64.deb ../libapr1-dev_1.6.5-1_amd64.deb
建造libssl
:
cd /tmp
dget -x http://deb.debian.org/debian/pool/main/o/openssl/openssl_1.1.1a-1.dsc
dpkg-source -x openssl_1.1.1a-1.dsc
cd openssl-1.1.1a
mk-build-deps debian/control
sudo apt install ./openssl-build-deps_1.1.1a-1_all.deb
mv ./openssl-build-deps_1.1.1a-1_all.deb ..
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -us -uc
安装它:
sudo dpkg -i ../libssl-dev_1.1.1a-1_amd64.deb ../libssl1.1_1.1.1a-1_amd64.deb
建造apr-util
:
cd /tmp
dget -x http://deb.debian.org/debian/pool/main/a/apr-util/apr-util_1.6.1-3.dsc
dpkg-source -x apr-util_1.6.1-3.dsc
cd apr-util-1.6.1
mk-build-deps debian/control
sudo apt install ./apr-util-build-deps_1.6.1-3_all.deb
mv ./apr-util-build-deps_1.6.1-3_all.deb ..
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -us -uc
安装它:
sudo dpkg -i ../libaprutil1-dev_1.6.1-3_amd64.deb ../libaprutil1_1.6.1-3_amd64.deb
建造apache2
:
cd /tmp
dget -x http://deb.debian.org/debian/pool/main/a/apache2/apache2_2.4.38-2.dsc
dpkg-source -x apache2_2.4.38-2.dsc
cd apache2-2.4.38
mk-build-deps debian/control
sudo apt install ./apache2-build-deps_2.4.38-2_all.deb
(如果您libaprutil
安装了其他软件包,这可能会失败;通过安装之前构建的相应软件包来升级它们。)
mv ./apache2-build-deps_2.4.38-2_all.deb ..
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -us -uc
最后,在上一步中构建的软件包中安装您需要的 Apache 软件包。
答案2
echo 'deb-src http://deb.debian.org/debian/ testing main' > /etc/apt/sources.list.d/testing.list
apt-get update
apt-get source apache2
apt-get build-dep apache2
cd apache2-*
dpkg-buildpackage -rfakeroot -b -uc
apt install ../*apache*deb
如果您发现任何未满足的依赖关系build-dep
,请对此包重复相同的命令,安装它,然后重试。