完了後Apache2 httpサーバーソースから(2.4.23)私はa2dissite
注文しませんでした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
、引き続き使用できる最良のオプションは、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
。 (BTW、プレフィックスはbinパス、ライブラリパスなどのプレフィックスです。たとえば、Apacheのコマンドラインツールはに入り、$PREFIX/bin
ライブラリはに入ります$PREFIX/lib/apache2
。)
問題に対する解決策は、/usr/local/apache2/bin
シェルがバイナリを見つけるために使用するパスのリストに追加することです。これはしばしば$PATH
「your path」と呼ばれ、次のコマンドを使用して変更できます。
export PATH="/usr/local/apache2/bin:$PATH"
これをシェルの起動ファイルの1つに入れて永久に作成できます。
それにもかかわらず、私はあなたがまだ2つのうちのa2ensite
1つを見つけることができないと思いますa2dissite
。私が正確に覚えているなら、両方のコマンドはDebian開発者が追加し、Mintから継承したものです。したがって、アップストリームのApacheソースコードには含まれません。スティーブンキット良い答えこれらのコマンドの取得方法をお知らせします。