質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

6088閲覧

Apache2.4系のソースからのビルドに失敗する

yochun02

総合スコア76

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2020/01/20 02:48

LinuxサーバにApache2.4(現在最新のver2.4.41)をwgetでソースからインストールしたいのですが、以下のようなエラーが出ており解決方法がわからない状態です。

経緯

apr,apr-utilのインストール

Apache2.4をソースからインストールしてみるなどを参考に、apr,apr-utilのインストール。
インストール先はテストも兼ねて以下の様にしてます。(バージョン番号は現在の最新版です)
apr:/home/username/apache2/apr-1.7.0/
apr-util:/home/username/apache2/apr-util-1.6.1/
httpd:/home/username/apache2/httpd/

plain

1 2./configure --prefix=/home/username/apache2/apr-1.7.0 3make 4make install 5 6./configure --prefix=/home/username/apache2/apr-util-1.6.1 --with-apr=/home/username/apr-1.7.0 7make 8make install 9

ここまではなぜかブログにあるようなエラー等は起きず無事指定ディレクトリにインストール出来ました。

httpdのインストール

最新安定版のhttpd.2.4.41を/home/username/apache2/httpd/にインストール。

plain

1./configure --prefix=/home/username/apache2/httpd --with-apr=/home/username/apache2/apr-1.7.0 --with-apr-util=/home/username/apache2/apr-util-1.6.1

しかし、このあとmakeの段階で以下のようなエラーが出てインストールに失敗してしまいます。

plain

1... 2... 3/home/usernmae/apache2/apr-1.7.0/build-1/libtool --silent --mode=link gcc -g -O2 -pthread -o htpasswd htpasswd.lo passwd_common.lo /home/username/apache2/apr-util-1.6.1/lib/libaprutil-1.la -lexpat /home/username/apache2/apr-1.7.0/lib/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt 4libtool: error: cannot find the library '/home/username/apache2/apr-1.7.0/lib/libapr-1.la' or unhandled argument '/home/username/apache2/apr-1.7.0/lib/libapr-1.la' 5Makefile:48: recipe for target 'htpasswd' failed 6make[2]: *** [htpasswd] Error 1 7make[2]: ディレクトリ '/home/username/tmp/httpd-2.4.41/support' から出ます 8/home/username/tmp/httpd-2.4.41/build/rules.mk:75: recipe for target 'all-recursive' failed 9make[1]: *** [all-recursive] Error 1 10make[1]: ディレクトリ '/home/username/tmp/httpd-2.4.41/support' から出ます 11/home/username/tmp/httpd-2.4.41/build/rules.mk:75: recipe for target 'all-recursive' failed 12make: *** [all-recursive] Error 1 13httpd-2.4.41$ ./configure --with-apr=/home/username/apache2/apr-1.7.0 --with-apr-util=/home/a0131724/

cannot findとあるので実際に確認してみましたが、/home/username/apache2/apr-1.7.0配下には確かにlibapr-1.laが在りました。原因がわかる方お教えください。

linuxのディストリビューションはUbuntu18.04です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

cd ~/tmp tar xzf apr-1.7.0.tar.gz tar xzf apr-util-1.6.1.tar.gz tar xzf httpd-2.4.41.tar.gz mv apr-1.7.0 apr mv apr-util-1.6.1 apr-util mv apr apr-util httpd-2.4.41/srclib cd httpd-2.4.41 ./configure --prefix=/home/username/apache2/httpd make make install

ではどうでしょう

投稿2020/01/28 02:20

himazin.blm

総合スコア581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

aprとapr-utilのバージョンを1.xまでは同じバージョン(1.6.xでそろえる。または1.7.xでそろえる)を利用してみたらどうでしょうか。

投稿2020/01/20 03:07

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yochun02

2020/01/20 04:58 編集

aprを1.6.5のものにしてみたら、makeは出来たんですが、今度は以下のようなエラーが出てきました。 /home/username/apache2/apr-1.6.5/lib/libapr-1.so: undefined reference to `uuid_generate@UUID_1.0' collect2: error: ld returned 1 exit status /home/username/tmp/httpd-2.4.41/build/program.mk:22: recipe for target 'httpd' failed make[1]: *** [httpd] Error 1 make[1]: ディレクトリ '/home/usernanme/tmp/httpd-2.4.41' から出ます /home/username/tmp/httpd-2.4.41/build/rules.mk:75: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1 今度はエラーは吐いてますが、指定ディレクトリにファイルが作られていました。しかし、apachectl start(/home/username/apache2/httpd/bin/apachectl)を実行しても/home/username/apache2/httpd/bin/httpdがない(httpdが作られていない)言われ起動出来ません..。
yochun02

2020/01/20 04:52 編集

そもそも起動に関する設定ファイル?httpd.confもfindで探してみてもどこにもありませんでした。→ やっぱりちゃんとインストール出来てない?
yukky1201

2020/01/20 06:11

make[1]: ディレクトリ '/home/usernanme/tmp/httpd-2.4.41' から出ます あいだにtmpディレクトリがありますが、どのようなディレクトリ構造とカレントディレクトリでコマンドを実行しているのでしょうか。 コマンドをrootで実行しているかも不明ですので、その時のプロンプト付きで記載してください。(#なのか$なのかも大事な情報源です)
yochun02

2020/01/20 06:31 編集

ユーザは$です。ディレクトリの構成は、 /home/username: ホームディレクトリ($ cd ~で遷移するので以下~で代用) ~/tmp:wgetでダウンロードしてきたtarファイルおよびその展開したディレクトリを一時的に保存しているディレクトリ ~/apache2:インストール先ディレクトリ 基本的に質問に書いたコマンドは~/tmpにダウンロードしたディレクトリ毎に実行しています。即ち、 ~/tmp/apr-1.6.5 $ ./configure --prefix=~/apache2/apr-1.6.5 ~/tmp/apr-util-1.6.1 $ ./configure --prefix=~/apache2/apr-util-1.6.1 --with-apr=~/apache2/apr-1.6.5 ~/tmp/httpd-2.4.41 $ ./configure --prefix=~/apache2/httpd --with-apr=~/apache2/apr-1.6.5 --with-apr-util=~/apache2/apr-util-1.6.1
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問