Apache-2.2

如何安裝特定版本的 Apache?

  • November 7, 2017

由於 Ubuntu 更新,我錯誤地將 Apache 2.2 升級到 2.4——很多事情都出錯了。

我不知道如何在apt-get remove apache2. apt-get install apache2總是安裝 2.4。

我該怎麼做?

您需要執行以下操作:

apt-cache showpkg <pachagename>

上面的命令將顯示此包的可用版本列表。然後選擇所需的版本並執行以下操作。

apt-get install <packagename>=<complete version name>

例子:

apt-cache showpkg apache2
apt-get install apache2=2.2.14-5ubuntu8.7

如何在儲存庫中沒有它的 Ubuntu 發行版上安裝 Apache 2.2。

要求

您需要安裝 build-essentials 軟體包才能執行此操作。

~# sudo apt-get install build-essential

要使 Apache 能夠將輸出壓縮到支持它的瀏覽器,您需要安裝 zlib。從zlip Hompage下載目前版本(寫作時為 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

啟動阿帕奇:

sudo /usr/local/apache2/bin/apachectl start

檢查,如果一切正常

在瀏覽器中導航到http://localhost,您應該會在其中看到一條消息“It works!”。

或者,您可以通過終端執行此操作:

wget -qO- http://localhost | grep "It works!"

應該在終端中輸出如下內容:

<html><body><h1>It works!</h1></body></html>

為 Apache2 創建“服務”

sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache22
sudo chmod +x /etc/init.d/apache22

提示:您現在可以使用sudo service apache22呼叫 apachectl 。

使 Apache 在啟動時啟動

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/apache22
sudo /usr/sbin/update-rc.d apache22 defaults

安全的阿帕奇

sudo service apache22 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 apache22 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/httpd.conf

您將不得不添加一個與 <VirtualHost> 類似的 <Directory> 部分,但對於 VitualHost 的文件根目錄。例如:

&lt;VirtualHost *:80&gt;
   ServerAdmin webmaster@dummy-host.example.com
   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
   &lt;Directory "/usr/local/apache2/docs/dummy-host.example.com"&gt;
       Options Indexes FollowSymLinks
       AllowOverride None
       Order allow,deny
       Allow from all
   &lt;/Directory&gt;
&lt;/VirtualHost&gt;

引用自:https://serverfault.com/questions/544779