web-dev-qa-db-ja.com

AUTHBIND:RedHatホスト上のTomcat6でauthbindできません

Tomcat6.0.39がインストールされたredhatLinuxサーバーがあります。 Webアプリケーションをデプロイしてサーバーを公開する前に、Tomcatユーザーを80ポートにバインドしてTomcat起動スクリプトを実行する方法を学びたいと思います。

これは私がこれまでに行ったことです:

  1. ポート8080-> 80を変更しました。 server.xmlの8443-> 443
  2. Tomcatディレクトリは私のTomcatユーザーが所有しています。
  3. Authbindをインストールしました。
  4. / etc/authbind/byportの下に、2つのファイル80、443を作成して実行可能にし、所有者をTomcatに変更しました。
  5. Startup.sh内で、(exec "$ PGDIR"/"$ EXECUTABLE" start "$ @")を( "exec authbind --deep" $ PGDIR "/" $ EXECUTABLE "start" $ @ ")に変更しました。

    これらの手順を実行した後(ほとんどの記事で指示されていることとほぼ同じです)、Tomcatを起動すると、ポート80、443をバインドできないと文句を言って、許可が拒否されます。

    何か助けていただければ幸いです、ありがとう!

2
user3513075

私はあなたを助けるかもしれないこれらのわずかに異なるステップを見つけました。

  1. Authbindをインストールします
  2. ポート80をauthbindで使用できるようにします(rootである必要があります)。

    $ Sudo touch /etc/authbind/byport/80
    $ Sudo chmod 500 /etc/authbind/byport/80
    $ Sudo chown glassfish /etc/authbind/byport/80
    
  3. IPv4をデフォルトにします(authbindは現在IPv6をサポートしていません)。これを行うには、次の内容のファイルTomcat/bin/setenv.shを作成します。

    CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
    
  4. startup.shを変更します

    exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"
    # OLD: exec "$PRGDIR"/"$EXECUTABLE" start "$@"
    

参考文献

4
slm