我的虚拟机位于封闭网络中,因此无法使用apt install apache2
。相反,我按照以下步骤手动安装:
tar -xzvf httpd-2.4.51.tar.gz
进入/home/my_username
目录,获取httpd-2.4.51
目录- 放置在
apr-1.7.0.tar.gz
和之下以及所有apr-iconv-1.2.2.tar.gz
apr-util-1.6.1.tar.gz
httpd-2.4.51/srclib/
tar -xzvf
- 通过省略其版本来重命名这些解压后的 APR 目录,
apr-util-1.6.1
例如apr-util
mv apr-util-1.6.1 apr-util
tar -xzvf pcre-8.45.tar.gz
进入/home/my_username
目录,获取pcre-8.45
目录cd pcre-8.45
和./configure --prefix=/usr/local/pcre; make; make install
- 最后安装 Apache
./configure --prefix=/usr/local/apache2 --with-pcre=/usr/local/pcre; make; make install
我检查了/usr/local/apache2
文件夹,一切似乎都很好。但是当我尝试使用 启动 Apache 时systemctl start apache2
,cmd 说Failed to start apache2.service: Unit apache2.service not found.
。设备是否可能在安装后仍无法识别 Apache,或者我应该将 Apache 注册为 Linux 服务?网络上的大多数解决方案都假设使用该apt install apache2
方法,系统将在后台处理所有必需的内容。就我的情况而言,我认为我错过了一些配置设置,所以我一直卡在这里。欢迎提出任何建议。
答案1
尝试下载.deb
适用于你的发行版的软件包并安装它dpkg
。(例如dpkg -i package.deb
)
答案2
如果没有互联网访问,构建具有所有依赖项的 apache2 非常困难。替代选项:安装具有互联网访问的 Ubuntu 20.04(您可以使用从 usb 运行的 Ubuntu 20.04 live iso)。
Run in the terminal mkdir ${HOME}/apache2 && cd apache2
阅读答案https://askubuntu.com/search?q=recursively+list+dependencies
Download the packages to the apache2 folder
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances apache2 | grep "^\w" |grep -v "i386" | sort -u)
grep -v "i386" (To ignore the i386 ones)
将 apache2 文件夹复制到没有互联网的虚拟机。
In the apache2 folder, run sudo dpkg -i *.deb in the terminal