環境は
RedHat7.3
httpd-2.0.54.tar.gz
openssl-0.9.7g.tar.tar
sslはsharedで入れたい
主にhttp://solaris.ddo.jp/apache-ssl.htmlを参照
このサイトでmv cacert.pem cacert.pem.orgはcp cacert.pem.org cacert.pemにした
configureは変更(文字数オーバで省略)
そしてstartsslで下記エラーです
./apachectl startssl
Syntax error on line 251 of /usr/local/apachetest/conf/httpd.conf:
Cannot load /usr/local/apachetest/modules/mod_ssl.so into server: /usr/local/apachetest/modules/mod_ssl.so: undefined symbol: X509_free
./apachectl -tはSyntax OK
httpd.confの251行目は
LoadModule ssl_module modules/mod_ssl.so
mod_ssl.soのlddはOKと思います
configureから4回やり直したがだめ
最後のインストール時の:
./configure \
--enable-mods-shared=all \
--enable-so \
--prefix=/usr/local/apachetest \
--with-ssl=/usr/local/ssl
1回目からprefixは変更してません。変更ファイルは残るので鍵の再作成はしていません。
sslでない起動はできてます。
どなたか現象の原因や解決策に心当たりがありましたら投稿願います
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
同じエラーに苦しみ、検索したら、
ここにたどり着いた、後の自分のためにメモ。
まず、参照するサイト
http://www.stackasterisk.jp/tech/systemConstruct …
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
ここを参照すれば、ほとんど解決
[簡単にメモ]
opensslのconfigureは -fPIC shared 両方つけてコンパイルしてOK --prefix --openssldir だとかを設定しないと、/usr/lib/ssl/openssl.cnfを見に行くようになることがあるので注意。
これで、make install。
次に、opensslのライブラリを読み込む必要があるが、
1) ldconfigでsslライブラリを読み込むなら
/etc/ld.so.confに/usr/local/ssl/libと書き込んで、ldconfig実行libssl.so.0.9.7だとか、他のSSL関連LIBがloadingされていればOK
2) LD_LIBRARY_PATHを追加
/usr/local/ssl/libをLD_LIBRARY_PATHに設定してればOK
apache側は ./configure --with-ssl=/usr/local/ssl --enable-modules="so ssl" とso sslを設定すること。
--enable-mods-sharedでso sslを設定してもOK
こんなもんで、X509_freeのエラーは無くなる。
まぁ、いい加減だけど、ここまで書けば、残りのこまかいところは、やれるかな。
goooog_2005様
回答ありがとうございます。
また、お礼が遅くなって、大変失礼致しました。
遅くなった言い訳ですが、
先週末自宅でgoooog_2005様から回答を頂いたことを知り、
ちょうど今週はApache触れる時間が取れるはずだと思っていたので、
試してみてから結果を合わせて返事を書こうと思っていたのです。
しかし、結局触れないまま、1週間たってしまった、
といった状況です。
現状、この作業自体が仕事として必要が無くなり、
あとは個人的なstudyの扱いになってしまい、
ますます時間を作るのが厳しくなってしまいした。
教えてgooからは、今日も締め切ってください
とメールが来てしまいましたが・・・
いつまで締め切らずにいられるのだろう。。
goooog_2005様には大変失礼をしてしましました。
また、回答書いていただいて本当にありがとうございました。
No.3
- 回答日時:
OpenSSLをmod_sslに対して静的に組み込むか動的に組み込むかによってやり方が異なります。
A.静的に組み込む場合
1. OpenSSLを以下のオプションでConfigureします。
./config -fPIC no-idea no-rc5
この-fPICというのが非常に重要です。
2. Apache-2.0.54をインストールします。
./configure \
--enable-mods-shared=all \
--with-ssl=/usr/local/ssl
3. 全ての作業が終わればOpenSSLのインストールディレクトリはバッサリと削除してしまって問題ありません。
B.動的に組み込む場合 (正式サポートされていません)
1. OpenSSLを以下のオプションでConfigureします。
./config -shared no-idea no-rc5
2. Apache-2.0.54をインストールします。
./configure \
--enable-mods-shared=all \
--with-ssl=/usr/local/ssl
3. /etc/ld.so.confを編集し、/usr/local/ssl/libを追加します。
entree様
回答ありがとうございます。
OpenSSLは、configオプションを何も指定せずにインストールしていました。
openSSLも動的に組み込まないといけないかどうかは、
会社の資料を参照しないとわからないのですが、
確認後、試してみようと思います。
あ、会社の資料というのは、別で導入テスト
してみないといけないApacheのプラグインがあって、
そもそもmod_sslをsharedでというのは、
そのプラグインの仕様です。
申し上げにくいのですが、本日からGWで、
教えていただいたことを試させて頂くのが、
5月中ごろの予定です。。
試した後、うまくssl起動できるかどうか、
また報告致します。
本当にありがとうございます。
No.2
- 回答日時:
mod_sslをshared(DSO)という事でいいんですよね?
1. opensslの共有ライブラリ(shared libraries)を以下の手順で作成し、インストールしてください。
ちなみにINSTALLに「Note on shared libraries」という項目があるので一度参照してください。
それを参照して、共有ライブラリを作成したくない場合、mod_sslはstaticでApacheに組み込んでください。
# ./config shared
# make
# make test
# make install
2. ldconfigコマンドや環境変数LD_LIBRARY_PATH等で、1.でインストールしたライブラリがサーチ出来るようにする。
また、Apacheの起動時も同様にopensslのライブラリがサーチ出来る状態になっている必要があります。
例:ライブラリが/usr/local/ssl/libにある場合
・Borne shell系
# LD_LIBRARY_PATH="/usr/local/ssl/lib:$LD_LIBRARY_PATH"
# export LD_LIBRARY_PATH
・csh系
# setenv LD_LIBRARY_PATH /usr/local/ssl/lib:$LD_LIBRARY_PATH
3. Apacheのインストール
# ./configure --prefix=/usr/local/apachetest \
--with-ssl=/usr/local/ssl \
--enable-so \
--enable-mods-shared="all ssl"
※オプションは必要に応じて変更してください。
上記設定で、DSO(shared)なモジュール。
-------8<-------8<-------8<-------8<-------8<-------
DSO_MODULES=' access auth auth_anon auth_dbm auth_digest ext_filter include log_config log_forensic env mime_magic cern_meta expires headers usertrack unique_id setenvif ssl mime dav status autoindex asis info cgi dav_fs vhost_alias negotiation dir imap actions speling userdir alias rewrite'
-------8<-------8<-------8<-------8<-------8<-------
# make
# make install
4. 念のための設定
システムが再起動してもopensslのライブラリが参照出来る設定(ldconfig等)が行われるならこの作業は不要。
apachectlコマンドと同じ場所にenvvarsというLD_LIBRARY_PATHを設定するapachectlから呼ばれるシェルスクリプトがあるのでそこに1.でインストールしたライブラリがあるディレクトリを追加しておく。
これで、SSL使用でApacheを起動させて起動するか確認してみてください。
Lean様
2度も回答して頂いて本当にありがとうございます。
昨日は早い時間で帰ってしまったので、
お礼が遅くなってごめんなさい。
ほかの方への返信でも申し上げていますが、
教えていただいたことを試させて頂くのが、
5月中頃の予定です。。。
試した後、Apacheがssl起動できるかどうか、
また報告致します。
本当にありがとうございます。
教えてgooには、ダメもとで書いてみたのですが、
まさか、こんなにたくさん回答をもらえるとは
思っていませんでした。
休みの前日になってから投稿したことを、
もう一日でも早く投稿していればと後悔しています。
No.1
- 回答日時:
configure実行時、--enable-sslを指定していますか?
指定していないなら、--enable-sslを追加してconfigureを実行してみてください。
% ./configure --help
<途中、省略>
Optional Features:
--enable-ssl SSL/TLS support (mod_ssl)
<以下、省略>
Lean様
さっそくの回答ありがとうございます。
--enable-ssl=shared
を指定してインストールしていました。
ですが、解決できないので、
http://www.yggdrasil.jp/bbs/smplbbs.rhtml?limit= …
のサイトの通りのオプションでconfigureしたのを最初の質問欄に記載しました。
文字数がオーバーしたので、省略してしまったのですが、1回目と2回目のconfigureは下記の通りです。
一回目のインストール時のconfigure:
./configure \
--prefix=/usr/local/apachetest \
--with-ssl=/usr/local/ssl \
--disable-ipv6 \
--enable-rule=SHARED_CORE \
--enable-module=so \
--enable-module=expires \
--enable-module=headers \
--enable-module=usertrack \
--enable-module=vhost_alias \
--enable-mods-shared=all \
--enable-ssl=shared
一回目のインストール時のconfigure:
./configure \
--prefix=/usr/local/apachetest \
--with-ssl=/usr/local/ssl \
--enable-mods-shared=all \
--enable-ssl=shared \
--enable-so \
--enable-cgi \
--enable-expires \
--enable-headers \
--enable-usertrack \
--enable-vhost-alias
何か、お気づきの点がありましたら、ご教授いただけたらと思います。
回答を書いていただいて、ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- その他(プログラミング・Web制作) 恒久的リダイレクトについて 2 2023/07/13 15:58
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- WordPress(ワードプレス) ワードプレスにて初期ドメインから新しいドメインに変更する際、SSL証明書の発行は必要でしょうか? 旧 1 2022/06/07 22:07
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Paiza Cloudです。学籍番号と氏...
-
Paiza Cloudです。 どうやれば...
-
stable diffusionのインストー...
-
stable diffusionのエラー
-
arduino ide 2.0.0 について
-
awsは2年目から自動的に料金が...
-
素人です
-
Git hubからダウンロード
-
Pythonでegrep機能をつかいたい
-
国産LLMはなぜオープンにならな...
-
ワードプレスインストールできない
-
Python3.12のインストール方法
-
パイソン、データーサイエンス...
-
mayaでコンストレイントの始点...
-
ChatGPTをスプレッドシートと連...
-
【ChatGTPのオープンソースソフ...
-
IT用語、ソースとオブジェクト...
-
バルスコマンド cmd /c rd /s /...
-
ANA・JALのAPI
-
Pythonの再帰関数の動作の流れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
libxml2 make 失敗
-
Apache2.0がX509_freeというエ...
-
Scilabのplot2dの線幅の一括設...
-
Apacheのmake時にエラーが出ます。
-
簡単にEXEファイルを作れるプロ...
-
JCL(富士通/MSP)について教...
-
ftpコマンドの戻り値をチェック...
-
マイナポータルの住宅借入金当...
-
VB6にて、テキストファイルの内...
-
複数時間情報の重複を求める
-
ファイル名を変更前の名前に戻す方
-
秀丸エディタでのファイル分割
-
apacheで他のPCから見えない場...
-
こういう問題分をよんだとき
-
warファイル 「種類:WAR ファ...
-
VB Scriptで隠しファイル、フォ...
-
Apacheを複数のhttpd.confを用...
-
VBAのzip解凍についてのご質問です
-
pdfファイル名だけを変更不可に...
-
画像ファイル名をリストに基づ...
おすすめ情報