回答:
以下を行う必要があります。
apt-cache showpkg <pachagename>
上記のコマンドは、このパッケージで利用可能なバージョンのリストを表示します。次に、必要なバージョンを選択して、以下を実行します。
apt-get install <packagename>=<complete version name>
例:
apt-cache showpkg apache2
apt-get install apache2=2.2.14-5ubuntu8.7
リポジトリにないApacheディストリビューションに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
Apacheを起動します。
sudo /usr/local/apache2/bin/apachectl start
すべてが正常かどうかを確認します
移動します。http:// localhostをあなたが言ってメッセージ表示されるはずですブラウザで、「それは作品を!」。
代わりに、ターミナルを介してこれを行うことができます:
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サービス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
セキュアなApache
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」で始まる行が表示されている場合は、すべて問題ありません。
サイトを構成する
1つのサイトだけに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のドキュメントルート用です。例えば:
<VirtualHost *:80>
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
<Directory "/usr/local/apache2/docs/dummy-host.example.com">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
/etc/init.d/apache2
、根本的に異なるコンテンツのファイルが既に存在します。
sudo service apachectl stop
は終了しますが、サービスは停止しません。
パッケージのピン留めについては、ubuntuのハウツーを参照してください。
ファイルを編集 /etc/apt/preferences
'preferences'ファイルは、実際の固定が行われる場所です。パッケージを固定するには、そのピン優先度をより高い数値に設定します。以下に例を示します。
Package: apache2
Pin: release n=raring
Pin-Priority: 1000
テスト実行する前に、apt-get update
またはapt-get install
とapt-cache policy apache2
詳細man apt_preferences
を参照してください。pinning raring
のリリースを選択したのは、この方法で2.2.xブランチの更新を引き続き取得できるためです。raring
のリポジトリURLを追加して、APTでパッケージを利用できるようにする必要があることを忘れないでください。
更新:
raring
EOLと同様に、まだサポートprecise
されているraring
パッケージまたはhttp://old-releases.ubuntu.comのアーカイブパッケージを使用できます。
これを使用/etc/apt/sources.list.d/raring.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
raring
。もちろん、precise
バージョンを使用する場合は、/etc/apt/preferences
それに応じて変更する必要があります。
apache2.2をインストールするには、次のプロセスを使用します。
後のディストリビューション(16.04など)で、Apacheサイトから2.2.31をダウンロードしました。
次の構成を使用して構築しました。
./configure --enable-so --enable-ssl --with-included-apr --enable-mods-shared=all --enable-load-all-modules --enable-rewrite --enable-proxy --enable-proxy_connect --enable-proxy_http --enable-proxy_ajp --enable-authn_alias --with-npm=prefork --enable-proxy_balancer --enable-proxy_ftp --enable-cache --enable-suexec --enable-disk_cache > conf.txt
次に、httpd.confおよびssl.confファイルを微調整します。
その後、。/ httpd -k startを実行するだけです
そしてそれは動作します!
apt-getを使用してapache2.4を追加しましたが、削除したことはありません。つまり、システムの起動後、apache2プロセスを強制終了する必要があります。そして、apache2.2を起動できます。私はapachectlを使用するためにapache2.4をインストールする必要がありましたが、後で./httpdを使用するため、それを解散しました
Ubuntu 13.04から13.10にアップグレードしましたか?Ubuntuパッケージリポジトリの外に出ない限り、Apache 2.2を取り戻す方法はありません。2.4で動作するように、Apacheの設定を修正することをお勧めします。