構築後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/bin
http://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. を使用できるようにする最善の方法は、a2ensite
Debian ソース パッケージを使用することです。
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
一連のパッケージを生成します。.deb
dpkg
この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 の素晴らしい答えこれらのコマンドを取得する方法を説明します。