zoukankan      html  css  js  c++  java
  • apache & ssl & tomcat

    以下内容摘自:http://www.deer-n-horse.jp/linux/server/apache-ssl-tomcat/index.html

    apache & ssl & tomcat


    Apache と SSL と Tomcat をまぜたWebアプリケーションサーバの構築記。
    ここまで来るとなんだか幕の内弁当みたいな心境だ...なぜだろう。

    RPMでインストールしてもいいのだけど今回の案件は /usr/local にぶちこんでくれ、 とのことなのでソースからコンパイル/インストールすることにする。

    ★用意するもの★
    • apache
      http://www.apache.orgから今回は version 1.3.19 を利用する。
    • OpenSSL
      http://www.openssl.orgから今回は version 0.9.6 を利用する。
    • apache+ssl
      http://www.apache-ssl.orgから 今回は apache_1.3.19+ssl_1.42 を利用する。
    • tomcat
      http://jakarta.apache.orgから version 3.2.1 を利用する。
      ソースからコンパイルするためには XMLパーサ などのライブラリが必要だが コンパイルできなかったためにバイナリもダウンロードする。
      ソースはソースで apache 経由で利用するときに使用するのでダウンロード しておく方が無難。
    注意: Java動作環境はすでに整っているものとする。

    ★調理方法★

    手順としては以下の順序で行ってみよう♪
    1. Tomcat をインストールして実行できるか確認する。
    2. apache+ssl をコンパイル/インストールして動作を確認する。
    3. apache+ssl 経由で Tomcat にアクセスできるよう設定し、動作を確認する。
    1. Tomcat をインストールして実行できるか確認する。

    インストール対象ディレクトリに Tomcat バイナリアーカイブを展開する。

    # cd /usr/local/ ; tar xfvz /usr/local/src/jakarta-tomcat-3.2.1.tar.gz

    個人的な問題であるが解凍後のディレクトリ名がバージョンを含んでいるので改名するか シンボリックリンクをはる。

    # cd /usr/local/jakarta-tomcat-3.2.1 /usr/local/jakarta-tomcat

    以上♪。
    お近くのブラウザから http://[TargetURL]:8080/ を叩いてTomcatのサンプルページが出る ことを確認すること。



    2. apache+ssl をコンパイル/インストールして動作を確認する。

    コンパイルディレクトリを /usr/local/src にするとして、 apache と apache+ssl を解凍する。

    # cd /usr/local/src
    # tar xfvz /usr/local/src/apache-1.3.19.tar.gz
    # cd apache-1.3.19/ ; tar xfvz /usr/local/apache_1.3.19+ssl_1.42.tar.gz

    注意:OpenSSL がインストールされていなかったらインストールするように。

    SSLなしのapacheを立てる時と区別できるようにディレクトリ名を変更する。

    # cd /usr/local/apache-1.3.19 /usr/local/src/apache_1.3.19+ssl_1.42

    展開したディレクトリで apache のソースに SSL用パッチを当てる。

    # patch -p1 < SSLpatch

    apache をコンパイルする。
    今回はインストール先を /usr/local/apache+ssl と prefix オプションを configure にあてる。
    その他にデフォルト configure では DSO(Dynamic Shared Object)サポートにならないのでそのオプション も当てることにする。

    # ./confiure --prefix=/usr/local/apache+ssl --enable-module=all --enable-shared=max

    コンパイル/インストールする。

    # make ; make install

    bin/ ディレクトリに httpsd ができたことを確認する。

    そのままでは httpsd は動かないので apache+ssl のソースディレクトリにある SSLconf/conf/httpsd.conf を /usr/local/apache+ssl/conf/ssl.conf にコピーする。

    # cp /usr/local/src/apache_1.3.19+ssl_1.42/SSLconf/conf/httpsd.conf /usr/local/apache+ssl/conf/ssl.conf

    /usr/local/apache+ssl/conf/httpsd.conf に以下の一行を追加する。

    Include conf/ssl.conf

    conf/ssl.conf を編集。
    /usr/local/apache+ssl/conf/httpd.conf と同じ項目が若干記述されているので変更する。

    apacheインスタンスの権限やドキュメントルート、サーバ名そしてロードモジュールなどが本体の httpsd.conf と コンフリクトするのでそれをコメントアウトして、OpenSSLで作成する証明書のパスを記述する。

    参考までに...ssl.conf

    証明書を作成する。とりあえずダミーな証明書を作る。
    スクリプト用意してみた。gendummycerts

    できた証明書は ssl.conf に記述してあるパスにしまっておきましょう。

    libssl.so を ssl.conf に記述したため、 /usr/local/src/apache_1.3.19+ssl_1.42/modules/ssl/ から /usr/local/apache+ssl/libexec にコピーする。
    注意: 本来 apache_ssl.so があればいらない行動なのだが実行時にエラーが出たため apache_ssl.so の 読み込みを httpsd.conf で外した。どっちでもいいだろぅ。

    httpsd を動かしてみる。
    -c オプションで設定ファイル httpsd.conf を指定すればいいけど SystemV に乗っ取り initスクリプトを つくったのでそれに合わせ、 httpsd.conf から httpd.conf にシンボリックリンクをはる。

    httpsd を /usr/sbin にコピーして実行してみる。

    # cp /usr/local/apache+ssl/bin/httpsd /usr/sbin/httpsd
    # /etc/rc.d/init.d/httpsd start

    エラーが出るようでしたら設定を直してください。
    多分設定の問題です。LoadModule とかの...

    動作確認。
    お近くのブラウザで https://[TargetURL] に叩く。



    あ、デフォルトで index.html が htdocs/ にないので適当な index.html.ja.jis でも index.html に シンボリックリンク張ってみてください。

    3. apache+ssl 経由で Tomcat にアクセスできるよう設定し、動作を確認する。

    Tomcat を apache 経由で叩くには mod_jk.so をapacheに加える必要があります。
    /usr/local/src/ に jakarta-tomcat-3.2.1-src.tar.gz を展開してコンパイルします。

    # cd /usr/local/src/ ; tar xfvz /usr/local/src/jakarta-tomcat-3.2.1-src.tar.gz

    mod_jk.so を作るディレクトリへ移動。

    # cd /usr/local/src/jakarta-tomcat-3.2.1-src/src/native/apache1.3/

    ここで Makefile.linux というのがあるからこれを Makefile にシンボリックリンクをはり編集する。

    修正箇所は APXS= のところ。 APXS=/usr/local/apache+ssl/bin/apxs にして、

    # make

    で mod_jk.so が作られる。
    注意: ここでエラーがかえって来るのは apache をコンパイルするときに DSO サポートが付いていない からだと思われる。apacheのコンパイルからやり直してください。

    mod_jk.so を apache が読める所におく。

    # cp /usr/local/src/jakarta-tomcat-3.2.1-src/src/native/apache1.3/mod_jk.so /usr/local/apache+ssl/libexec

    apache+ssl の設定ファイル httpd.conf の最後に以下の一行を追加する。

    Include /usr/local/jakarta-tomcat/conf/mod_jk.conf-auto

    mod_jk.conf というファイルもあるがLinuxでは-auto付きファイルを使うほうが楽♪。
    mod_jk.conf-auto に mod_jk.so のパスを書くところがあるのでそれが間違っていたら編集すること。

    tomcat と apache+ssl を再起動する。

    # /usr/local/jakarta-tomcat/bin/tomcat.sh start
    # /etc/rc.d/init.d/httpsd restart

    お近くのブラウザで https://[TargetURL]/examples/ を打つと認証画面がでてサンプルを見れるようになる。
    ちゃんと鍵アイコンがかかっていますねぇ♪。



    ★参考資料★
  • 相关阅读:
    python爬虫--requests模块
    相关基础概念
    python--用python操作Git
    celery异步,延时任务, 周期任务
    Ansible剧本中的角色—playbook中的roles
    Ansible中的剧本 ansible--playbook
    ansible模块总结2-- file, fetch, yum, pip, service, cron, user, group
    Ansible--安装,命令格式, ssh, command, shell, script, copy
    python--openpyxl模块使用, 对excel表格的操作
    Git使用02--branch分支, tag版本, 忽略文件 .gitingore
  • 原文地址:https://www.cnblogs.com/sun_moon_earth/p/730794.html
Copyright © 2011-2022 走看看