在 Ubuntu 14.04 上安装 Apache 2.2.22

在 Ubuntu 14.04 上安装 Apache 2.2.22

有大量的资源,但关于如何在 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 或更高版本):

  1. 安装新的 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
    
  2. 安装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 
    

享受!

相关内容