有大量的资源,但关于如何在 ubuntu trusty (14.04) 上从 Precise (12.04) 安装 Apache 2.2,没有一个有用。
有人可以详细解答如何在 Ubuntu 14.04 上安装 Apache 2.2 吗?
当我执行 apt-cache 时,没有 Apache 2.2。
当我添加源时,我得到了 Apache 2.2,但尝试安装它却不起作用。
Apache 2.2 依赖项依赖于 ,而 Apache 2.2 依赖apache2.2-common
项又依赖于apache2.2-bin
。
因此我尝试安装apache2.2-bin
--> apache2.2-common
-->apache2-mpm-worker
然后apache2={version}
。
但每次安装后它都告诉我安装失败。当我重新启动时它告诉我安装失败,并且无法从配置文件中读取某些内容,因为配置文件丢失了。
先感谢您。
答案1
如何在存储库中没有 Apache 2.2 的 Ubuntu 发行版上安装该版本。
要求
您需要安装 build-essentials 包才能执行此操作。
~# sudo apt-get install build-essential
要使 Apache 能够压缩输出到支持此功能的浏览器,您需要安装 zlib。从zlip主页(撰写本文时为 zlib-1.2.11.tar.gz),提取它,导航到提取的文件夹,构建并安装。
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local
make
sudo make install
安装 Apache 2.2
从以下位置下载当前版本Apache 下载页面(撰写本文时为 httpd-2.2.32.tar.gz),提取它,导航到提取的文件夹,构建并安装。
wget http://www-eu.apache.org/dist/httpd/httpd-2.2.32.tar.gz
tar -xvf httpd-2.2.32.tar.gz
cd httpd-2.2.32/
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
make
sudo make install
启动Apache:
sudo /usr/local/apache2/bin/apachectl start
检查一切是否正常
导航http://本地主机在您的浏览器中,您应该会看到一条消息“它有效!”。
或者,您可以通过终端执行此操作:
wget -qO- http://localhost | grep "It works!"
终端上应该输出类似这样的内容:
<html><body><h1>It works!</h1></body></html>
使 Apache 在启动时启动
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apachectl
sudo chmod +x /etc/init.d/apachectl
sudo sed -i '2i #\n### BEGIN INIT INFO\n# Provides: apache2\n# Required-Start: $remote_fs\n# Required-Stop: $remote_fs\n# Default-Start: 2 3 4 5\n# Default-Stop: 0 1 6\n# Description: apache2\n# Short-Description: The Apache webserver\n### END INIT INFO' /etc/init.d/apachectl
sudo /usr/sbin/update-rc.d apachectl defaults
提示:你可以使用以下命令调用 apachectlsudo 服务 apachectl现在。
安全 Apache
sudo service apachectl stop
sudo adduser --system apache
sed -i -e 's/User daemon/User apache/g' /usr/local/apache2/conf/httpd.conf
sed -i -e 's/Group daemon/Group nogroup/g' /usr/local/apache2/conf/httpd.conf
sudo service apachectl start
检查新设置
ps -aux | grep httpd
如果最后一个命令的终端输出显示一些以“apache”开头的行,则一切正常。
配置您的网站
如果你只想为一个站点配置 Apache,只需编辑 httpd.conf
nano /usr/local/apache2/conf/httpd.conf
您可能需要修改的基本参数包括:
ServerName www.example.com:80
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
如果要配置多个站点,请查看 httpd-vhosts.conf
nano /usr/local/apache2/conf/extra/httpd-vhosts.conf
您必须在 < VirtualHost > 中添加一个与上面类似的 < Directory > 部分,但用于 VitualHost 的文档根目录。例如:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
<Directory "/usr/local/apache2/docs/dummy-host.example.com">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
答案2
我设法通过运行以下命令来安装它。
sudo apt-get install apache2=2.2.22-1ubuntu1.7 apache2.2-common=2.2.22-1ubuntu1.7 apache2.2-bin=2.2.22-1ubuntu1.7 apache2-mpm-worker=2.2.22-1ubuntu1.7
感谢这个问题这里
更新: 2.2.22-1ubuntu1.7 似乎已不存在。请尝试使用 2.2.22-1ubuntu1.10
对于我最初的问题,我在降级时发现了原始问题,因此从那时起就没有进一步研究这个问题。
答案3
截至 2019 年 2 月,我按照以下步骤在 Ubuntu 14.04 上安装 Apache 2.2:
将旧的 Repos 添加到 sources.list:
deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
使用命令“apt-cache madison ^apache2 | grep "2.22" 查找相应版本的详细信息
然后
apt install apache2.2=2.2.22-6ubuntu5.1 apache2-mpm-worker=2.2.22-6ubuntu5.1 apache2.2-common=2.2.22-6ubuntu5.1
注释掉不可用的模块,然后从那里开始。我注意到需要安装一些模块 - apt-cache madison ^libapache2 帮助找到了它们。此外,我在 authz 方面也遇到了问题 - 大概是因为我没有从干净的配置开始。
答案4
如何安装 Apache 2.2.34(Ubuntu 14.04.x...16.04.4 或更高版本):
安装新的 zlib:
wget http://www.zlib.net/zlib-1.2.11.tar.gz tar -xvf zlib-1.2.11.tar.gz cd zlib-1.2.11/ ./configure --prefix=/usr/local make sudo make install
安装apache 2.2.34:
wget http://archive.apache.org/dist/httpd/httpd-2.2.34.tar.gz tar -xvf httpd-2.2.34.tar.gz cd httpd-2.2.34/ ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http make sudo make install sudo /usr/local/apache2/bin/apachectl start
享受!