Mint17 でソースから `apache2` をビルドした後、`a2dissite` と `a2ensite` が見つかりません

Mint17 でソースから `apache2` をビルドした後、`a2dissite` と `a2ensite` が見つかりません

構築後apache2 http サーバーソースから(2.4.23a2dissite) コマンドとコマンドがありませんa2ensite

構成は次のとおりです:

./configure --with-included-apr --prefix=/usr/local/apache2

実行すると:

whereis apache2

次のような結果になります:

apache2: /etc/apache2 /usr/local/apache2

しかし、何も表示されません。おそらく、 ? which apache2へのシンボリックリンクが必要です。正常に動作しています。/usr/binhttp://localhost

ソースのバージョン情報:

/usr/local/apache2/bin/apachectl -v Server version: Apache/2.4.23 (Unix) Server built: Nov 1 2016 22:52:26

Linuxバージョン:

linux mint 17
3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 

答え1

Apache Software Foundationから入手可能なソースからビルドしたと思います。a2en...スクリプト(およびサポート設定)はDebian固有のものであり、対応するソースコードを参照してください。Debianリポジトリ

httpdソースからサーバーを構築し、 etc. を使用できるようにする最善の方法は、a2ensiteDebian ソース パッケージを使用することです。

sudo apt-get install devscripts dpkg-dev build-essential
sudo apt-get build-dep apache2
dget http://httpredir.debian.org/debian/pool/main/a/apache2/apache2_2.4.23-5.dsc
cd apache2-2.4.23
dpkg-buildpackage -us -uc

最初の 2 つのコマンドは、ビルドに必要なパッケージをインストールしますapache2。次に、dgetソース パッケージをダウンロードして抽出し、ビルドして、通常どおり手動でインストールできるdpkg-buildpackage一連のパッケージを生成します。.debdpkg

このbuild-dep行が機能しない場合は、次の行が と同等になりますapache2

sudo apt-get install debhelper lsb-release libaprutil1-dev libapr1-dev libpcre3-dev zlib1g-dev libnghttp2-dev libssl-dev perl liblua5.2-dev libxml2-dev autotools-dev gawk dh-systemd

答え2

にシンボリックリンクを作成しないでください/usr/bin。これは非常に悪い考えであり、行うべきではありません。

なぜでしょうか?/usrを含む の大部分は/usr/binパッケージ マネージャー用に予約されているからです。あなたを含め、パッケージ マネージャー以外のものは、そこにあるものに触れるべきではありません。

/usr/localは、ローカルでコンパイルされたソフトウェアをインストールする場所を提供するために存在します。通常は、/usr/localではなく、プレフィックスとしてを指定します/usr/local/apache2。(プレフィックスとは、bin パスやライブラリ パスなどに付けられるものです。たとえば、Apache のコマンドライン ツールは に、そのライブラリは に、などと$PREFIX/binなります。)$PREFIX/lib/apache2

/usr/local/apache2/bin問題を解決するには、シェルがバイナリを見つけるために使用するパスのリストに追加します。これは通常$PATH、または単に「パス」と呼ばれ、次のようなコマンドで変更できます。

export PATH="/usr/local/apache2/bin:$PATH"

これをシェルの起動ファイルの 1 つに配置すると、永続的にすることができます。

とはいえ、a2ensiteやはまだ見つからないと思いますa2dissite。私の記憶が正しければ、これらのコマンドは両方とも Debian 開発者によって追加され、その後 Mint に継承されました。したがって、アップストリームの Apache ソースコードには含まれていません。Stephen Kitt の素晴らしい答えこれらのコマンドを取得する方法を説明します。

関連情報